28 #ifndef SMDS_SetIterator_HeaderFile
29 #define SMDS_SetIterator_HeaderFile
39 template<
typename VALUE,
typename VALUE_SET_ITERATOR>
41 static VALUE
value(VALUE_SET_ITERATOR it) {
return (VALUE) *it; }
44 template<
typename VALUE,
typename VALUE_SET_ITERATOR>
46 static VALUE
value(VALUE_SET_ITERATOR it) {
return (VALUE) it->first; }
49 template<
typename VALUE,
typename VALUE_SET_ITERATOR>
51 static VALUE
value(VALUE_SET_ITERATOR it) {
return (VALUE) it->second; }
58 template <
typename VALUE>
64 template <
typename VALUE>
78 template<
typename VALUE,
79 typename VALUE_SET_ITERATOR,
89 const VALUE_SET_ITERATOR & end,
90 const VALUE_FILTER& filter=VALUE_FILTER())
91 {
init ( begin, end, filter ); }
94 virtual void init(
const VALUE_SET_ITERATOR & begin,
95 const VALUE_SET_ITERATOR & end,
96 const VALUE_FILTER& filter=VALUE_FILTER())
112 VALUE ret = ACCESOR::value(
_beg++ );
129 SMDS::ValueAccessor<typename M::mapped_type,
130 typename M::const_iterator> > {
131 typedef SMDS_SetIterator<
typename M::mapped_type,
typename M::const_iterator,
141 typename M::const_reverse_iterator,
142 SMDS::ValueAccessor<typename M::mapped_type,
143 typename M::const_reverse_iterator> > {
144 typedef SMDS_SetIterator<
typename M::mapped_type,
typename M::const_reverse_iterator,
154 SMDS::KeyAccessor<typename M::key_type,
155 typename M::const_iterator> > {
166 SMDS::KeyAccessor<typename M::key_type,
167 typename M::const_iterator> > {