00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGORITHMS_KRAT_EXP_DERIVATION_HH
00018 # define VCSN_ALGORITHMS_KRAT_EXP_DERIVATION_HH
00019
00030
00031
00032
00033
00034 # include <vaucanson/design_pattern/design_pattern.hh>
00035
00036 # include <utility>
00037
00038 namespace vcsn {
00039
00042
00043 template <class Series, class T, class Letter>
00044 std::pair<Element<Series, T>, bool>
00045 derivate(const Element<Series, T>& exp,
00046 Letter a);
00047
00049 template <class Series, class T, class Word>
00050 std::pair<Element<Series, T>, bool>
00051 word_derivate(const Element<Series, T>& exp,
00052 Word a);
00053
00056 }
00057
00058 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00059 # include <vaucanson/algorithms/krat_exp_derivation.hxx>
00060 # endif // VCSN_USE_INTERFACE_ONLY
00061
00062 #endif // ! VCSN_ALGORITHMS_KRAT_EXP_DERIVATION_HH