17 #ifndef VCSN_ALGEBRA_CONCEPT_SEMIRING_BASE_HH
18 # define VCSN_ALGEBRA_CONCEPT_SEMIRING_BASE_HH
20 # include <vaucanson/algebra/concept/monoid_base.hh>
77 template<
typename Self>
78 struct dynamic_traits<algebra::SemiringBase<Self> >
79 : dynamic_traits<algebra::MonoidBase<Self> >
83 struct virtual_types<algebra::SemiringBase<S> >
84 : virtual_types<algebra::MonoidBase<S> >
92 template <
typename Self,
typename T>
111 template <
typename S,
typename T>
122 template <
typename S,
typename T>
125 enum { is_positive = 0 };
129 template <
typename S,
typename T>
130 typename op_star_traits<S, T>::ret_t
134 template <
typename S,
typename T>
137 typename std::string::const_iterator&);
140 template <
typename S,
typename T>
151 template <
typename S,
typename T>
157 template <
typename S,
typename T>
162 template <
typename S,
typename T>
167 template <
typename S,
typename T>
171 typename std::string::const_iterator&);
173 template <
typename Self,
typename T>
176 template <
typename Self,
typename T>
179 template <
typename Self,
typename T>
186 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
187 # include <vaucanson/algebra/concept/semiring_base.hxx>
188 # endif // VCSN_USE_INTERFACE_ONLY
190 #endif // ! VCSN_ALGEBRA_CONCEPT_SEMIRING_BASE_HH