#include <yat/utility/iterator_traits.h>
Public Types | |
typedef traits::data_reference | data_reference |
typedef traits::weight_reference | weight_reference |
Public Member Functions | |
data_reference | data (Iter iter) const |
weight_reference | weight (Iter iter) const |
This class works for unweighted iterators as well as weighted iterators as long as they have reference type DataWeight& or const DataWeight&.
For others, such as WeightedIterator for which reference type is a proxy class, this class should be specialized. For adaptors that have an underlying iterator (e.g. StrideIterator), this class should be specialized, so the class also works when the underlying is an iterator that is not covered by this class e.g. WeightedIterator.
typedef traits::data_reference theplu::yat::utility::iterator_traits< Iter >::data_reference |
data_reference (type returned by data(void) is determined by iterator_traits_detail
typedef traits::weight_reference theplu::yat::utility::iterator_traits< Iter >::weight_reference |
data_reference (type returned by data(void) is determined by iterator_traits_detail
data_reference theplu::yat::utility::iterator_traits< Iter >::data | ( | Iter | iter | ) | const [inline] |
weight_reference theplu::yat::utility::iterator_traits< Iter >::weight | ( | Iter | iter | ) | const [inline] |