RowVector< Cmpt > Class Template Reference

Templated 3D row-vector derived from MatrixSpace adding construction from 3 components and element access using x(), y() and z(). More...

Inheritance diagram for RowVector< Cmpt >:
[legend]
Collaboration diagram for RowVector< Cmpt >:
[legend]

Public Types

enum  components { X , Y , Z }
 Component labeling enumeration. More...
 
typedef RowVector< label > labelType
 Equivalent type of labels used for valid component indexing. More...
 
- Public Types inherited from MatrixSpace< RowVector< Cmpt >, Cmpt, 1, 3 >
typedef MatrixSpace< RowVector< Cmpt >, Cmpt, Mrows, Ncols > msType
 MatrixSpace type. More...
 
- Public Types inherited from VectorSpace< Form, Cmpt, Ncmpts >
typedef VectorSpace< Form, Cmpt, Ncmpts > vsType
 VectorSpace type. More...
 
typedef Cmpt cmptType
 Component type. More...
 
typedef Cmpt magType
 Magnitude type. More...
 
typedef Cmpt * iterator
 Random access iterator for traversing VectorSpace. More...
 
typedef const Cmpt * const_iterator
 Random access iterator for traversing VectorSpace. More...
 

Public Member Functions

 RowVector ()
 Construct null. More...
 
 RowVector (const Foam::zero)
 Construct initialized to zero. More...
 
template<class Cmpt2 >
 RowVector (const MatrixSpace< RowVector< Cmpt2 >, Cmpt2, 1, 3 > &)
 Construct given VectorSpace of the same rank. More...
 
 RowVector (const Cmpt &rvx, const Cmpt &rvy, const Cmpt &rvz)
 Construct given three components. More...
 
 RowVector (Istream &)
 Construct from Istream. More...
 
const Cmpt & x () const
 
const Cmpt & y () const
 
const Cmpt & z () const
 
Cmpt & x ()
 
Cmpt & y ()
 
Cmpt & z ()
 
- Public Member Functions inherited from MatrixSpace< RowVector< Cmpt >, Cmpt, 1, 3 >
 MatrixSpace ()=default
 Default construct. More...
 
 MatrixSpace (const Foam::zero)
 Construct initialized to zero. More...
 
 MatrixSpace (const VectorSpace< Form2, Cmpt2, Mrows *Ncols > &)
 Construct as copy of a VectorSpace with the same size. More...
 
 MatrixSpace (const Block2< RowVector< Cmpt >, BRowStart, BColStart > &block)
 Construct from a block of another matrix space. More...
 
 MatrixSpace (Istream &is)
 Construct from Istream. More...
 
const Cmpt & elmt () const
 Fast const element access using compile-time addressing. More...
 
Cmpt & elmt ()
 Fast element access using compile-time addressing. More...
 
const Cmpt & xx () const
 
Cmpt & xx ()
 
const Cmpt & xy () const
 
Cmpt & xy ()
 
const Cmpt & xz () const
 
Cmpt & xz ()
 
const Cmpt & yx () const
 
Cmpt & yx ()
 
const Cmpt & yy () const
 
Cmpt & yy ()
 
const Cmpt & yz () const
 
Cmpt & yz ()
 
const Cmpt & zx () const
 
Cmpt & zx ()
 
const Cmpt & zy () const
 
Cmpt & zy ()
 
const Cmpt & zz () const
 
Cmpt & zz ()
 
typeOfTranspose< Cmpt, RowVector< Cmpt > >::type T () const
 Return the transpose of the matrix. More...
 
ConstBlock< SubTensor, BRowStart, BColStart > block () const
 Return a const sub-block corresponding to the specified type. More...
 
Block< SubTensor, BRowStart, BColStart > block ()
 Return a sub-block corresponding to the specified type. More...
 
Foam::MatrixSpace< RowVector< Cmpt >, Cmpt, Mrows, Ncols >::template ConstBlock< SubTensor, BRowStart, BColStart > block () const
 
Foam::MatrixSpace< RowVector< Cmpt >, Cmpt, Mrows, Ncols >::template Block< SubTensor, BRowStart, BColStart > block ()
 
const Cmpt & operator() (const direction &i, const direction &j) const
 (i, j) const element access operator More...
 
Cmpt & operator() (const direction &i, const direction &j)
 (i, j) element access operator More...
 
void operator= (const Foam::zero)
 Assignment to zero. More...
 
void operator= (const Block2< RowVector< Cmpt >, BRowStart, BColStart > &block)
 Assignment to a block of another matrix space. More...
 
void operator&= (const MatrixSpace< RowVector< Cmpt >, Cmpt, Ncols, Ncols > &matrix)
 Inner product with a compatible square matrix. More...
 
- Public Member Functions inherited from VectorSpace< Form, Cmpt, Ncmpts >
 VectorSpace ()=default
 Default construct. More...
 
 VectorSpace (const Foam::zero)
 Construct initialized to zero. More...
 
 VectorSpace (const VectorSpace< Form, Cmpt, Ncmpts > &vs)
 Copy construct. More...
 
template<class Form2 , class Cmpt2 >
 VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &)
 Copy construct of a VectorSpace with the same size. More...
 
 VectorSpace (Istream &is)
 Construct from Istream. More...
 
