NABLA  Nabla Ain't Basic Linear Algebra
Public Types | Public Member Functions | Private Member Functions | Friends | List of all members
vector_ref< expression_type, tag::expression< complexity >, orientation::row > Class Template Reference

Constant row reference template class partial specialization. More...

Inheritance diagram for vector_ref< expression_type, tag::expression< complexity >, orientation::row >:
Inheritance graph

Public Types

typedef expr_t::const_reference const_reference
 Type of reference to constant element.
typedef expr_t::value_type value_type
 Type of elements.

Public Member Functions

 vector_ref (const vector_ref &a)
 Copy constructor.
 vector_ref (const expr_t &a, size_t row)
 Initializing constructor.
const_reference operator() (size_t i) const
 Subscript operator.
const_reference operator[] (size_t i) const
 Subscript operator.
size_t size () const
 Returns size of vector.

Private Member Functions

vector_refoperator= (const vector_ref &)
 Inaccessible copy assignment operator.

Friends

expr_t & get_vector_ref (vector_ref &a)
 Returns reference to the argument.
const expr_t & get_vector_ref (const vector_ref &a)
 Returns reference to the argument.
size_t get_vector_row (const vector_ref &a)
 Returns index of the row.

Detailed Description

template<typename expression_type, size_t complexity>
class nabla::vector_ref< expression_type, tag::expression< complexity >, orientation::row >

Constant row reference template class partial specialization.

This class is used to refer to matrix rows as ordinary one dimensional vectors.

vector_ref refers to expressions and is tagged like this:

tag::expression<max(expression_complexity - 1, 0)>

where expression_complexity is the complexity value of the referred expression (see Complexity Concept).

See Also
vector_expression, row()

Definition at line 2380 of file matrix.h.


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