STK++ 0.9.13
STK::DenseRandomIterator< Array_ > Struct Template Reference

DenseRandomIterator allows to loop over the elements of containers Array. More...

#include <STK_DenseRandomIterator.h>

Inheritance diagram for STK::DenseRandomIterator< Array_ >:
Inheritance graph

Public Types

enum  {
  structure_ = hidden::IteratorTraits< DenseRandomIterator >::structure_ , orient_ = hidden::IteratorTraits< DenseRandomIterator >::orient_ , sizeCols_ = hidden::IteratorTraits< DenseRandomIterator >::sizeCols_ , sizeRows_ = hidden::IteratorTraits< DenseRandomIterator >::sizeRows_ ,
  size_ = hidden::IteratorTraits< DenseRandomIterator >::size_ , storage_ = hidden::IteratorTraits< DenseRandomIterator >::storage_
}
 
typedef DenseIteratorBase< DenseRandomIteratorBase
 
typedef hidden::IteratorTraits< DenseRandomIterator >::Index Index
 
typedef hidden::IteratorTraits< DenseRandomIterator >::Type Type
 
typedef hidden::IteratorTraits< DenseRandomIterator >::TypeConst TypeConst
 
typedef hidden::IteratorTraits< DenseRandomIterator >::RowRange RowRange
 
typedef hidden::IteratorTraits< DenseRandomIterator >::ColRange ColRange
 
typedef hidden::IteratorTraits< DenseRandomIterator >::iterator_category iterator_category
 
typedef hidden::IteratorTraits< DenseRandomIterator >::value_type value_type
 
typedef hidden::IteratorTraits< DenseRandomIterator >::reference reference
 
typedef hidden::IteratorTraits< DenseRandomIterator >::pointer pointer
 
typedef hidden::IteratorTraits< DenseRandomIterator >::difference_type difference_type
 
- Public Types inherited from STK::DenseIteratorBase< DenseRandomIterator< Array_ > >
typedef hidden::IteratorTraits< DenseRandomIterator< Array_ > >::Index Index
 
typedef hidden::IteratorTraits< DenseRandomIterator< Array_ > >::iterator_category iterator_category
 
typedef hidden::IteratorTraits< DenseRandomIterator< Array_ > >::value_type value_type
 
typedef hidden::IteratorTraits< DenseRandomIterator< Array_ > >::reference reference
 
typedef hidden::IteratorTraits< DenseRandomIterator< Array_ > >::pointer pointer
 
typedef hidden::IteratorTraits< DenseRandomIterator< Array_ > >::difference_type difference_type
 

Public Member Functions

 DenseRandomIterator ()
 Default constructor.
 
 DenseRandomIterator (Array_ &array, int pos)
 Constructor with array and position given.
 
 DenseRandomIterator (DenseRandomIterator const &it)
 copy constructor
 
 ~DenseRandomIterator ()
 
DenseRandomIteratoroperator= (DenseRandomIterator const &it)
 assignment operator
 
bool operator== (DenseRandomIterator const &rhs)
 comparing two iterators (only position is compared !)
 
bool operator!= (DenseRandomIterator const &rhs)
 comparing two iterators (only position is compared !)
 
reference operator* ()
 
pointer operator-> ()
 
reference operator[] (Index pos)
 
- Public Member Functions inherited from STK::DenseIteratorBase< DenseRandomIterator< Array_ > >
Index pos () const
 
DenseRandomIterator< Array_ > & operator++ ()
 next position
 
DenseRandomIterator< Array_ > & operator++ (int junk)
 next position
 
DenseRandomIterator< Array_ > & operator-- ()
 previous position
 
DenseRandomIterator< Array_ > & operator-- (int)
 previous position
 
DenseRandomIterator< Array_ > & operator+= (Index n)
 add n positions to current position
 
DenseRandomIterator< Array_ > & operator-= (Index n)
 Subtract n positions to current position.
 
- Public Member Functions inherited from STK::IRecursiveTemplate< Derived >
Derived & asDerived ()
 static cast : return a reference of this with a cast to the derived class.
 
Derived constasDerived () const
 static cast : return a const reference of this with a cast to the derived class.
 
Derived * asPtrDerived ()
 static cast : return a ptr on a Derived of this with a cast to the derived class.
 
Derived constasPtrDerived () const
 static cast : return a ptr on a constant Derived of this with a cast to the derived class.
 
Derived * clone () const
 create a leaf using the copy constructor of the Derived class.
 
Derived * clone (bool isRef) const
 create a leaf using the copy constructor of the Derived class and a flag determining if the clone is a reference or not.
 

Public Attributes

Index pos_
 Current position.
 

Private Attributes

Array_p_array_
 

Friends

void swap (DenseRandomIterator &lhs, DenseRandomIterator &rhs)
 

Additional Inherited Members

- Protected Member Functions inherited from STK::DenseIteratorBase< DenseRandomIterator< Array_ > >
 DenseIteratorBase ()
 default constructor
 
 DenseIteratorBase (Index pos)
 constructor with specified position
 
 DenseIteratorBase (DenseIteratorBase const &it)
 copy constructor.
 
 ~DenseIteratorBase ()
 destructor
 
