Boost.uBlas 1.49
Linear Algebra in C++: matrices, vectors and numeric algorithms

boost::numeric::ublas::indexed_const_iterator2< C, IC > Class Template Reference

A class implementing an indexed random access iterator of a matrix. More...

#include <iterator.hpp>

Inheritance diagram for boost::numeric::ublas::indexed_const_iterator2< C, IC >:
Collaboration diagram for boost::numeric::ublas::indexed_const_iterator2< C, IC >:

List of all members.

Public Types

typedef C container_type
typedef C::difference_type derived_difference_type
typedef
indexed_const_iterator2< C, IC > 
derived_iterator_type
typedef C::value_type derived_value_type
typedef
container_type::difference_type 
difference_type
typedef
indexed_const_iterator1
< container_type,
iterator_category
dual_iterator_type
typedef reverse_iterator_base1
< dual_iterator_type
dual_reverse_iterator_type
typedef IC iterator_category
typedef indexed_iterator2
< container_type,
iterator_category
iterator_type
typedef
container_type::const_reference 
reference
typedef container_type::size_type size_type
typedef container_type::value_type value_type

Public Member Functions

BOOST_UBLAS_INLINE indexed_const_iterator2 ()
BOOST_UBLAS_INLINE indexed_const_iterator2 (const container_type &c, size_type it1, size_type it2)
BOOST_UBLAS_INLINE indexed_const_iterator2 (const iterator_type &it)
BOOST_UBLAS_INLINE
container_const_reference
assign (const container_type *c)
BOOST_UBLAS_INLINE
dual_iterator_type 
begin () const
BOOST_UBLAS_INLINE
dual_iterator_type 
end () const
BOOST_UBLAS_INLINE size_type index1 () const
BOOST_UBLAS_INLINE size_type index2 () const
BOOST_UBLAS_INLINE bool operator!= (const derived_iterator_type &it) const
BOOST_UBLAS_INLINE const
container_type
operator() () const
BOOST_UBLAS_INLINE reference operator* () const
BOOST_UBLAS_INLINE
derived_iterator_type 
operator+ (derived_difference_type n) const
BOOST_UBLAS_INLINE
indexed_const_iterator2
operator++ ()
BOOST_UBLAS_INLINE
derived_iterator_type 
operator++ (int)
BOOST_UBLAS_INLINE
indexed_const_iterator2
operator+= (difference_type n)
BOOST_UBLAS_INLINE difference_type operator- (const indexed_const_iterator2 &it) const
BOOST_UBLAS_INLINE
derived_iterator_type 
operator- (derived_difference_type n) const
BOOST_UBLAS_INLINE
derived_iterator_type 
operator-- (int)
BOOST_UBLAS_INLINE
indexed_const_iterator2
operator-- ()
BOOST_UBLAS_INLINE
indexed_const_iterator2
operator-= (difference_type n)
BOOST_UBLAS_INLINE bool operator< (const indexed_const_iterator2 &it) const
BOOST_UBLAS_INLINE bool operator<= (const derived_iterator_type &it) const
BOOST_UBLAS_INLINE
indexed_const_iterator2
operator= (const indexed_const_iterator2 &it)
BOOST_UBLAS_INLINE bool operator== (const indexed_const_iterator2 &it) const
BOOST_UBLAS_INLINE bool operator> (const derived_iterator_type &it) const
BOOST_UBLAS_INLINE bool operator>= (const derived_iterator_type &it) const
BOOST_UBLAS_INLINE reference operator[] (difference_type n) const
BOOST_UBLAS_INLINE
dual_reverse_iterator_type 
rbegin () const
BOOST_UBLAS_INLINE
dual_reverse_iterator_type 
rend () const
BOOST_UBLAS_INLINE bool same_closure (const container_const_reference &cr) const

Private Attributes

size_type it1_
size_type it2_

Friends

class indexed_iterator2< container_type, iterator_category >
BOOST_UBLAS_INLINE friend
derived_iterator_type 
operator+ (const derived_iterator_type &d, derived_difference_type n)
BOOST_UBLAS_INLINE friend
derived_iterator_type 
operator+ (derived_difference_type n, const derived_iterator_type &d)
BOOST_UBLAS_INLINE friend
derived_iterator_type 
operator++ (derived_iterator_type &d, int)
BOOST_UBLAS_INLINE friend
derived_iterator_type 
operator- (const derived_iterator_type &d, derived_difference_type n)
BOOST_UBLAS_INLINE friend
derived_iterator_type 
operator-- (derived_iterator_type &d, int)

