18 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_MONOID_STR_WORDS_HH 
   19 # define VCSN_ALGEBRA_IMPLEMENTATION_MONOID_STR_WORDS_HH 
   24 # include <vaucanson/algebra/implementation/monoid/free_monoid.hh> 
   25 # include <vaucanson/algebra/implementation/alphabets/alphabet_set.hh> 
   38              std::basic_string<typename A::letter_t>& v,
 
   39              const std::string& in);
 
   43     op_in_mul(
const algebra::FreeMonoid<A>& s,
 
   44               std::basic_string<typename A::letter_t>& dst,
 
   45               const std::basic_string<typename A::letter_t>& src);
 
   48     std::basic_string<typename A::letter_t>
 
   49     op_mul(
const algebra::FreeMonoid<A>& s,
 
   50            const std::basic_string<typename A::letter_t>& a,
 
   51            const std::basic_string<typename A::letter_t>& b);
 
   53     template<
typename A, 
typename St, 
typename U, 
typename V>
 
   57             const std::basic_string<typename A::letter_t, U, V>& v);
 
   60     const std::basic_string<typename A::letter_t>&
 
   61     identity_value(
SELECTOR(algebra::FreeMonoid<A>),
 
   62                    SELECTOR(std::basic_string<typename A::letter_t>));
 
   66     std::basic_string<typename A::letter_t>
 
   67     op_convert(
SELECTOR(algebra::FreeMonoid<A>),
 
   68                SELECTOR(std::basic_string<typename A::letter_t>),
 
   69                const typename A::letter_t& c);
 
   71     template<
typename A, 
typename B, 
typename C, 
typename D>
 
   73     op_is_atom(
const algebra::FreeMonoid<A>&,
 
   74                const std::basic_string<B, C, D>& v);
 
   86                        std::basic_string<typename A::letter_t> >
 
   93               std::basic_string<typename alphabet_t::letter_t> > 
word_t;
 
  100                                        typename alphabet_t::value_t>
:: 
  105                                        typename alphabet_t::value_t>
:: 
  116               std::basic_string<
typename first_projection_alphabet_t::
 
  124               std::basic_string<
typename second_projection_alphabet_t::
 
  145 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB 
  146 #  include <vaucanson/algebra/implementation/monoid/str_words.hxx> 
  147 # endif // ! VCSN_USE_INTERFACE_ONLY 
  149 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_MONOID_STR_WORDS_HH