00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VCSN_AUTOMATON_IMPLEMENTATION_BMIG_BOOST_FUNCTORS_HXX
00019 # define VCSN_AUTOMATON_IMPLEMENTATION_BMIG_BOOST_FUNCTORS_HXX
00020
00021 # include <vaucanson/automata/implementation/bmig/bmig_functors.hh>
00022 # include <vaucanson/automata/implementation/bmig/initial_value.hh>
00023
00024 namespace vcsn
00025 {
00026 namespace bmig
00027 {
00028
00029
00030
00031
00032
00033 template<typename HLabel>
00034 update_hlabel<HLabel>::update_hlabel(const HLabel& i_)
00035 : i(i_)
00036 {}
00037
00038 template<typename HLabel>
00039 void
00040 update_hlabel<HLabel>::operator()(HLabel &key)
00041 {
00042 key = i;
00043 }
00044
00045
00046 template<typename HState, typename Series>
00047 update_label<InitialValue<HState, Series> >::update_label(const Series& i_)
00048 : i(i_)
00049 {
00050 }
00051
00052 template<typename HState, typename Series>
00053 void
00054 update_label<InitialValue<HState, Series> >::operator()(InitialValue<HState, Series>& elt)
00055 {
00056 elt.second = i;
00057 }
00058
00059 }
00060 }
00061
00062 #endif // ! VCSN_AUTOMATON_IMPLEMENTATION_BMIG_BOOST_FUNCTORS_HXX
00063