Detailed Description

template<class C, class IC>
class boost::numeric::ublas::indexed_const_iterator2< C, IC >

A class implementing an indexed random access iterator of a matrix.

Parameters:
Cthe (immutable) container type
ICthe iterator category

This class implements a random access iterator. The current position is stored as two unsigned integers it1_ and it2_ and the values are accessed via operator()(it1_, it2_) of the container. The iterator changes the second index.

uBLAS extension: index1(), index2() and access to the dual iterator via begin(), end(), rbegin() and rend()

Note 1: The container has to support the find2(rank, i, j) method

Note 2: there is an automatic conversion from indexed_iterator2 to indexed_const_iterator2

Definition at line 1306 of file iterator.hpp.


Member Typedef Documentation

template<class C , class IC >
typedef C boost::numeric::ublas::indexed_const_iterator2< C, IC >::container_type

Reimplemented from boost::numeric::ublas::container_const_reference< C >.

Definition at line 1313 of file iterator.hpp.

template<class C , class IC >
typedef IC boost::numeric::ublas::indexed_const_iterator2< C, IC >::iterator_category

Definition at line 1314 of file iterator.hpp.

template<class C , class IC >
typedef container_type::size_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::size_type

Definition at line 1315 of file iterator.hpp.

template<class C , class IC >
typedef container_type::difference_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::difference_type

Definition at line 1316 of file iterator.hpp.

template<class C , class IC >
typedef container_type::value_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::value_type

Definition at line 1317 of file iterator.hpp.

template<class C , class IC >
typedef container_type::const_reference boost::numeric::ublas::indexed_const_iterator2< C, IC >::reference

Definition at line 1318 of file iterator.hpp.

Definition at line 1320 of file iterator.hpp.

typedef indexed_const_iterator2< C, IC > boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::derived_iterator_type [inherited]

Definition at line 205 of file iterator.hpp.

typedef C::value_type boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::derived_value_type [inherited]

Definition at line 206 of file iterator.hpp.

typedef C::difference_type boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::derived_difference_type [inherited]

Definition at line 207 of file iterator.hpp.


Constructor & Destructor Documentation

template<class C , class IC >
BOOST_UBLAS_INLINE boost::numeric::ublas::indexed_const_iterator2< C, IC >::indexed_const_iterator2 ( ) [inline]

Definition at line 1326 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE boost::numeric::ublas::indexed_const_iterator2< C, IC >::indexed_const_iterator2 ( const container_type c,
size_type  it1,
size_type  it2 
) [inline]

Definition at line 1329 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE boost::numeric::ublas::indexed_const_iterator2< C, IC >::indexed_const_iterator2 ( const iterator_type it) [inline]

Definition at line 1332 of file iterator.hpp.


Member Function Documentation

template<class C , class IC >
BOOST_UBLAS_INLINE indexed_const_iterator2& boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator++ ( ) [inline]

Definition at line 1337 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE indexed_const_iterator2& boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator-- ( ) [inline]

Definition at line 1342 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE indexed_const_iterator2& boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator+= ( difference_type  n) [inline]

Definition at line 1347 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE indexed_const_iterator2& boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator-= ( difference_type  n) [inline]

Definition at line 1352 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE difference_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator- ( const indexed_const_iterator2< C, IC > &  it) const [inline]

Definition at line 1357 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE reference boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator* ( ) const [inline]

Definition at line 1365 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE reference boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator[] ( difference_type  n) const [inline]

Definition at line 1371 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::index1 ( ) const [inline]

Definition at line 1377 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::index2 ( ) const [inline]

Definition at line 1381 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE dual_iterator_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::begin ( ) const [inline]

Definition at line 1386 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE dual_iterator_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::end ( ) const [inline]

Definition at line 1390 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE dual_reverse_iterator_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::rbegin ( ) const [inline]

Definition at line 1394 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE dual_reverse_iterator_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::rend ( ) const [inline]

