Public Member Functions | Protected Attributes | Private Types | List of all members
lar::value_const_iterator< T > Class Template Reference

A constant iterator returning always the same value. More...

#include <sparse_vector.h>

Inheritance diagram for lar::value_const_iterator< T >:

Public Member Functions

 value_const_iterator ()
 Default constructor: use the default value. More...
 
 value_const_iterator (value_type new_value)
 Constructor: value that will be returned. More...
 
 value_const_iterator (value_type new_value, difference_type offset)
 Constructor: value to be returned and current iterator "position". More...
 
value_type operator* () const
 Returns a copy of the stored value. More...
 
value_type operator[] (difference_type) const
 Returns a copy of the stored value. More...
 
this_toperator++ ()
 Increments the position of the iterator, returns the new position. More...
 
this_t operator++ (int)
 Increments the position of the iterator, returns the old position. More...
 
this_toperator-- ()
 Decrements the position of the iterator, returns the new position. More...
 
this_t operator-- (int)
 Decrements the position of the iterator, returns the old position. More...
 
this_toperator+= (difference_type ofs)
 Increments the position of the iterator by the specified steps. More...
 
this_toperator-= (difference_type ofs)
 Decrements the position of the iterator by the specified steps. More...
 
this_t operator+ (difference_type ofs) const
 Returns an iterator pointing ahead of this one by the specified steps. More...
 
this_t operator- (difference_type ofs) const
 Returns an iterator pointing behind this one by the specified steps. More...
 
difference_type operator- (const this_t &iter) const
 Returns the distance between this iterator and the other. More...
 
bool operator== (const this_t &as) const
 Comparison operators: determined by the position pointed by the iterators. More...
 
bool operator!= (const this_t &as) const
 
bool operator< (const this_t &as) const
 
bool operator<= (const this_t &as) const
 
bool operator> (const this_t &as) const
 
bool operator>= (const this_t &as) const
 

Protected Attributes

difference_type index {0}
 (arbitrary) position pointed by the iterator More...
 
value_type value
 value to be returned when dereferencing More...
 

Private Types

typedef std::iterator< std::random_access_iterator_tag, T > base_t
 base type More...
 
typedef value_const_iterator< T > this_t
 alias for this type More...
 

Detailed Description

template<typename T>
class lar::value_const_iterator< T >

A constant iterator returning always the same value.

Template Parameters
Ttype of the value returned by dereferenciation

Definition at line 70 of file sparse_vector.h.

Member Typedef Documentation

template<typename T>
typedef std::iterator<std::random_access_iterator_tag, T> lar::value_const_iterator< T >::base_t
private

base type

Definition at line 73 of file sparse_vector.h.

template<typename T>
typedef value_const_iterator<T> lar::value_const_iterator< T >::this_t
private

alias for this type

Definition at line 74 of file sparse_vector.h.

Constructor & Destructor Documentation

template<typename T>
lar::value_const_iterator< T >::value_const_iterator ( )
inline

Default constructor: use the default value.

Definition at line 82 of file sparse_vector.h.

82 : value() {}
value_type value
value to be returned when dereferencing
template<typename T>
lar::value_const_iterator< T >::value_const_iterator ( value_type  new_value)
inline

Constructor: value that will be returned.

Definition at line 85 of file sparse_vector.h.

85 : value(new_value) {}
value_type value
value to be returned when dereferencing
template<typename T>
lar::value_const_iterator< T >::value_const_iterator ( value_type  new_value,
difference_type  offset 
)
inline

Constructor: value to be returned and current iterator "position".

Definition at line 88 of file sparse_vector.h.

88  :
89  index(offset), value(new_value) {}
value_type value
value to be returned when dereferencing
difference_type index
(arbitrary) position pointed by the iterator

Member Function Documentation

template<typename T>
bool lar::value_const_iterator< T >::operator!= ( const this_t as) const
inline

Definition at line 131 of file sparse_vector.h.

131 { return index != as.index; }
static constexpr double as
Definition: Units.h:101
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
value_type lar::value_const_iterator< T >::operator* ( ) const
inline

Returns a copy of the stored value.

Definition at line 92 of file sparse_vector.h.

92 { return value; }
value_type value
value to be returned when dereferencing
template<typename T>
this_t lar::value_const_iterator< T >::operator+ ( difference_type  ofs) const
inline

Returns an iterator pointing ahead of this one by the specified steps.

Definition at line 116 of file sparse_vector.h.

