18 #ifndef VCSN_ALGEBRA_CONCEPT_FREEMONOID_BASE_HH
19 # define VCSN_ALGEBRA_CONCEPT_FREEMONOID_BASE_HH
22 # include <vaucanson/algebra/concept/monoid_base.hh>
50 typedef typename virtual_types<Self>::alphabet_t
alphabet_t;
53 typedef typename alphabet_t::letter_t
letter_t;
82 struct dynamic_traits<algebra::FreeMonoidBase<Self> >
83 : dynamic_traits<algebra::MonoidBase<Self> >
87 struct virtual_types<algebra::FreeMonoidBase<S> >
88 : virtual_types<algebra::MonoidBase<S> >
90 typedef undefined_type alphabet_t;
98 template<
class Self,
typename T>
103 typedef typename op_begin_traits<Self, T>::ret_t
iterator;
117 size_t length()
const;
155 template<
typename S,
typename T>
164 template <
typename S,
typename T>
167 const std::string& s);
174 template <
typename S,
typename T>
179 template<
typename Self,
typename T>
182 template<
typename Self,
typename T>
185 template<
typename Self,
typename St,
typename T>
192 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
193 # include <vaucanson/algebra/concept/freemonoid_base.hxx>
194 # endif // ! VCSN_USE_INTERFACE_ONLY
196 #endif // ! VCSN_ALGEBRA_CONCEPT_FREEMONOID_BASE_HH