17 #ifndef VCSN_AUTOMATA_CONCEPT_HANDLERS_HH
18 # define VCSN_AUTOMATA_CONCEPT_HANDLERS_HH
31 template<
typename Tag,
typename Type>
36 typedef handler<Tag, Type> self_t;
40 explicit handler(
const Type& h);
42 handler(
const self_t& h);
44 self_t& operator=(
const self_t& h);
48 operator unsigned()
const;
50 bool is_valid()
const;
57 template<
typename Tag,
typename Type>
58 bool operator==(
const handler<Tag, Type>& h1,
59 const handler<Tag, Type>& h2);
61 template<
typename Tag,
typename Type>
62 bool operator!=(
const handler<Tag, Type>& h1,
63 const handler<Tag, Type>& h2);
65 template<
typename Tag,
typename Type>
66 bool operator<(const handler<Tag, Type>& h1,
67 const handler<Tag, Type>& h2);
69 template<
typename Tag,
typename Type>
70 bool operator>(
const handler<Tag, Type>& h1,
71 const handler<Tag, Type>& h2);
73 template<
typename Tag,
typename Type>
74 bool operator<=(const handler<Tag, Type>& h1,
75 const handler<Tag, Type>& h2);
77 template<
typename Tag,
typename Type>
78 bool operator>=(
const handler<Tag, Type>& h1,
79 const handler<Tag, Type>& h2);
85 template <
typename Tag,
typename Type>
87 operator<<(std::ostream& out, const vcsn::handler<Tag, Type>& h);
92 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
93 # include <vaucanson/automata/concept/handlers.hxx>
94 #endif // VCSN_USE_INTERFACE_ONLY
97 #endif // ! VCSN_AUTOMATA_CONCEPT_HANDLERS_HH