27 #ifndef SMDS_SetIterator_HeaderFile
28 #define SMDS_SetIterator_HeaderFile
38 template<
typename VALUE,
typename VALUE_SET_ITERATOR>
40 static VALUE
value(VALUE_SET_ITERATOR it) {
return (VALUE) *it; }
43 template<
typename VALUE,
typename VALUE_SET_ITERATOR>
45 static VALUE
value(VALUE_SET_ITERATOR it) {
return (VALUE) it->first; }
48 template<
typename VALUE,
typename VALUE_SET_ITERATOR>
50 static VALUE
value(VALUE_SET_ITERATOR it) {
return (VALUE) it->second; }
61 template<
typename VALUE,
62 typename VALUE_SET_ITERATOR,
70 const VALUE_SET_ITERATOR & end)
71 {
init ( begin, end ); }
74 virtual void init(
const VALUE_SET_ITERATOR & begin,
75 const VALUE_SET_ITERATOR & end)
82 virtual VALUE
next() {
return ACCESOR::value(
_beg++ ); }
95 SMDS::ValueAccessor<typename M::mapped_type,
96 typename M::const_iterator> > {
97 typedef SMDS_SetIterator<
typename M::mapped_type,
typename M::const_iterator,
107 typename M::const_reverse_iterator,
108 SMDS::ValueAccessor<typename M::mapped_type,
109 typename M::const_reverse_iterator> > {
110 typedef SMDS_SetIterator<
typename M::mapped_type,
typename M::const_reverse_iterator,
120 SMDS::KeyAccessor<typename M::key_type,
121 typename M::const_iterator> > {
132 SMDS::KeyAccessor<typename M::key_type,
133 typename M::const_iterator> > {