1 #ifndef _theplu_yat_utility_weight_iterator_ 2 #define _theplu_yat_utility_weight_iterator_ 26 #include "concept_check.h" 27 #include "iterator_traits.h" 29 #include <boost/concept_check.hpp> 30 #include <boost/iterator/iterator_adaptor.hpp> 31 #include <boost/iterator/iterator_concepts.hpp> 32 #include <boost/type_traits/remove_reference.hpp> 63 template<
typename Base>
65 :
public boost::iterator_adaptor<
68 , typename boost::remove_reference<typename iterator_traits<Base>::weight_reference>::type
70 , typename iterator_traits<Base>::weight_reference
103 template<
typename B2>
105 typename boost::enable_if_convertible<B2, Base>::type* = 0 )
108 BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIterator<Base>));
129 template<
typename Base>
Concept check for Data Iterator.
Definition: concept_check.h:228
Definition: iterator_traits.h:412
The Department of Theoretical Physics namespace as we define it.
iterator_traits< Base >::weight_reference operator*(void) const
Definition: WeightIterator.h:116
WeightIterator< Base > weight_iterator(Base base)
convenient function to create WeightIterator
Definition: WeightIterator.h:130
WeightIterator(Base b)
Constructor from Base iterator.
Definition: WeightIterator.h:89
traits::weight_reference weight_reference
Definition: iterator_traits.h:435
WeightIterator.
Definition: WeightIterator.h:64
WeightIterator(WeightIterator< B2 > other, typename boost::enable_if_convertible< B2, Base >::type *=0)
Conversion constructor.
Definition: WeightIterator.h:104
WeightIterator(void)
Default Constructor.
Definition: WeightIterator.h:80