plll  1.0
plll::linalg::base_matrix< T, Rows, Cols, StorageTraits, MathObject >::ColEnumerator Class Reference

An enumerator for a matrix' column. More...

#include <matrix.hpp>

Inheritance diagram for plll::linalg::base_matrix< T, Rows, Cols, StorageTraits, MathObject >::ColEnumerator:
plll::linalg::implementation::col_count_storage< Cols >

Public Types

typedef base_matrix< T, Rows,
Cols, StorageTraits,
MathObject >
::GetCoeffSteps_Type 
GetCoeffSteps_Type
 The intermediate type of the coefficients, which is returned by current().
 
typedef T & Type
 The final type of the coefficients.
 

Public Member Functions

Type current () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns the current matrix entry. More...
 
template<typename Result >
void get_current (Result &result) const PLLL_INTERNAL_NOTHROW_POSTFIX_CONDITIONAL(noexcept(result=*d_entry))
 Creates a copy of the current matrix entry in result. More...
 
GetCoeffSteps_Type get_current_steps () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns a GetCoeffSteps_Type object for the current entry. More...
 
bool has_current () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns true if a current element exists and can be queried by the current(), get_current() and get_current_steps() methods. More...
 
void next () PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Goes to the next element. More...
 

Detailed Description

template<typename T, int Rows, int Cols, typename StorageTraits, bool MathObject>
class plll::linalg::base_matrix< T, Rows, Cols, StorageTraits, MathObject >::ColEnumerator

An enumerator for a matrix' column.

It sequentially enumerates the elements of a matrix' column

Definition at line 2552 of file matrix.hpp.

Member Function Documentation

template<typename T, int Rows, int Cols, typename StorageTraits, bool MathObject>
Type plll::linalg::base_matrix< T, Rows, Cols, StorageTraits, MathObject >::ColEnumerator::current ( ) const
inline

Returns the current matrix entry.

Returns
A reference to the current entry.

Definition at line 2580 of file matrix.hpp.

template<typename T, int Rows, int Cols, typename StorageTraits, bool MathObject>
template<typename Result >
void plll::linalg::base_matrix< T, Rows, Cols, StorageTraits, MathObject >::ColEnumerator::get_current ( Result &  result) const
inlinenoexcept

Creates a copy of the current matrix entry in result.

Parameters
resultAn object to store the current element in.

Definition at line 2591 of file matrix.hpp.

template<typename T, int Rows, int Cols, typename StorageTraits, bool MathObject>
GetCoeffSteps_Type plll::linalg::base_matrix< T, Rows, Cols, StorageTraits, MathObject >::ColEnumerator::get_current_steps ( ) const
inline

Returns a GetCoeffSteps_Type object for the current entry.

Returns
A GetCoeffSteps_Type object for the current element.

Definition at line 2601 of file matrix.hpp.

template<typename T, int Rows, int Cols, typename StorageTraits, bool MathObject>
bool plll::linalg::base_matrix< T, Rows, Cols, StorageTraits, MathObject >::ColEnumerator::has_current ( ) const
inline

Returns true if a current element exists and can be queried by the current(), get_current() and get_current_steps() methods.

Returns
Returns true if an element is available.

Definition at line 2612 of file matrix.hpp.

template<typename T, int Rows, int Cols, typename StorageTraits, bool MathObject>
void plll::linalg::base_matrix< T, Rows, Cols, StorageTraits, MathObject >::ColEnumerator::next ( )
inline

Goes to the next element.

Must only be called if has_current() is true.

Definition at line 2622 of file matrix.hpp.


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