117  { return this_t(value, index + ofs); }
value_type value
value to be returned when dereferencing
difference_type index
(arbitrary) position pointed by the iterator
value_const_iterator< T > this_t
alias for this type
Definition: sparse_vector.h:74
template<typename T>
this_t& lar::value_const_iterator< T >::operator++ ( )
inline

Increments the position of the iterator, returns the new position.

Definition at line 98 of file sparse_vector.h.

98 { ++index; return *this; }
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
this_t lar::value_const_iterator< T >::operator++ ( int  )
inline

Increments the position of the iterator, returns the old position.

Definition at line 101 of file sparse_vector.h.

101 { this_t copy(*this); ++index; return copy; }
difference_type index
(arbitrary) position pointed by the iterator
value_const_iterator< T > this_t
alias for this type
Definition: sparse_vector.h:74
T copy(T const &v)
template<typename T>
this_t& lar::value_const_iterator< T >::operator+= ( difference_type  ofs)
inline

Increments the position of the iterator by the specified steps.

Definition at line 110 of file sparse_vector.h.

110 { index += ofs; return *this; }
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
this_t lar::value_const_iterator< T >::operator- ( difference_type  ofs) const
inline

Returns an iterator pointing behind this one by the specified steps.

Definition at line 120 of file sparse_vector.h.

121  { return this_t(value, index - ofs); }
value_type value
value to be returned when dereferencing
difference_type index
(arbitrary) position pointed by the iterator
value_const_iterator< T > this_t
alias for this type
Definition: sparse_vector.h:74
template<typename T>
difference_type lar::value_const_iterator< T >::operator- ( const this_t iter) const
inline

Returns the distance between this iterator and the other.

Returns
how many steps this iterator is ahead of the other

Definition at line 125 of file sparse_vector.h.

126  { return index - iter.index; }
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
this_t& lar::value_const_iterator< T >::operator-- ( )
inline

Decrements the position of the iterator, returns the new position.

Definition at line 104 of file sparse_vector.h.

104 { --index; return *this; }
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
this_t lar::value_const_iterator< T >::operator-- ( int  )
inline

Decrements the position of the iterator, returns the old position.

Definition at line 107 of file sparse_vector.h.

107 { this_t copy(*this); --index; return copy; }
difference_type index
(arbitrary) position pointed by the iterator
value_const_iterator< T > this_t
alias for this type
Definition: sparse_vector.h:74
T copy(T const &v)
template<typename T>
this_t& lar::value_const_iterator< T >::operator-= ( difference_type  ofs)
inline

Decrements the position of the iterator by the specified steps.

Definition at line 113 of file sparse_vector.h.

113 { index -= ofs; return *this; }
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
bool lar::value_const_iterator< T >::operator< ( const this_t as) const
inline

Definition at line 133 of file sparse_vector.h.

133 { return index < as.index; }
static constexpr double as
Definition: Units.h:101
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
bool lar::value_const_iterator< T >::operator<= ( const this_t as) const
inline

Definition at line 134 of file sparse_vector.h.

134 { return index <= as.index; }
static constexpr double as
Definition: Units.h:101
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
bool lar::value_const_iterator< T >::operator== ( const this_t as) const
inline

Comparison operators: determined by the position pointed by the iterators.

Definition at line 130 of file sparse_vector.h.

130 { return index == as.index; }
static constexpr double as
Definition: Units.h:101
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
bool lar::value_const_iterator< T >::operator> ( const this_t as) const
inline

Definition at line 135 of file sparse_vector.h.

135 { return index > as.index; }
static constexpr double as
Definition: Units.h:101
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
bool lar::value_const_iterator< T >::operator>= ( const this_t as) const
inline

Definition at line 136 of file sparse_vector.h.

136 { return index >= as.index; }
static constexpr double as
Definition: Units.h:101
difference_type index
(arbitrary) position pointed by the iterator
template<typename T>
value_type lar::value_const_iterator< T >::operator[] ( difference_type  ) const
inline

Returns a copy of the stored value.

Definition at line 95 of file sparse_vector.h.

95 { return value; }
value_type value
value to be returned when dereferencing

Member Data Documentation

template<typename T>
difference_type lar::value_const_iterator< T >::index {0}
protected

(arbitrary) position pointed by the iterator

Definition at line 140 of file sparse_vector.h.

template<typename T>
value_type lar::value_const_iterator< T >::value
protected

value to be returned when dereferencing

Definition at line 141 of file sparse_vector.h.


The documentation for this class was generated from the following file: