Stxxl  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
stxxl::const_matrix_iterator< ValueType, BlockSideLength > Class Template Reference

general const_iterator type that points to single elements inside a matrix More...

#include <matrix.h>

Inheritance diagram for stxxl::const_matrix_iterator< ValueType, BlockSideLength >:
Inheritance graph
[legend]
Collaboration diagram for stxxl::const_matrix_iterator< ValueType, BlockSideLength >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 const_matrix_iterator (const matrix_iterator< ValueType, BlockSideLength > &other)
 const_matrix_iterator (const const_matrix_iterator &other)
const_matrix_iteratoroperator= (const const_matrix_iterator &other)
 ~const_matrix_iterator ()
void set_row (const elem_size_type new_row)
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)
const elem_size_typeget_row () const
const elem_size_typeget_col () const
std::pair< elem_size_type,
elem_size_type
get_pos () const
bool empty () const
 operator bool () const
bool operator== (const const_matrix_iterator &other) 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.

Protected Types

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

Protected Member Functions

void acquire_current_iblock ()
void release_current_iblock ()
 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
 const_matrix_iterator (const matrix_type &matrix)
 create empty iterator
void set_empty ()

Protected Attributes

const matrix_typem
elem_size_type current_row
elem_size_type current_col
block_size_type current_block_row
block_size_type current_block_col
internal_block_typecurrent_iblock

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 708 of file matrix.h.


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 713 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 716 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]
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 714 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
typedef matrix<ValueType, BlockSideLength> stxxl::const_matrix_iterator< ValueType, BlockSideLength >::matrix_type [protected]
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 712 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 
) [inline, protected]

create iterator pointing to given row and col

Definition at line 743 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
stxxl::const_matrix_iterator< ValueType, BlockSideLength >::const_matrix_iterator ( const matrix_type matrix) [inline, protected]

create empty iterator

Definition at line 752 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 802 of file matrix.h.


Member Function Documentation

template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::acquire_current_iblock ( ) [inline, protected]

Definition at line 727 of file matrix.h.

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

Definition at line 853 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 847 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 850 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 844 of file matrix.h.

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

Definition at line 856 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 866 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
const_matrix_iterator& stxxl::const_matrix_iterator< ValueType, BlockSideLength >::operator= ( const const_matrix_iterator< ValueType, BlockSideLength > &  other) [inline]
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 ( ) [inline, protected]

Definition at line 733 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 816 of file matrix.h.

template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::set_empty ( ) [inline, protected]

Definition at line 760 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 827 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]
template<typename ValueType , unsigned BlockSideLength>
void stxxl::const_matrix_iterator< ValueType, BlockSideLength >::set_row ( const elem_size_type  new_row) [inline]

Definition at line 805 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 723 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 723 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines