Changeset 1080
- Timestamp:
- Feb 13, 2008, 12:49:57 PM (16 years ago)
- Location:
- trunk/yat
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yat/classifier/DataLookup1D.cc
r1062 r1080 95 95 DataLookup1D::const_iterator DataLookup1D::begin(void) const 96 96 { 97 typedef utility::Iterator<const DataLookup2D, const double> Iter;98 97 if (column_vector_) 99 return const_iterator(Iter(*matrix_, 0, index_), matrix_->columns()); 100 return const_iterator(Iter(*matrix_, index_, 0), 1); 98 return const_iterator(const_iterator::iterator_type(*matrix_, 0, index_), 99 matrix_->columns()); 100 return const_iterator(const_iterator::iterator_type(*matrix_, index_, 0),1); 101 101 } 102 102 … … 104 104 DataLookup1D::const_iterator DataLookup1D::end(void) const 105 105 { 106 typedef utility::Iterator<const DataLookup2D, const double> Iter;107 106 if (column_vector_) 108 return const_iterator(Iter(*matrix_, matrix_->rows(), index_), 107 return const_iterator(const_iterator::iterator_type(*matrix_, 108 matrix_->rows(), 109 index_), 109 110 matrix_->columns()); 110 return const_iterator( Iter(*matrix_, index_+1,0), 1);111 return const_iterator(const_iterator::iterator_type(*matrix_,index_+1,0), 1); 111 112 } 112 113 -
trunk/yat/classifier/DataLookup1D.h
r1062 r1080 29 29 #include "DataLookup2D.h" 30 30 #include "yat/utility/Iterator.h" 31 #include "yat/utility/iterator_traits.h" 31 32 #include "yat/utility/StrideIterator.h" 32 33 … … 49 50 public: 50 51 /// 'Read Only' iterator 51 typedef utility::StrideIterator<utility::Iterator<const DataLookup2D, 52 const double> > 52 typedef utility::StrideIterator< 53 utility::Iterator<const DataLookup2D, utility::unweighted_type, const double, 54 void, const double> > 53 55 const_iterator; 54 56 -
trunk/yat/classifier/KernelLookup.h
r1066 r1080 31 31 #include "MatrixLookup.h" 32 32 #include "yat/utility/Iterator.h" 33 #include "yat/utility/iterator_traits.h" 33 34 #include "yat/utility/StrideIterator.h" 34 35 … … 70 71 public: 71 72 /// 'Read Only' iterator 72 typedef utility::StrideIterator<utility::Iterator<const KernelLookup, 73 const double> > 73 typedef utility::StrideIterator< 74 utility::Iterator<const KernelLookup, utility::unweighted_type, const double, 75 void, const double> > 74 76 const_iterator; 75 77 -
trunk/yat/classifier/MatrixLookup.h
r1066 r1080 29 29 #include "DataLookup2D.h" 30 30 #include "yat/utility/Iterator.h" 31 #include "yat/utility/iterator_traits.h" 31 32 #include "yat/utility/StrideIterator.h" 32 33 … … 73 74 public: 74 75 /// 'Read Only' iterator 75 typedef utility::StrideIterator<utility::Iterator<const MatrixLookup, 76 const double> > 76 typedef utility::StrideIterator< 77 utility::Iterator<const MatrixLookup, utility::unweighted_type, const double, 78 void, const double> > 77 79 const_iterator; 78 80 -
trunk/yat/utility/Iterator.h
r1067 r1080 25 25 */ 26 26 27 #include "IteratorPolicy.h" 27 28 #include "yat_assert.h" 28 29 … … 39 40 @brief Iterator 40 41 */ 41 template<typename Container, typename T> 42 template<typename Container, typename weighted_tag, typename value, 43 typename pointer = value*, typename reference = value&, 44 class Policy = IteratorPolicy<Container, reference> > 42 45 class Iterator 43 : public std::iterator<std::random_access_iterator_tag, double, size_t, T,44 void>46 : public std::iterator<std::random_access_iterator_tag, value, size_t, 47 pointer, reference> 45 48 { 46 49 public: 47 //typedef size_t difference_type; 48 typedef T reference; 49 typedef double* pointer; 50 50 typedef weighted_tag weighted_iterator_type; 51 51 52 private: 52 typedef Iterator<Container, T> self;53 typedef Iterator<Container, weighted_tag, value, pointer, reference> self; 53 54 54 55 public: … … 75 76 yat_assert<std::out_of_range>(index_ < this->size(), 76 77 "Iterator::operator*"); 77 return container_->operator()(this->row(index_), this->column(index_));78 return ip_.dereference(*container_, row(index_), column(index_)); 78 79 } 79 80 … … 85 86 yat_assert<std::out_of_range>(index_+n < this->size(), 86 87 "Iterator::operator[]"); 87 return container_->operator()(this->row(index_+n), this->column(index_+n));88 return ip_.dereference(*container_, row(index_+n), column(index_+n)); 88 89 } 89 90 … … 228 229 Container* container_; 229 230 size_t index_; 231 Policy ip_; 230 232 231 233 size_t column(size_t i) const … … 236 238 { return container_->columns()*container_->rows(); } 237 239 240 238 241 // Using compiler generated copy 239 242 //Iterator(const Iterator&);
Note: See TracChangeset
for help on using the changeset viewer.