ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::block_complex_float::iterator_base< container, content, reverse > Class Template Reference

The container must have iterator types. More...

Inheritance diagram for gsl::block_complex_float::iterator_base< container, content, reverse >:
Inheritance graph
Collaboration diagram for gsl::block_complex_float::iterator_base< container, content, reverse >:
Collaboration graph

Public Types

typedef complex_float value_type
 An iterator must have a value_type. More...
 
typedef complex_float_ref reference
 An iterator must have a reference type. More...
 
typedef complex_float_ptr pointer
 An iterator must have a pointer type. More...
 
typedef std::random_access_iterator_tag iterator_category
 An iterator must have a pointer type. More...
 
typedef ptrdiff_t difference_type
 An iterator must have a difference_type. More...
 

Public Member Functions

reference operator* () const
 Dereference the pointer. More...
 
pointer operator-> () const
 Dereference the pointer. More...
 
reference operator[] (difference_type const n) const
 Get element at i + n by reference ([] operator). More...
 
difference_type operator- (iterator_base< container, content, reverse > const &i) const
 The - operator: find distance between two iterators. More...
 
bool operator== (iterator_base< container, content, reverse > const &i) const
 The == operator. More...
 
bool operator!= (iterator_base< container, content, reverse > const &i) const
 The != operator. More...
 
bool operator< (iterator_base< container, content, reverse > const &i) const
 The < operator is used to compare iterators. More...
 

Protected Member Functions

void increment ()
 Increment the iterator. More...
 
void decrement ()
 Derement the iterator. More...
 
void shift (difference_type const n)
 Shift iterator n places. More...
 
 iterator_base ()
 The iterator is default constructible. More...
 
 iterator_base (container *v, difference_type position)
 This constructor allows block_complex_float to create non-default iterators. More...
 

Protected Attributes

container * v
 Store a pointer to a block_complex_float we can iterate over: 0 if no block_complex_float. More...
 
difference_type position
 Mark position of iterator within block_complex_float. More...
 

Friends

class block_complex_float
 

Detailed Description

template<typename container, typename content, bool reverse>
class gsl::block_complex_float::iterator_base< container, content, reverse >

The container must have iterator types.

We create a suitable class here.

Definition at line 329 of file block_complex_float.hpp.

Member Typedef Documentation

◆ difference_type

template<typename container , typename content , bool reverse>
typedef ptrdiff_t gsl::block_complex_float::iterator_base< container, content, reverse >::difference_type

An iterator must have a difference_type.

Definition at line 352 of file block_complex_float.hpp.

◆ iterator_category

template<typename container , typename content , bool reverse>
typedef std::random_access_iterator_tag gsl::block_complex_float::iterator_base< container, content, reverse >::iterator_category

An iterator must have a pointer type.

Definition at line 347 of file block_complex_float.hpp.

◆ pointer

template<typename container , typename content , bool reverse>
typedef complex_float_ptr gsl::block_complex_float::iterator_base< container, content, reverse >::pointer

An iterator must have a pointer type.

Definition at line 343 of file block_complex_float.hpp.

◆ reference

template<typename container , typename content , bool reverse>
typedef complex_float_ref gsl::block_complex_float::iterator_base< container, content, reverse >::reference

An iterator must have a reference type.

Definition at line 339 of file block_complex_float.hpp.

◆ value_type

template<typename container , typename content , bool reverse>
typedef complex_float gsl::block_complex_float::iterator_base< container, content, reverse >::value_type

An iterator must have a value_type.

Definition at line 335 of file block_complex_float.hpp.

Constructor & Destructor Documentation

◆ iterator_base() [1/2]

template<typename container , typename content , bool reverse>
gsl::block_complex_float::iterator_base< container, content, reverse >::iterator_base ( )
inlineprotected

The iterator is default constructible.

Definition at line 549 of file block_complex_float.hpp.

References gsl::block_complex_float::iterator_base< container, content, reverse >::v.

◆ iterator_base() [2/2]

template<typename container , typename content , bool reverse>
gsl::block_complex_float::iterator_base< container, content, reverse >::iterator_base ( container *  v,
difference_type  position 
)
inlineprotected

This constructor allows block_complex_float to create non-default iterators.

Parameters
vThe block_complex_float that creates this
positionThe initial postion of the iterator

Definition at line 555 of file block_complex_float.hpp.

Member Function Documentation

◆ decrement()

template<typename container , typename content , bool reverse>
void gsl::block_complex_float::iterator_base< container, content, reverse >::decrement ( )
inlineprotected

◆ increment()

template<typename container , typename content , bool reverse>
void gsl::block_complex_float::iterator_base< container, content, reverse >::increment ( )
inlineprotected

◆ operator!=()

template<typename container , typename content , bool reverse>
bool gsl::block_complex_float::iterator_base< container, content, reverse >::operator!= ( iterator_base< container, content, reverse > const &  i) const
inline

