STXXL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::const_matrix_iterator< ValueType, BlockSideLength > Class Template Reference

Detailed Description

template<typename ValueType, unsigned BlockSideLength>
class stxxl::const_matrix_iterator< ValueType, BlockSideLength >

general const_iterator type that points to single elements inside a matrix

Template Parameters
ValueTypetype of contained objects (POD with no references to internal memory)
BlockSideLengthside length of a matrix block

Definition at line 720 of file matrix.h.

+ Inheritance diagram for stxxl::const_matrix_iterator< ValueType, BlockSideLength >:
+ Collaboration diagram for stxxl::const_matrix_iterator< ValueType, BlockSideLength >:

Public Member Functions

 const_matrix_iterator (const matrix_iterator< ValueType, BlockSideLength > &other)
 
 const_matrix_iterator (const const_matrix_iterator &other)
 
 ~const_matrix_iterator ()
 
bool empty () const
 
const elem_size_typeget_col () const
 
std::pair< elem_size_type,
elem_size_type
get_pos () const
 
const elem_size_typeget_row () const
 
 operator bool () const
 
const ValueType & operator* ()
 Returns reference access to the element referenced by the iterator. The reference is only valid so long as the iterator is not moved. More...
 
const_matrix_iteratoroperator= (const const_matrix_iterator &other)
 
bool operator== (const const_matrix_iterator &other) const
 
void set_col (const elem_size_type new_col)
 
void set_pos (const elem_size_type new_row, const elem_size_type new_col)
 
void set_pos (const std::pair< elem_size_type, elem_size_type > new_pos)
 
void set_row (const elem_size_type new_row)
 

Protected Types

typedef
matrix_type::block_scheduler_type 
block_scheduler_type
 
typedef
matrix_type::block_size_type 
block_size_type
 
typedef matrix_type::elem_size_type elem_size_type
 
typedef
block_scheduler_type::internal_block_type 
internal_block_type
 
typedef matrix< ValueType,
BlockSideLength > 
matrix_type
 
typedef
matrix_type::swappable_block_matrix_type 
swappable_block_matrix_type
 

Protected Member Functions

 const_matrix_iterator (const matrix_type &matrix, const elem_size_type start_row, const elem_size_type start_col)
 create iterator pointing to given row and col More...
 
 const_matrix_iterator (const matrix_type &matrix)
 create empty iterator More...
 
void acquire_current_iblock ()
 
void release_current_iblock ()
 
void set_empty ()
 

Protected Attributes

block_size_type current_block_col
 
block_size_type current_block_row
 
elem_size_type current_col
 
internal_block_typecurrent_iblock
 
elem_size_type current_row
 
const matrix_typem
 

Member Typedef Documentation

template<typename ValueType , unsigned BlockSideLength>
typedef matrix_type::block_scheduler_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::block_scheduler_type
protected

Definition at line 725 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
typedef matrix_type::block_size_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::block_size_type
protected

Definition at line 728 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
typedef matrix_type::elem_size_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::elem_size_type
protected

Definition at line 727 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
typedef block_scheduler_type::internal_block_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::internal_block_type
protected

Definition at line 726 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
typedef matrix<ValueType, BlockSideLength> stxxl::const_matrix_iterator< ValueType, BlockSideLength >::matrix_type
protected

Definition at line 723 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
typedef matrix_type::swappable_block_matrix_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::swappable_block_matrix_type
protected

Definition at line 724 of file matrix.h.

Constructor & Destructor Documentation

template<typename ValueType , unsigned BlockSideLength>
stxxl::const_matrix_iterator< ValueType, BlockSideLength >::const_matrix_iterator ( const matrix_type matrix,
const elem_size_type  start_row,
const elem_size_type  start_col 
)
inlineprotected

create iterator pointing to given row and col

Definition at line 756 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
stxxl::const_matrix_iterator< ValueType, BlockSideLength >::const_matrix_iterator ( const matrix_type matrix)
inlineprotected

create empty iterator

Definition at line 765 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
stxxl::const_matrix_iterator< ValueType, BlockSideLength >::const_matrix_iterator ( const matrix_iterator< ValueType, BlockSideLength > &  other)
inline
template<typename ValueType , unsigned BlockSideLength>
stxxl::const_matrix_iterator< ValueType, BlockSideLength >::const_matrix_iterator ( const const_matrix_iterator< ValueType, BlockSideLength > &  other)
inline
template<typename ValueType , unsigned BlockSideLength>
stxxl::const_matrix_iterator< ValueType, BlockSideLength >::~const_matrix_iterator ( )
inline

Definition at line 816 of file matrix.h.

Member Function Documentation

template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::acquire_current_iblock ( )
inlineprotected

Definition at line 740 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
bool stxxl::const_matrix_iterator< ValueType, BlockSideLength >::empty ( ) const
inline

Definition at line 867 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
const elem_size_type& stxxl::const_matrix_iterator< ValueType, BlockSideLength >::get_col ( ) const
inline

Definition at line 861 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
std::pair<elem_size_type, elem_size_type> stxxl::const_matrix_iterator< ValueType, BlockSideLength >::get_pos ( ) const
inline

Definition at line 864 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
const elem_size_type& stxxl::const_matrix_iterator< ValueType, BlockSideLength >::get_row ( ) const
inline

Definition at line 858 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
stxxl::const_matrix_iterator< ValueType, BlockSideLength >::operator bool ( ) const
inline

Definition at line 870 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
const ValueType& stxxl::const_matrix_iterator< ValueType, BlockSideLength >::operator* ( )
inline

Returns reference access to the element referenced by the iterator. The reference is only valid so long as the iterator is not moved.

Definition at line 880 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
bool stxxl::const_matrix_iterator< ValueType, BlockSideLength >::operator== ( const const_matrix_iterator< ValueType, BlockSideLength > &  other) const
inline
template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::release_current_iblock ( )
inlineprotected

Definition at line 746 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::set_col ( const elem_size_type  new_col)
inline

Definition at line 830 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::set_empty ( )
inlineprotected

Definition at line 773 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::set_pos ( const elem_size_type  new_row,
const elem_size_type  new_col 
)
inline

Definition at line 841 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::set_pos ( const std::pair< elem_size_type, elem_size_type new_pos)
inline

Definition at line 855 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::set_row ( const elem_size_type  new_row)
inline

Definition at line 819 of file matrix.h.

Member Data Documentation

template<typename ValueType , unsigned BlockSideLength>
block_size_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::current_block_col
protected

Definition at line 736 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
block_size_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::current_block_row
protected

Definition at line 736 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
elem_size_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::current_col
protected
template<typename ValueType , unsigned BlockSideLength>
internal_block_type* stxxl::const_matrix_iterator< ValueType, BlockSideLength >::current_iblock
protected
template<typename ValueType , unsigned BlockSideLength>
elem_size_type stxxl::const_matrix_iterator< ValueType, BlockSideLength >::current_row
protected
template<typename ValueType , unsigned BlockSideLength>
const matrix_type* stxxl::const_matrix_iterator< ValueType, BlockSideLength >::m
protected

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