fmatvec  0.0.0
fmatvec::RowVector< Ref, AT > Class Template Reference

This is a rowvector class of general shape in dense storage format. More...

#include <row_vector.h>

Inheritance diagram for fmatvec::RowVector< Ref, AT >:
[legend]

Public Types

using iterator = AT *
 
using const_iterator = const AT *
 
using value_type = AT
 
- Public Types inherited from fmatvec::Matrix< General, Ref, Ref, AT >
using value_type = AT
 
using shape_type = General
 
using iterator = Iterator< false >
 
using const_iterator = Iterator< true >
 

Public Member Functions

 RowVector ()
 Standard constructor. More...
 
 RowVector (int n, Noinit ini)
 
 RowVector (int n, Init ini=INIT, const AT &a=AT())
 
 RowVector (const RowVector< Ref, AT > &x)
 Copy Constructor. More...
 
template<class Row >
 RowVector (const RowVector< Row, AT > &x)
 
template<class Type , class Row , class Col >
 RowVector (const Matrix< Type, Row, Col, AT > &x)
 
 RowVector (int n, AT *ele)
 Regular Constructor. More...
 
 RowVector (const char *str)
 String Constructor. More...
 
RowVector< Ref, AT > & resize (int n, Noinit)
 
RowVector< Ref, AT > & resize (int n, Init ini=INIT, const AT &a=AT())
 
RowVector< Ref, AT > & operator= (const RowVector< Ref, AT > &x)
 Assignment operator. More...
 
template<class Row >
RowVector< Ref, AT > & operator= (const RowVector< Row, AT > &x)
 Assignment operator. More...
 
RowVector< Ref, AT > & operator&= (RowVector< Ref, AT > &x)
 Reference operator. More...
 
RowVector< Ref, AT > & operator&= (Matrix< General, Ref, Ref, AT > &A)
 Reference operator. More...
 
template<class Row >
RowVector< Ref, AT > & operator<<= (const RowVector< Row, AT > &x)
 Rowvector assignment. More...
 
template<class AT2 >
 operator Vector< Ref, AT2 > () const
 
AT & operator() (int i)
 Element operator. More...
 
const AT & operator() (int i) const
 Element operator. More...
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
AT & e (int i)
 
const AT & e (int i) const
 
RowVector< Ref, AT > & init (const AT &val)
 Initialization. More...
 
RowVector< Ref, AT > & init (Init, const AT &a=AT())
 
RowVector< Ref, AT > & init (Noinit, const AT &a=AT())
 
int size () const
 Size. More...
 
int inc () const
 Increment. More...
 
const RowVector< Ref, AT > operator() (const Range< Var, Var > &I) const
 Subrowvector operator.
 
 operator std::vector< AT > () const
 Cast to std::vector<AT>. More...
 
 RowVector (const std::vector< AT > &v)
 std::vector<AT> Constructor. Constructs and initializes a vector with a std::vector<AT> object. More...
 
- Public Member Functions inherited from fmatvec::Matrix< General, Ref, Ref, AT >
 Matrix ()
 Standard constructor. More...
 
 Matrix (int m_, int n_, Noinit)
 
 Matrix (int m_, int n_, Init ini=INIT, const AT &a=AT())
 
 Matrix (int m_, int n_, Eye ini, const AT &a=1)
 
 Matrix (const Matrix< General, Ref, Ref, AT > &A)
 Copy Constructor. More...
 
template<class Row , class Col >
 Matrix (const Matrix< General, Row, Col, AT > &A)
 Copy Constructor. More...
 
template<class Type , class Row , class Col >
 Matrix (const Matrix< Type, Row, Col, AT > &A)
 Copy Constructor. More...
 
 Matrix (int m_, int n_, AT *ele_)
 Regular Constructor. More...
 
 Matrix (const std::string &strs)
 String Constructor. More...
 
 Matrix (const char *strs)
 
 ~Matrix ()=default
 Destructor.
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
Matrix< General, Ref, Ref, AT > & resize (int m_, int n_, Noinit)
 
Matrix< General, Ref, Ref, AT > & resize (int m, int n, Init ini=INIT, const AT &a=AT())
 
