Template Numerical Library: TNL::Containers::StaticVector< Size, Real > Class Template Reference

Template Numerical Library version\ main:c7077e4fd

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
TNL::Containers::StaticVector< Size, Real > Class Template Reference

Vector with constant size. More...

`#include <TNL/Containers/StaticVector.h>`

Inheritance diagram for TNL::Containers::StaticVector< Size, Real >:
[legend]
Collaboration diagram for TNL::Containers::StaticVector< Size, Real >:
[legend]

## Public Types
using | IndexType = int
| Indexing type.
using | RealType = Real
| Type of numbers stored in this vector.
Public Types inherited from TNL::Containers::StaticArray< Size, double >
using | IndexType
| Type being used for the array elements indexing.
using | ValueType
| Type of elements stored in this array.

## Public Member Functions
__cuda_callable__ constexpr | StaticVector ()=default
| Default constructor.
template<typename T1, typename T2, typename Operation>
constexpr | StaticVector (const Expressions::StaticBinaryExpressionTemplate< T1, T2, Operation > &expr)
| Constructor from binary vector expression.
template<typename T, typename Operation>
constexpr | StaticVector (const Expressions::StaticUnaryExpressionTemplate< T, Operation > &expr)
| Constructor from unary expression.
__cuda_callable__ constexpr | StaticVector (const StaticVector &)=default
| Default copy constructor.
template<typename VectorExpression>
constexpr StaticVector & | operator%= (const VectorExpression &expression)
| Elementwise modulo by a vector expression.
template<typename VectorExpression>
constexpr StaticVector & | operator*= (const VectorExpression &expression)
| Elementwise multiplication by a vector expression.
template<typename VectorExpression>
constexpr StaticVector & | operator+= (const VectorExpression &expression)
| Addition operator with a vector expression.
template<typename VectorExpression>
constexpr StaticVector & | operator-= (const VectorExpression &expression)
| Subtraction operator with a vector expression.
template<typename VectorExpression>
constexpr StaticVector & | operator/= (const VectorExpression &expression)
| Elementwise division by a vector expression.
constexpr StaticVector & | operator= (const StaticVector &)=default
| Default copy-assignment operator.
template<typename VectorExpression>
constexpr StaticVector & | operator= (const VectorExpression &expression)
| Assignment operator with a vector expression.
constexpr StaticVector & | operator= (StaticVector &&) noexcept=default
| Default move-assignment operator.
Public Member Functions inherited from TNL::Containers::StaticArray< Size, double >
__cuda_callable__ constexpr | StaticArray ()=default
| Default constructor.
constexpr double * | getData () noexcept
| Gets pointer to data of this static array.
constexpr double | getElement (IndexType i) const noexcept
| Returns the value of the i-th element.
void | load (File &file)
| Loads data from the file to this static array.
constexpr bool | operator!= (const Array &array) const
| This function checks whether this static array is not equal to another array.
constexpr const double & | operator() (int i) const noexcept
| Accesses specified element at the position i and returns a constant reference to its value.
constexpr StaticArray & | operator= (const StaticArray &v)
| Copy-assignment operator.
constexpr bool | operator== (const Array &array) const
| This function checks whether this static array is equal to another array.
constexpr const double & | operator[] (int i) const noexcept
| Accesses specified element at the position i and returns a constant reference to its value.
void | save (File &file) const
| Saves this static array into the file.
constexpr void | setElement (IndexType i, ValueType value) noexcept
| Sets the value of the i-th element to value.
constexpr void | setValue (const ValueType &val)
| Sets all values of this static array to val.
constexpr void | sort ()
| Sorts the elements in this static array in ascending order.
std::ostream & | write (std::ostream &str, const char *separator=" ") const
| Writes the array values into stream str with specified separator.
constexpr double & | x () noexcept
| Returns reference to the first coordinate.
constexpr double & | y () noexcept
| Returns reference to the second coordinate for arrays with Size >= 2.
constexpr double & | z () noexcept
| Returns reference to the third coordinate for arrays with Size >= 3.

## Additional Inherited Members
Static Public Member Functions inherited from TNL::Containers::StaticArray< Size, double >
static constexpr int | getSize ()
| Gets size of this array.
Protected Attributes inherited from TNL::Containers::StaticArray< Size, double >
std::array< double, Size > | data

## Detailed Description

template<int Size, typename Real = double>
class TNL::Containers::StaticVector< Size, Real >

Vector with constant size.

Parameters

  Size | Size of static vector. Number of its elements.
  Real | Type of the values in the static vector.

## Constructor & Destructor Documentation

## ◆ StaticVector() [1/2]

template<int Size, typename Real = double>
template<typename T1, typename T2, typename Operation>

TNL::Containers::StaticVector< Size, Real >::StaticVector | ( | const Expressions::StaticBinaryExpressionTemplate< T1, T2, Operation > & | expr | ) |
| constexpr

Constructor from binary vector expression.

Parameters

  expr | is binary expression.

## ◆ StaticVector() [2/2]

template<int Size, typename Real = double>
template<typename T, typename Operation>

TNL::Containers::StaticVector< Size, Real >::StaticVector | ( | const Expressions::StaticUnaryExpressionTemplate< T, Operation > & | expr | ) |
| constexpr

Constructor from unary expression.

Parameters

  expr | is unary expression

## Member Function Documentation

## ◆ operator%=()

template<int Size, typename Real = double>
template<typename VectorExpression>

StaticVector & TNL::Containers::StaticVector< Size, Real >::operator%= | ( | const VectorExpression & | expression | ) |
| constexpr

Elementwise modulo by a vector expression.

The vector expression can be even just static vector.

Parameters

  expression | is the vector expression

Returns
  reference to this vector

## ◆ operator*=()

template<int Size, typename Real = double>
template<typename VectorExpression>

StaticVector & TNL::Containers::StaticVector< Size, Real >::operator*= | ( | const VectorExpression & | expression | ) |
| constexpr

Elementwise multiplication by a vector expression.

The vector expression can be even just static vector.

Parameters

  expression | is the vector expression.

Returns
  reference to this vector

## ◆ operator+=()

template<int Size, typename Real = double>
template<typename VectorExpression>

StaticVector & TNL::Containers::StaticVector< Size, Real >::operator+= | ( | const VectorExpression & | expression | ) |
| constexpr

Addition operator with a vector expression.

The vector expression can be even just static vector.

Parameters

  expression | is the vector expression

Returns
  reference to this vector

## ◆ operator-=()

template<int Size, typename Real = double>
template<typename VectorExpression>

StaticVector & TNL::Containers::StaticVector< Size, Real >::operator-= | ( | const VectorExpression & | expression | ) |
| constexpr

Subtraction operator with a vector expression.

The vector expression can be even just static vector.

Parameters

  expression | is the vector expression

Returns
  reference to this vector

## ◆ operator/=()

template<int Size, typename Real = double>
template<typename VectorExpression>

StaticVector & TNL::Containers::StaticVector< Size, Real >::operator/= | ( | const VectorExpression & | expression | ) |
| constexpr

Elementwise division by a vector expression.

The vector expression can be even just static vector.

Parameters

  expression | is the vector expression

Returns
  reference to this vector

## ◆ operator=()

template<int Size, typename Real = double>
template<typename VectorExpression>

StaticVector & TNL::Containers::StaticVector< Size, Real >::operator= | ( | const VectorExpression & | expression | ) |
| constexpr

Assignment operator with a vector expression.

The vector expression can be even just static vector.

Parameters

  expression | is the vector expression

Returns
  reference to this vector

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

- src/TNL/Containers/StaticVector.h