The != operator.

Parameters
iThe iterator being compared
Returns
true or false according as i != *this

Definition at line 472 of file block_complex_float.hpp.

References gsl::block_complex_float::iterator_base< container, content, reverse >::operator==().

◆ operator*()

template<typename container , typename content , bool reverse>
reference gsl::block_complex_float::iterator_base< container, content, reverse >::operator* ( ) const
inline

◆ operator-()

template<typename container , typename content , bool reverse>
difference_type gsl::block_complex_float::iterator_base< container, content, reverse >::operator- ( iterator_base< container, content, reverse > const &  i) const
inline

◆ operator->()

template<typename container , typename content , bool reverse>
pointer gsl::block_complex_float::iterator_base< container, content, reverse >::operator-> ( ) const
inline

◆ operator<()

template<typename container , typename content , bool reverse>
bool gsl::block_complex_float::iterator_base< container, content, reverse >::operator< ( iterator_base< container, content, reverse > const &  i) const
inline

The < operator is used to compare iterators.

This only makes sense if the iterators iterate over the same block_complex_float and the function calls a GSL error handler and returns false if they do not.

Parameters
iThe iterator being compared
Returns
true or false according as i < j

Definition at line 482 of file block_complex_float.hpp.

References gsl::exception::GSL_EFAILED, gsl::block_complex_float::iterator_base< container, content, reverse >::position, and gsl::block_complex_float::iterator_base< container, content, reverse >::v.

◆ operator==()

template<typename container , typename content , bool reverse>
bool gsl::block_complex_float::iterator_base< container, content, reverse >::operator== ( iterator_base< container, content, reverse > const &  i) const
inline

◆ operator[]()

template<typename container , typename content , bool reverse>
reference gsl::block_complex_float::iterator_base< container, content, reverse >::operator[] ( difference_type const  n) const
inline

Get element at i + n by reference ([] operator).

Parameters
nThe offset from i
Returns
a reference to content

Definition at line 412 of file block_complex_float.hpp.

References CCGSL_MTY, gsl::exception::GSL_EFAILED, gsl::rstat::n(), gsl::block_complex_float::iterator_base< container, content, reverse >::position, and gsl::block_complex_float::iterator_base< container, content, reverse >::v.

◆ shift()

template<typename container , typename content , bool reverse>
void gsl::block_complex_float::iterator_base< container, content, reverse >::shift ( difference_type const  n)
inlineprotected

Shift iterator n places.

Parameters
nA difference_type value to be added to position of iterator

Definition at line 535 of file block_complex_float.hpp.

References gsl::exception::GSL_EFAILED, gsl::rstat::n(), gsl::block_complex_float::iterator_base< container, content, reverse >::position, and gsl::block_complex_float::iterator_base< container, content, reverse >::v.

Friends And Related Function Documentation

◆ block_complex_float

template<typename container , typename content , bool reverse>
friend class block_complex_float
friend

Definition at line 330 of file block_complex_float.hpp.

Member Data Documentation

◆ position

template<typename container , typename content , bool reverse>
difference_type gsl::block_complex_float::iterator_base< container, content, reverse >::position
protected

◆ v

template<typename container , typename content , bool reverse>
container* gsl::block_complex_float::iterator_base< container, content, reverse >::v
protected

Store a pointer to a block_complex_float we can iterate over: 0 if no block_complex_float.

Definition at line 560 of file block_complex_float.hpp.

Referenced by gsl::block_complex_float::const_iterator_t< reverse >::const_iterator_t(), gsl::block_complex_float::iterator_base< container, content, reverse >::decrement(), gsl::block_complex_float::iterator_base< container, content, reverse >::increment(), gsl::block_complex_float::iterator_base< container, content, reverse >::iterator_base(), gsl::block_complex_float::iterator_base< container, content, reverse >::operator*(), gsl::block_complex_float::iterator_t< reverse >::operator-(), gsl::block_complex_float::iterator_base< container, content, reverse >::operator-(), gsl::block_complex_float::const_iterator_t< reverse >::operator-(), gsl::block_complex_float::iterator_base< container, content, reverse >::operator->(), gsl::block_complex_float::iterator_t< reverse >::operator<(), gsl::block_complex_float::iterator_base< container, content, reverse >::operator<(), gsl::block_complex_float::const_iterator_t< reverse >::operator<(), gsl::block_complex_float::const_iterator_t< reverse >::operator=(), gsl::block_complex_float::iterator_t< reverse >::operator=(), gsl::block_complex_float::iterator_t< reverse >::operator==(), gsl::block_complex_float::iterator_base< container, content, reverse >::operator==(), gsl::block_complex_float::const_iterator_t< reverse >::operator==(), gsl::block_complex_float::iterator_base< container, content, reverse >::operator[](), and gsl::block_complex_float::iterator_base< container, content, reverse >::shift().


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