Changeset 4fb16c for src/Helpers
- Timestamp:
- Feb 28, 2011, 2:20:23 PM (15 years ago)
- Children:
- 6b898c
- Parents:
- 178da0
- git-author:
- Frederik Heber <heber@…> (02/22/11 14:45:16)
- git-committer:
- Frederik Heber <heber@…> (02/28/11 14:20:23)
- File:
-
- 1 edited
-
src/Helpers/IteratorAdaptors.hpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Helpers/IteratorAdaptors.hpp
r178da0 r4fb16c 46 46 47 47 /** This class wraps an iterator and implements a dereferencer (operator*) that 48 * always returns the value 49 */ 50 template <class BaseIterator> 51 class MapValueConstIterator : 52 public boost::iterator_adaptor< 53 MapValueConstIterator<BaseIterator>, 54 BaseIterator, 55 const typename BaseIterator::value_type::second_type > 56 { 57 public: 58 typedef const typename BaseIterator::value_type::second_type& const_reference; 59 60 MapValueConstIterator() {} 61 62 explicit MapValueConstIterator(BaseIterator base) 63 : MapValueConstIterator::iterator_adaptor_(base) {} 64 65 private: 66 friend class boost::iterator_core_access; 67 const_reference dereference() const 68 {return this->base_reference()->second;} 69 }; 70 71 /** This class wraps an iterator and implements a dereferencer (operator*) that 48 72 * always returns the key 49 73 */ … … 69 93 }; 70 94 95 /** This class wraps an iterator and implements a dereferencer (operator*) that 96 * always returns the key 97 */ 98 template <class BaseIterator> 99 class MapKeyConstIterator : 100 public boost::iterator_adaptor< 101 MapKeyConstIterator<BaseIterator>, 102 BaseIterator, 103 const typename BaseIterator::value_type::first_type > 104 { 105 public: 106 typedef const typename BaseIterator::value_type::first_type& const_reference; 107 108 MapKeyConstIterator() {} 109 110 explicit MapKeyConstIterator(BaseIterator base) 111 : MapKeyConstIterator::iterator_adaptor_(base) {} 112 113 private: 114 friend class boost::iterator_core_access; 115 const_reference dereference() const 116 {return this->base_reference()->first;} 117 }; 118 71 119 #endif /* ITERATORADAPTORS_HPP_ */
Note:
See TracChangeset
for help on using the changeset viewer.
