- Timestamp:
- Sep 27, 2008, 6:27:55 AM (15 years ago)
- Location:
- trunk/yat/utility
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yat/utility/DataWeightProxy.h
r1537 r1538 52 52 \return reference to data 53 53 */ 54 //typename std::iterator_traits<DataWeight>::reference data(void) const 54 55 double& data(void) { return *data_; } 55 56 … … 72 73 \brief assignment operator 73 74 */ 75 DataWeightProxy& operator=(const DataWeightProxy& rhs) 76 { 77 data() = rhs.data(); 78 weight() = rhs.weight(); 79 return *this; 80 } 81 82 /** 83 \brief assignment operator 84 */ 74 85 DataWeightProxy& operator=(const DataWeight& rhs) 75 86 { … … 82 93 \brief Conversion to DataWeight 83 94 */ 84 operator DataWeight() const { return DataWeight(data(), weight()); } 95 operator DataWeight() const 96 { return DataWeight(this->data(), this->weight()); } 85 97 86 98 private: -
trunk/yat/utility/WeightedIterator.h
r1537 r1538 41 41 : public boost::iterator_facade< 42 42 WeightedIterator<DataIterator, WeightIterator>, 43 DataWeight ,43 DataWeightProxy<DataIterator, WeightIterator>, 44 44 typename std::iterator_traits<DataIterator>::iterator_category, 45 45 DataWeightProxy<DataIterator, WeightIterator> > … … 47 47 { 48 48 public: 49 /** 50 \brief DataIterator 51 */ 52 typedef DataIterator data_iterator_type; 53 54 /** 55 \brief DataIterator 56 */ 57 typedef WeightIterator weight_iterator_type; 58 49 59 /** 50 60 \brief Constructor … … 54 64 {} 55 65 66 /** 67 \return const reference to underlying data iterator 68 */ 69 const DataIterator& data_base(void) const { return d_iter_; } 70 71 /** 72 \return const reference to underlying weight iterator 73 */ 74 const WeightIterator& weight_base(void) const { return w_iter_; } 56 75 57 76 /** … … 73 92 to const_iterator. 74 93 */ 75 /*76 94 template<typename D2, typename W2> 77 95 WeightedIterator(WeightedIterator<D2, W2> other, 78 96 typename boost::enable_if_convertible<D2,DataIterator>::type* = 0, 79 97 typename boost::enable_if_convertible<W2,WeightIterator>::type* = 0) 80 {}81 */ 98 : d_iter_(other.data_base()), w_iter_(other.weight_base()) {} 99 82 100 83 101 private: … … 98 116 utility::DataWeightProxy<DataIterator, WeightIterator> 99 117 dereference(void) const 100 { 101 return DataWeightProxy<DataIterator, WeightIterator>(d_iter_, 118 { return DataWeightProxy<DataIterator, WeightIterator>(d_iter_, 102 119 w_iter_); 103 120 }
Note: See TracChangeset
for help on using the changeset viewer.