Matrix< General, Ref, Ref, AT > & resize (int m, int n, Eye ini, const AT &a=1)
 
Matrix< General, Ref, Ref, AT > & operator= (const Matrix< General, Ref, Ref, AT > &A)
 Assignment operator. More...
 
template<class Type , class Row , class Col >
Matrix< General, Ref, Ref, AT > & operator= (const Matrix< Type, Row, Col, AT > &A)
 Assignment operator. More...
 
Matrix< General, Ref, Ref, AT > & operator&= (Matrix< General, Ref, Ref, AT > &A)
 Reference operator. More...
 
template<class Type , class Row , class Col >
Matrix< General, Ref, Ref, AT > & operator<<= (const Matrix< Type, Row, Col, AT > &A)
 Matrix assignment. More...
 
template<class AT2 >
 operator Matrix< General, Ref, Ref, AT2 > () const
 
AT & operator() (int i, int j)
 Element operator. More...
 
const AT & operator() (int i, int j) const
 Element operator. More...
 
AT & e (int i, int j)
 
const AT & e (int i, int j) const
 
AT * operator() ()
 Pointer operator. More...
 
const AT * operator() () const
 Pointer operator. More...
 
int rows () const
 Number of rows. More...
 
int cols () const
 Number of columns. More...
 
int ldim () const
 Leading dimension. More...
 
CBLAS_TRANSPOSE blasTrans () const
 Transposed status. More...
 
CBLAS_ORDER blasOrder () const
 Storage convention. More...
 
const Matrix< General, Ref, Ref, AT > operator() (const Range< Var, Var > &I, const Range< Var, Var > &J) const
 Submatrix operator. More...
 
const SquareMatrix< Ref, AT > operator() (const Range< Var, Var > &I) const
 Submatrix operator.
 
const RowVector< Ref, AT > row (int i) const
 Row operator.
 
const Vector< Ref, AT > col (int j) const
 Column operator.
 
Matrix< General, Ref, Ref, AT > & init (const AT &val=AT())
 Initialization. More...
 
Matrix< General, Ref, Ref, AT > & init (Init, const AT &a=AT())
 
Matrix< General, Ref, Ref, AT > & init (Eye, const AT &val=1)
 
Matrix< General, Ref, Ref, AT > & init (Noinit, const AT &a=AT())
 
Matrix< General, Ref, Ref, AT > & init0 (const AT &val=AT())
 
Matrix< General, Ref, Ref, AT > & init0 (Init, const AT &a=AT())
 
 operator std::vector< std::vector< AT > > () const
 Cast to std::vector<std::vector<AT>>. More...
 
 Matrix (const std::vector< std::vector< AT > > &m)
 std::vector<std::vector<AT>> Constructor. Constructs and initializes a matrix with a std::vector<std::vector<AT>> object. An FMATVEC_ASSERT checks for constant length of each row. More...
 
int nonZeroElements () const
 Cast to AT. More...
 

Static Public Attributes

static constexpr bool isVector {true}
 
- Static Public Attributes inherited from fmatvec::Matrix< General, Ref, Ref, AT >
static constexpr bool isVector {false}
 

Detailed Description

template<class AT>
class fmatvec::RowVector< Ref, AT >

This is a rowvector class of general shape in dense storage format.

Template class RowVector of type General,Ref,Ref,id. shape is general and storage form is dense. The template parameter AT defines the atomic type of the rowvector. Valid types are int, float, double, complex<float> and complex<double>

Constructor & Destructor Documentation

◆ RowVector() [1/5]

template<class AT >
fmatvec::RowVector< Ref, AT >::RowVector ( )
inlineexplicit

Standard constructor.

Constructs a rowvector with no size.

◆ RowVector() [2/5]

template<class AT >
fmatvec::RowVector< Ref, AT >::RowVector ( const RowVector< Ref, AT > &  x)
inline

Copy Constructor.

Constructs a copy of the vector x.

Parameters
xThe vector that will be copied.

◆ RowVector() [3/5]

template<class AT >
fmatvec::RowVector< Ref, AT >::RowVector ( int  n,
AT *  ele 
)
inlineexplicit

