17 #ifndef VCSN_AUTOMATA_CONCEPT_HANDLERS_HXX
18 # define VCSN_AUTOMATA_CONCEPT_HANDLERS_HXX
20 # include <vaucanson/automata/concept/handlers.hh>
25 template<
typename Tag,
typename Type>
26 handler<Tag, Type>::handler() : v_(Type())
29 template<
typename Tag,
typename Type>
30 handler<Tag, Type>::handler(
const Type& h) : v_(h)
33 template<
typename Tag,
typename Type>
34 handler<Tag, Type>::handler(
const handler<Tag, Type>& h) : v_(h.v_)
37 template<
typename Tag,
typename Type>
39 handler<Tag, Type>::operator=(
const handler<Tag, Type>& h)
45 template<
typename Tag,
typename Type>
46 Type handler<Tag, Type>::value()
const
51 template<
typename Tag,
typename Type>
53 handler<Tag, Type>::is_valid()
const
60 #define HOPERATOR(Op) \
61 template<typename Tag, typename Type> \
62 bool operator Op (const handler<Tag, Type>& h1, \
63 const handler<Tag, Type>& h2) \
64 { return h1.value() Op h2.value(); }
77 template <
typename Tag,
typename Type>
79 operator<<(std::ostream& out, const vcsn::handler<Tag, Type>& h)
88 #endif // ! VCSN_AUTOMATA_CONCEPT_HANDLERS_HXX