Definition at line 1398 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE indexed_const_iterator2& boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator= ( const indexed_const_iterator2< C, IC > &  it) [inline]

Definition at line 1404 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE bool boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator== ( const indexed_const_iterator2< C, IC > &  it) const [inline]

Definition at line 1415 of file iterator.hpp.

template<class C , class IC >
BOOST_UBLAS_INLINE bool boost::numeric::ublas::indexed_const_iterator2< C, IC >::operator< ( const indexed_const_iterator2< C, IC > &  it) const [inline]

Definition at line 1421 of file iterator.hpp.

template<class C>
BOOST_UBLAS_INLINE const container_type& boost::numeric::ublas::container_const_reference< C >::operator() ( ) const [inline, inherited]

Definition at line 41 of file iterator.hpp.

template<class C>
BOOST_UBLAS_INLINE container_const_reference& boost::numeric::ublas::container_const_reference< C >::assign ( const container_type c) [inline, inherited]

Definition at line 46 of file iterator.hpp.

template<class C>
BOOST_UBLAS_INLINE bool boost::numeric::ublas::container_const_reference< C >::same_closure ( const container_const_reference< C > &  cr) const [inline, inherited]

Definition at line 53 of file iterator.hpp.

BOOST_UBLAS_INLINE derived_iterator_type boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::operator++ ( int  ) [inline, inherited]

Definition at line 220 of file iterator.hpp.

BOOST_UBLAS_INLINE derived_iterator_type boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::operator-- ( int  ) [inline, inherited]

Definition at line 233 of file iterator.hpp.

BOOST_UBLAS_INLINE derived_iterator_type boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::operator+ ( derived_difference_type  n) const [inline, inherited]

Definition at line 246 of file iterator.hpp.

BOOST_UBLAS_INLINE derived_iterator_type boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::operator- ( derived_difference_type  n) const [inline, inherited]

Definition at line 261 of file iterator.hpp.

BOOST_UBLAS_INLINE bool boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::operator!= ( const derived_iterator_type it) const [inline, inherited]

Definition at line 273 of file iterator.hpp.

BOOST_UBLAS_INLINE bool boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::operator<= ( const derived_iterator_type it) const [inline, inherited]

Definition at line 278 of file iterator.hpp.

BOOST_UBLAS_INLINE bool boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::operator>= ( const derived_iterator_type it) const [inline, inherited]

Definition at line 283 of file iterator.hpp.

BOOST_UBLAS_INLINE bool boost::numeric::ublas::random_access_iterator_base< IC, indexed_const_iterator2< C, IC > , C::value_type , C::difference_type >::operator> ( const derived_iterator_type it) const [inline, inherited]

Definition at line 288 of file iterator.hpp.


Friends And Related Function Documentation

template<class C , class IC >
friend class indexed_iterator2< container_type, iterator_category > [friend]

Definition at line 1431 of file iterator.hpp.

BOOST_UBLAS_INLINE friend derived_iterator_type operator++ ( derived_iterator_type d,
int   
) [friend, inherited]

Definition at line 227 of file iterator.hpp.

BOOST_UBLAS_INLINE friend derived_iterator_type operator-- ( derived_iterator_type d,
int   
) [friend, inherited]

Definition at line 240 of file iterator.hpp.

BOOST_UBLAS_INLINE friend derived_iterator_type operator+ ( const derived_iterator_type d,
derived_difference_type  n 
) [friend, inherited]

Definition at line 251 of file iterator.hpp.

BOOST_UBLAS_INLINE friend derived_iterator_type operator+ ( derived_difference_type  n,
const derived_iterator_type d 
) [friend, inherited]

Definition at line 256 of file iterator.hpp.

BOOST_UBLAS_INLINE friend derived_iterator_type operator- ( const derived_iterator_type d,
derived_difference_type  n 
) [friend, inherited]

Definition at line 266 of file iterator.hpp.


Member Data Documentation

template<class C , class IC >
size_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::it1_ [private]

Definition at line 1428 of file iterator.hpp.

template<class C , class IC >
size_type boost::numeric::ublas::indexed_const_iterator2< C, IC >::it2_ [private]

Definition at line 1429 of file iterator.hpp.


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