27 #ifndef CDPL_MATH_VECTORITERATOR_HPP
28 #define CDPL_MATH_VECTORITERATOR_HPP
47 typedef typename E::SizeType SizeType;
48 typedef typename E::Reference Reference;
61 return (&vec.get() == &accessor.vec.get());
65 std::reference_wrapper<VectorType> vec;
73 typedef typename E::SizeType SizeType;
74 typedef typename E::ConstReference Reference;
90 return (&vec.get() == &accessor.vec.get());
95 vec = std::reference_wrapper<const VectorType>(accessor.vec);
100 std::reference_wrapper<const VectorType> vec;
103 template <
typename E>
119 template <
typename E>
135 template <
typename E>
141 template <
typename E>
147 template <
typename E>
153 template <
typename E>
Definition of basic expression types.
Definition of the class CDPL::Util::IndexedElementIterator.
Definition: VectorIterator.hpp:70
VectorElementAccessor(const VectorElementAccessor< E > &accessor)
Definition: VectorIterator.hpp:77
bool operator==(const VectorElementAccessor &accessor) const
Definition: VectorIterator.hpp:88
VectorElementAccessor(const VectorType &e)
Definition: VectorIterator.hpp:80
VectorElementAccessor & operator=(const VectorElementAccessor< E > &accessor)
Definition: VectorIterator.hpp:93
Reference operator()(SizeType i) const
Definition: VectorIterator.hpp:83
Definition: VectorIterator.hpp:44
bool operator==(const VectorElementAccessor &accessor) const
Definition: VectorIterator.hpp:59
VectorElementAccessor(VectorType &e)
Definition: VectorIterator.hpp:51
Reference operator()(SizeType i) const
Definition: VectorIterator.hpp:54
Definition: Expression.hpp:54
A STL compatible random access iterator for container elements accessible by index.
Definition: IndexedElementIterator.hpp:125
constexpr unsigned int E
Specifies that the stereocenter has E configuration.
Definition: CIPDescriptor.hpp:96
VectorIteratorTraits< E >::IteratorType vectorBegin(VectorExpression< E > &e)
Definition: VectorIterator.hpp:136
VectorIteratorTraits< E >::IteratorType vectorEnd(VectorExpression< E > &e)
Definition: VectorIterator.hpp:142
The namespace of the Chemical Data Processing Library.
E VectorType
Definition: VectorIterator.hpp:123
static IteratorType makeIterator(const VectorType &e, SizeType idx)
Definition: VectorIterator.hpp:129
E::SizeType SizeType
Definition: VectorIterator.hpp:124
E::ValueType ValueType
Definition: VectorIterator.hpp:125
VectorElementAccessor< const E > AccessorType
Definition: VectorIterator.hpp:126
Util::IndexedElementIterator< const ValueType, AccessorType, SizeType > IteratorType
Definition: VectorIterator.hpp:127
Definition: VectorIterator.hpp:105
E VectorType
Definition: VectorIterator.hpp:107
E::ValueType ValueType
Definition: VectorIterator.hpp:109
Util::IndexedElementIterator< ValueType, AccessorType, SizeType > IteratorType
Definition: VectorIterator.hpp:111
VectorElementAccessor< E > AccessorType
Definition: VectorIterator.hpp:110
static IteratorType makeIterator(VectorType &e, SizeType idx)
Definition: VectorIterator.hpp:113
E::SizeType SizeType
Definition: VectorIterator.hpp:108