00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_AUTOMATA_IMPLEMENTATION_LISTG_LISTG_HANDLERS_HXX
00018 # define VCSN_AUTOMATA_IMPLEMENTATION_LISTG_LISTG_HANDLERS_HXX
00019
00020 # include <vaucanson/misc/contract.hh>
00021 # include <vaucanson/automata/implementation/listg/listg_handlers.hh>
00022
00023 namespace vcsn
00024 {
00025
00026 template<typename Tag>
00027 handler<Tag, unsigned>::handler() : v_(UINT_MAX)
00028 {}
00029
00030 template<typename Tag>
00031 handler<Tag, unsigned>::handler(unsigned h) : v_(h)
00032 {}
00033
00034 template<typename Tag>
00035 handler<Tag, unsigned>::handler(const handler<Tag, unsigned>& h) : v_(h.v_)
00036 {}
00037
00038 template<typename Tag>
00039 handler<Tag, unsigned>&
00040 handler<Tag, unsigned>::operator=(const handler<Tag, unsigned>& h)
00041 {
00042 v_ = h.v_;
00043 return *this;
00044 }
00045
00046 template<typename Tag>
00047 unsigned handler<Tag, unsigned>::value() const
00048 {
00049 return v_;
00050 }
00051
00052 template<typename Tag>
00053 handler<Tag, unsigned>::operator unsigned() const
00054 {
00055 return v_;
00056 }
00057
00058 template<typename Tag>
00059 bool
00060 handler<Tag, unsigned>::is_valid() const
00061 {
00062 return v_ != UINT_MAX;
00063 }
00064
00065 }
00066
00067 #endif
00068