18 #ifndef VCSN_ALGEBRA_CONCEPT_ALPHABETS_BASE_HXX
19 # define VCSN_ALGEBRA_CONCEPT_ALPHABETS_BASE_HXX
50 template<
typename S,
typename T>
54 return op_size(this->structure(), this->value());
57 template<
typename S,
typename T>
61 return op_max_size(this->structure(), this->value());
64 template<
typename S,
typename T>
68 return op_contains_e(this->structure(), this->value(), l);
71 template<
typename S,
typename T>
75 return op_is_finite(this->structure(), this->value());
78 template<
typename S,
typename T>
82 return op_begin(this->structure(), this->value());
85 template<
typename S,
typename T>
89 return op_begin_const(this->structure(), this->value());
92 template<
typename S,
typename T>
96 return op_end(this->structure(), this->value());
99 template<
typename S,
typename T>
103 return op_end_const(this->structure(), this->value());
106 template<
typename S,
typename T>
110 op_insert(this->structure(), this->value(), l);
113 template<
typename S,
typename T>
117 op_insert(this->structure(), this->value(), algebra::letter_traits<letter_t>::literal_to_letter(lit).second);
120 template<
typename S,
typename T>
128 template<
typename S,
typename T>
133 precondition (is_finite());
134 precondition (size() > 0);
139 for (
int k = 0; k < nr; ++k)
145 template <
class S,
typename T>
153 template<
typename S,
typename T>
157 template<
typename S,
typename T>
165 template <
typename S,
typename L>
170 static_error(no_op_parse_operator_available);
174 template <
typename S,
typename T,
typename L>
183 template<
typename S,
typename St,
typename T>
188 if (op_is_finite(s.
self(), a))
189 for (
typename op_begin_traits<S, T>::const_ret_t i = op_begin_const(s.
self(), a);
190 i != op_end_const(s.
self(), a);
193 if (i != op_begin_const(s.
self(), a))
195 st << algebra::letter_traits<typename S::letter_t>::letter_to_literal(*i);
198 st <<
"<many letters>";
207 template <
typename S,
typename T>
208 std::pair<bool, typename Element<S, T>::letter_t>
210 const std::string& s)
215 std::pair<bool, letter_t> res =
226 #endif // ! VCSN_ALGEBRA_CONCEPT_ALPHABETS_BASE_HXX