17 #ifndef VCSN_TOOLS_CONTAINER_OPS_HH
18 # define VCSN_TOOLS_CONTAINER_OPS_HH
36 template<
typename S,
typename T>
37 struct op_begin_traits
39 typedef typename T::iterator ret_t;
40 typedef typename T::const_iterator const_ret_t;
43 template<
typename S,
typename T>
44 struct op_rbegin_traits
46 typedef typename T::reverse_iterator ret_t;
47 typedef typename T::const_reverse_iterator const_ret_t;
50 template<
typename S,
typename T>
51 typename T::iterator op_begin (
const Structure<S>& s,
54 template<
typename S,
typename T>
55 typename T::iterator op_end (
const Structure<S>& s,
58 template<
typename S,
typename T>
59 typename T::const_iterator op_begin_const (
const Structure<S>& s,
62 template<
typename S,
typename T>
63 typename T::const_iterator op_end_const (
const Structure<S>& s,
66 template<
typename S,
typename T>
67 typename T::reverse_iterator op_rbegin (
const Structure<S>& s,
70 template<
typename S,
typename T>
71 typename T::reverse_iterator op_rend (
const Structure<S>& s,
74 template<
typename S,
typename T>
75 typename T::const_reverse_iterator op_rbegin_const (
const Structure<S>& s,
78 template<
typename S,
typename T>
79 typename T::const_reverse_iterator op_rend_const (
const Structure<S>& s,
82 template<
typename S,
typename T>
83 bool op_empty (
const Structure<S>& s,
86 template<
typename S,
typename T>
87 size_t op_size (
const Structure<S>& s,
90 template<
typename S,
typename T>
91 size_t op_max_size (
const Structure<S>& s,
94 template<
typename S,
typename T,
typename U>
95 bool op_contains_e (
const Structure<S>& s,
const T& v,
98 template<
typename S,
typename T,
typename U>
99 void op_insert (
const Structure<S>& s, T& v,
102 template<
typename S,
typename T>
103 bool op_is_finite (
const Structure<S>& s,
109 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
110 # include <vaucanson/misc/container_ops.hxx>
111 # endif // VCSN_USE_INTERFACE_ONLY
114 #endif // ! VCSN_TOOLS_CONTAINER_OPS_HH