00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_ALPHABETS_ALPHABET_SET_HXX
00018 # define VCSN_ALGEBRA_IMPLEMENTATION_ALPHABETS_ALPHABET_SET_HXX
00019
00020 # include <vaucanson/algebra/concept/letter.hh>
00021 # include <vaucanson/algebra/implementation/alphabets/alphabet_set.hh>
00022
00023 # include <limits>
00024
00025 namespace vcsn
00026 {
00027
00028 namespace algebra
00029 {
00030
00031
00032
00033
00034
00035 template <typename L>
00036 size_t
00037 op_max_size(const algebra::AlphabetSet<L>&, const std::set<L>&)
00038 {
00039 return algebra::letter_traits<L>::cardinal;
00040 }
00041
00042 template<typename L>
00043 bool op_contains(const algebra::AlphabetSet<L>&, const std::set<L>&)
00044 {
00045 return true;
00046 }
00047
00048 template<typename L>
00049 bool op_is_finite(const algebra::AlphabetSet<L>&, const std::set<L>&)
00050 {
00051 return true;
00052 }
00053
00054 template<typename L>
00055 bool op_contains_e(const algebra::AlphabetSet<L>&, const std::set<L>& a,
00056 const L& v)
00057 {
00058 return a.find(v) != a.end();
00059 }
00060
00061 }
00062
00063 }
00064
00065 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_ALPHABETS_ALPHABET_SET_HXX