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

Detailed Description

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

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

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

Public Member Functions

 matrix_iterator (const matrix_iterator &other)
 
 ~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
 
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...
 
matrix_iteratoroperator= (const matrix_iterator &other)
 
bool operator== (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

 matrix_iterator (matrix_type &matrix, const elem_size_type start_row, const elem_size_type start_col)
 create iterator pointing to given row and col More...
 
 matrix_iterator (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
 
matrix_typem
 

Member Typedef Documentation

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

Definition at line 431 of file matrix.h.

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

Definition at line 434 of file matrix.h.

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

Definition at line 433 of file matrix.h.

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

Definition at line 432 of file matrix.h.

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

Definition at line 429 of file matrix.h.

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

Definition at line 430 of file matrix.h.

Constructor & Destructor Documentation

template<typename ValueType, unsigned BlockSideLength>
stxxl::matrix_iterator< ValueType, BlockSideLength >::matrix_iterator ( 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 465 of file matrix.h.

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

create empty iterator

Definition at line 474 of file matrix.h.

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

Definition at line 513 of file matrix.h.

Member Function Documentation

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

Definition at line 449 of file matrix.h.

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

Definition at line 564 of file matrix.h.

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

Definition at line 558 of file matrix.h.

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

Definition at line 561 of file matrix.h.

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

Definition at line 555 of file matrix.h.

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

Definition at line 567 of file matrix.h.

template<typename ValueType, unsigned BlockSideLength>
ValueType& stxxl::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 577 of file matrix.h.

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

Definition at line 455 of file matrix.h.

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

Definition at line 527 of file matrix.h.

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

Definition at line 482 of file matrix.h.

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

Definition at line 538 of file matrix.h.

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

Definition at line 552 of file matrix.h.

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

Definition at line 516 of file matrix.h.

Member Data Documentation

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

Definition at line 445 of file matrix.h.

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

Definition at line 445 of file matrix.h.

template<typename ValueType, unsigned BlockSideLength>
elem_size_type stxxl::matrix_iterator< ValueType, BlockSideLength >::current_col
protected
template<typename ValueType, unsigned BlockSideLength>
elem_size_type stxxl::matrix_iterator< ValueType, BlockSideLength >::current_row
protected
template<typename ValueType, unsigned BlockSideLength>
matrix_type* stxxl::matrix_iterator< ValueType, BlockSideLength >::m
protected

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