- Protected Member Functions inherited from STK::IRecursiveTemplate< Derived >
 IRecursiveTemplate ()
 constructor.
 
 ~IRecursiveTemplate ()
 destructor.
 
- Protected Attributes inherited from STK::DenseIteratorBase< DenseRandomIterator< Array_ > >
Index pos_
 Current position.
 

Detailed Description

template<class Array_>
struct STK::DenseRandomIterator< Array_ >

DenseRandomIterator allows to loop over the elements of containers Array.

Definition at line 122 of file STK_DenseRandomIterator.h.

Member Typedef Documentation

◆ Base

◆ ColRange

◆ difference_type

Definition at line 149 of file STK_DenseRandomIterator.h.

◆ Index

◆ iterator_category

template<class Array_ >
typedef hidden::IteratorTraits<DenseRandomIterator>::iterator_category STK::DenseRandomIterator< Array_ >::iterator_category

Definition at line 145 of file STK_DenseRandomIterator.h.

◆ pointer

◆ reference

◆ RowRange

◆ Type

◆ TypeConst

◆ value_type

Member Enumeration Documentation

◆ anonymous enum

template<class Array_ >
anonymous enum
Enumerator
structure_ 
orient_ 
sizeCols_ 
sizeRows_ 
size_ 
storage_ 

Definition at line 129 of file STK_DenseRandomIterator.h.

130 {
131 structure_ = hidden::IteratorTraits< DenseRandomIterator >::structure_,
132 orient_ = hidden::IteratorTraits< DenseRandomIterator >::orient_,
133 sizeCols_ = hidden::IteratorTraits< DenseRandomIterator >::sizeCols_,
134 sizeRows_ = hidden::IteratorTraits< DenseRandomIterator >::sizeRows_,
135 size_ = hidden::IteratorTraits< DenseRandomIterator >::size_,
136 storage_ = hidden::IteratorTraits< DenseRandomIterator >::storage_
137 };

Constructor & Destructor Documentation

◆ DenseRandomIterator() [1/3]

template<class Array_ >
STK::DenseRandomIterator< Array_ >::DenseRandomIterator ( )
inline

Default constructor.

Definition at line 154 of file STK_DenseRandomIterator.h.

154: Base(), RowRange(), p_array_(0) {}
hidden::IteratorTraits< DenseRandomIterator >::RowRange RowRange
DenseIteratorBase< DenseRandomIterator > Base

◆ DenseRandomIterator() [2/3]

template<class Array_ >
STK::DenseRandomIterator< Array_ >::DenseRandomIterator ( Array_ array,
int  pos 
)
inline

Constructor with array and position given.

Definition at line 156 of file STK_DenseRandomIterator.h.

157 : Base(pos)
158 , RowRange(array.range())
159 , p_array_(&array)
160 {}

◆ DenseRandomIterator() [3/3]

template<class Array_ >
STK::DenseRandomIterator< Array_ >::DenseRandomIterator ( DenseRandomIterator< Array_ > const it)
inline

copy constructor

Definition at line 162 of file STK_DenseRandomIterator.h.

163 : Base(it)
164 , RowRange(it)
165 , p_array_(it.p_array_)
166 {}

◆ ~DenseRandomIterator()

Definition at line 167 of file STK_DenseRandomIterator.h.

167{}

Member Function Documentation

◆ operator!=()

template<class Array_ >
bool STK::DenseRandomIterator< Array_ >::operator!= ( DenseRandomIterator< Array_ > const rhs)
inline

comparing two iterators (only position is compared !)

Definition at line 181 of file STK_DenseRandomIterator.h.

181{ return(pos_!=rhs.pos_); }
Index pos_
Current position.

References STK::DenseRandomIterator< Array_ >::pos_.

◆ operator*()

◆ operator->()

template<class Array_ >
pointer STK::DenseRandomIterator< Array_ >::operator-> ( )
inline

◆ operator=()

assignment operator

Definition at line 169 of file STK_DenseRandomIterator.h.

170 {
171 Base::operator=(it);
172 RowRange::operator=(it);
173 p_array_ = it.p_array_;
174 return *this;
175 }

References STK::DenseRandomIterator< Array_ >::p_array_.

◆ operator==()

template<class Array_ >
bool STK::DenseRandomIterator< Array_ >::operator== ( DenseRandomIterator< Array_ > const rhs)
inline

comparing two iterators (only position is compared !)

Definition at line 179 of file STK_DenseRandomIterator.h.

179{ return(pos_==rhs.pos_); }

References STK::DenseRandomIterator< Array_ >::pos_.

◆ operator[]()

Friends And Related Symbol Documentation

◆ swap

template<class Array_ >
void swap ( DenseRandomIterator< Array_ > &  lhs,
DenseRandomIterator< Array_ > &  rhs 
)
friend

Definition at line 189 of file STK_DenseRandomIterator.h.

190 {
191 Base::swap(lhs, rhs);
192 std::swap(lhs.p_array_, rhs.p_array_);
193 }
friend void swap(DenseIteratorBase &lhs, DenseIteratorBase &rhs)
swap two iterators (only position is swaped)

Member Data Documentation

◆ p_array_

◆ pos_


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