17 #ifndef VCSN_TOOLS_CONTAINER_OPS_HXX
18 # define VCSN_TOOLS_CONTAINER_OPS_HXX
28 template<
typename S,
typename T>
29 typename T::iterator op_begin (
const Structure<S>&,
35 template<
typename S,
typename T>
36 typename T::iterator op_end (
const Structure<S>&,
42 template<
typename S,
typename T>
43 typename T::const_iterator op_begin_const (
const Structure<S>&,
49 template<
typename S,
typename T>
50 typename T::const_iterator op_end_const (
const Structure<S>&,
56 template<
typename S,
typename T>
57 typename T::reverse_iterator op_rbegin (
const Structure<S>&,
63 template<
typename S,
typename T>
64 typename T::reverse_iterator op_rend (
const Structure<S>&,
70 template<
typename S,
typename T>
71 typename T::const_reverse_iterator op_rbegin_const (
const Structure<S>&,
77 template<
typename S,
typename T>
78 typename T::const_reverse_iterator op_rend_const (
const Structure<S>&,
84 template<
typename S,
typename T>
85 bool op_empty (
const Structure<S>&,
91 template<
typename S,
typename T>
92 size_t op_size (
const Structure<S>&,
98 template<
typename S,
typename T>
99 size_t op_max_size (
const Structure<S>&,
102 return v.max_size ();
105 template<
typename S,
typename T,
typename U>
106 bool op_contains_e (
const Structure<S>&,
const T& v,
109 return std::find (v.begin (), v.end (), c) != v.end ();
112 template<
typename S,
typename T,
typename U>
113 void op_insert (
const Structure<S>&, T& v,
119 template<
typename S,
typename T>
120 bool op_is_finite (
const Structure<S>&,
129 #endif // ! VCSN_TOOLS_CONTAINER_OPS_HXX