const Cmpt & component (const direction) const
 
Cmpt & component (const direction)
 
void component (Cmpt &, const direction) const
 
void replace (const direction, const Cmpt &)
 
const Cmpt * cdata () const noexcept
 Return const pointer to the first data element. More...
 
Cmpt * data () noexcept
 Return pointer to the first data element. More...
 
template<class SubVector , direction BStart>
const ConstBlock< SubVector, BStart > block () const
 
const Cmpt & operator[] (const direction) const
 
Cmpt & operator[] (const direction)
 
void operator= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator+= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator-= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator= (const Foam::zero)
 
void operator*= (const scalar)
 
void operator/= (const scalar)
 
iterator begin () noexcept
 Return an iterator to begin of VectorSpace. More...
 
iterator end () noexcept
 Return an iterator to end of VectorSpace. More...
 
const_iterator cbegin () const noexcept
 Return const_iterator to begin of VectorSpace. More...
 
const_iterator cend () const noexcept
 Return const_iterator to end of VectorSpace. More...
 
const_iterator begin () const noexcept
 Return const_iterator to begin of VectorSpace. More...
 
const_iterator end () const noexcept
 Return const_iterator to end of VectorSpace. More...
 
template<class SubVector , Foam::direction BStart>
const Foam::VectorSpace< Form, Cmpt, Ncmpts >::template ConstBlock< SubVector, BStart > block () const
 

Additional Inherited Members

- Static Public Member Functions inherited from MatrixSpace< RowVector< Cmpt >, Cmpt, 1, 3 >
static direction m () noexcept
 The number of rows. More...
 
static direction n () noexcept
 The number of columns. More...
 
static msType identity ()
 An identity matrix for square matrix-spaces. More...
 
- Static Public Member Functions inherited from VectorSpace< Form, Cmpt, Ncmpts >
static constexpr direction size () noexcept
 The number of elements in the VectorSpace = Ncmpts. More...
 
static Form uniform (const Cmpt &s)
 Return a VectorSpace with all elements = s. More...
 
- Public Attributes inherited from VectorSpace< Form, Cmpt, Ncmpts >
Cmpt v_ [Ncmpts]
 The components of this vector space. More...
 
- Static Public Attributes inherited from MatrixSpace< RowVector< Cmpt >, Cmpt, 1, 3 >
static constexpr direction mRows
 
static constexpr direction nCols
 
- Static Public Attributes inherited from VectorSpace< Form, Cmpt, Ncmpts >
static constexpr direction dim = 3
 Dimensionality of space. More...
 
static constexpr direction nComponents = Ncmpts
 Number of components in this vector space. More...
 
static constexpr direction mRows = Ncmpts
 
static constexpr direction nCols = 1
 
static const char *const typeName = "diagTensor"
 
static const char *const componentNames []
 
static const Form zero
 
static const Form one
 
static const Form max
 
static const Form min
 
static const Form rootMax
 
static const Form rootMin
 

Detailed Description

template<class Cmpt>
class Foam::RowVector< Cmpt >

Templated 3D row-vector derived from MatrixSpace adding construction from 3 components and element access using x(), y() and z().

Source files

Definition at line 53 of file RowVector.H.

Member Typedef Documentation

◆ labelType

typedef RowVector<label> labelType

Equivalent type of labels used for valid component indexing.

Definition at line 61 of file RowVector.H.

Member Enumeration Documentation

◆ components

enum components

Component labeling enumeration.

Enumerator

Definition at line 65 of file RowVector.H.

Constructor & Destructor Documentation

◆ RowVector() [1/5]

RowVector
inline

Construct null.

Definition at line 31 of file RowVectorI.H.

◆ RowVector() [2/5]

RowVector ( const Foam::zero  )
inline

Construct initialized to zero.

Definition at line 36 of file RowVectorI.H.

◆ RowVector() [3/5]

RowVector ( const MatrixSpace< RowVector< Cmpt2 >, Cmpt2, 1, 3 > &  ms)
inline

Construct given VectorSpace of the same rank.

Definition at line 44 of file RowVectorI.H.

◆ RowVector() [4/5]

RowVector ( const Cmpt &  rvx,
const Cmpt &  rvy,
const Cmpt &  rvz 
)
inline

Construct given three components.

Definition at line 54 of file RowVectorI.H.

References Y.

◆ RowVector() [5/5]

RowVector ( Istream is)
inline

Construct from Istream.

Definition at line 68 of file RowVectorI.H.

Member Function Documentation

◆ x() [1/2]

const Cmpt & x
inline

Definition at line 77 of file RowVectorI.H.

◆ y() [1/2]

const Cmpt & y
inline

Definition at line 83 of file RowVectorI.H.

References Y.

◆ z() [1/2]

const Cmpt & z
inline

Definition at line 89 of file RowVectorI.H.

◆ x() [2/2]

Cmpt & x
inline

Definition at line 96 of file RowVectorI.H.

◆ y() [2/2]

Cmpt & y
inline

Definition at line 102 of file RowVectorI.H.

References Y.

◆ z() [2/2]

Cmpt & z
inline

Definition at line 108 of file RowVectorI.H.


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