Regular Constructor.

Constructs a rowvector of size m with the pyhsical memory given by ele_;

Parameters
nThe size.
eleThe physical memory the rowvector will point to.

◆ RowVector() [4/5]

template<class AT >
fmatvec::RowVector< Ref, AT >::RowVector ( const char *  str)
inline

String Constructor.

Constructs and initializes a vector with a string in a matlab-like notation. The entries are seperated by semicolons. For example

RowVector<double> x("[3,1,2]");
Definition: matrix.h:170

constructs the vector

\[ x=\begin{pmatrix}3 1 2\end{pmatrix} \]

Parameters
strThe string the vector will be initialized with.

◆ RowVector() [5/5]

template<class AT >
fmatvec::RowVector< Ref, AT >::RowVector ( const std::vector< AT > &  v)
inlineexplicit

std::vector<AT> Constructor. Constructs and initializes a vector with a std::vector<AT> object.

Parameters
vThe std::vector<AT> the vector will be initialized with.

Member Function Documentation

◆ inc()

template<class AT >
int fmatvec::RowVector< Ref, AT >::inc ( ) const
inline

Increment.

Todo:
Docu
Returns
The increment.

◆ init()

template<class AT >
RowVector< Ref, AT > & fmatvec::RowVector< Ref, AT >::init ( const AT &  val)
inline

Initialization.

Initializes all elements of the calling rowvector with the value given by a.

Parameters
aValue all elements will be initialized with.
Returns
A reference to the calling rowvector.

◆ operator std::vector< AT >()

template<class AT >
fmatvec::RowVector< Ref, AT >::operator std::vector< AT >
inlineexplicit

Cast to std::vector<AT>.

Returns
The std::vector<AT> representation of the vector

◆ operator&=() [1/2]

template<class AT >
RowVector< Ref, AT > & fmatvec::RowVector< Ref, AT >::operator&= ( Matrix< General, Ref, Ref, AT > &  A)
inline

Reference operator.

References the rowvector given by x.

Parameters
xThe rowvector to be referenced.
Returns
A reference to the calling rowvector.

◆ operator&=() [2/2]

template<class AT >
RowVector< Ref, AT > & fmatvec::RowVector< Ref, AT >::operator&= ( RowVector< Ref, AT > &  x)
inline

Reference operator.

References the rowvector given by x.

Parameters
xThe rowvector to be referenced.
Returns
A reference to the calling rowvector.

◆ operator()() [1/2]

template<class AT >
AT & fmatvec::RowVector< Ref, AT >::operator() ( int  i)
inline

Element operator.

Returns a reference to the i-th element.

Parameters
iThe i-th element.
Returns
A reference to the element x(i).
Remarks
The bounds are checked in debug mode.
See also
operator()(int) const

◆ operator()() [2/2]

template<class AT >
const AT & fmatvec::RowVector< Ref, AT >::operator() ( int  i) const
inline

Element operator.

See operator()(int)

◆ operator<<=()

template<class AT >
template<class Row >
RowVector< Ref, AT > & fmatvec::RowVector< Ref, AT >::operator<<= ( const RowVector< Row, AT > &  x)
inline

Rowvector assignment.

Copies the rowvector given by x.

Parameters
xThe rowvector to be copied.
Returns
A reference to the calling rowvector.

◆ operator=() [1/2]

template<class AT >
RowVector< Ref, AT > & fmatvec::RowVector< Ref, AT >::operator= ( const RowVector< Ref, AT > &  x)
inline

Assignment operator.

Copies the rowvector given by x.

Parameters
xThe rowvector to be assigned.
Returns
A reference to the calling rowvector.

◆ operator=() [2/2]

template<class AT >
template<class Row >
RowVector< Ref, AT > & fmatvec::RowVector< Ref, AT >::operator= ( const RowVector< Row, AT > &  x)
inline

Assignment operator.

Copies the rowvector given by x.

Parameters
xThe rowvector to be assigned.
Returns
A reference to the calling rowvector.

◆ size()

template<class AT >
int fmatvec::RowVector< Ref, AT >::size ( ) const
inline

Size.

Returns
The size of the rowvector.

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