00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef TOOL_VALUED_ITERATOR_HXX_
00023 # define TOOL_VALUED_ITERATOR_HXX_
00024
00025 # include "valued_iterator.hh"
00026
00027 namespace tool
00028 {
00029
00030 template <class B>
00031 valued_iterator<B>::~valued_iterator()
00032 {
00033 }
00034
00035 template <class B>
00036 const typename valued_iterator<B>::value_type&
00037 valued_iterator<B>::get() const
00038 {
00039 return value().get();
00040 }
00041
00042 template <class B>
00043 typename valued_iterator<B>::value_type&
00044 valued_iterator<B>::get()
00045 {
00046 return value().get();
00047 }
00048
00049 template <class B>
00050 const typename valued_iterator<B>::value_type*
00051 valued_iterator<B>::get_ptr() const
00052 {
00053 return value().get_ptr();
00054 }
00055
00056 template <class B>
00057 typename valued_iterator<B>::value_type*
00058 valued_iterator<B>::get_ptr()
00059 {
00060 return value().get_ptr();
00061 }
00062
00063 template <class B>
00064 const typename valued_iterator<B>::optional_value&
00065 valued_iterator<B>::value() const
00066 {
00067 return v_;
00068 }
00069 template <class B>
00070 typename valued_iterator<B>::optional_value&
00071 valued_iterator<B>::value()
00072 {
00073 return v_;
00074 }
00075
00076 }
00077
00078 #endif // ! TOOL_VALUED_ITERATOR_HXX_