LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
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
 Comparison operators: determined by the position pointed by the iterators. 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
 Comparison operators: determined by the position pointed by the iterators. 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
 Comparison operators: determined by the position pointed by the iterators. More...
 

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 71 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 74 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 75 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 83 of file sparse_vector.h.

83 : 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 86 of file sparse_vector.h.

86 : 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 89 of file sparse_vector.h.

89  :
90  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

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

Definition at line 132 of file sparse_vector.h.

References lar::value_const_iterator< T >::index.

132 { return index != as.index; }
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 93 of file sparse_vector.h.

References lar::const_value_box< T >::value.

93 { 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 117 of file sparse_vector.h.

References lar::const_value_box< T >::value.

118  { 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:75
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 99 of file sparse_vector.h.

99 { ++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 102 of file sparse_vector.h.

102 { 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:75
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 111 of file sparse_vector.h.

111 { 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 121 of file sparse_vector.h.

References lar::const_value_box< T >::value.

122  { 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:75
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 126 of file sparse_vector.h.

References lar::value_const_iterator< T >::index, and geo::details::operator==().

127  { 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 105 of file sparse_vector.h.

105 { --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 108 of file sparse_vector.h.

108 { 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:75
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 114 of file sparse_vector.h.

114 { 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

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

Definition at line 134 of file sparse_vector.h.

References lar::value_const_iterator< T >::index.

134 { return index < as.index; }
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 135 of file sparse_vector.h.

References lar::value_const_iterator< T >::index.

135 { return index <= as.index; }
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 131 of file sparse_vector.h.

131 { return index == as.index; }
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 136 of file sparse_vector.h.

References lar::value_const_iterator< T >::index.

136 { return index > as.index; }
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 137 of file sparse_vector.h.

References lar::value_const_iterator< T >::index.

137 { return index >= as.index; }
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 96 of file sparse_vector.h.

References lar::const_value_box< T >::value.

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

Member Data Documentation

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

value to be returned when dereferencing

Definition at line 142 of file sparse_vector.h.

Referenced by lar::operator+().


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