Flow123d  DF_patch_fe_data_tables-3df4116
Public Member Functions | Protected Attributes | Static Private Member Functions | List of all members
ArenaOVec< T > Class Template Reference

Outer product - only proposal of multi operator. More...

#include <arena_vec.hh>

Inheritance diagram for ArenaOVec< T >:
Inheritance graph
[legend]
Collaboration diagram for ArenaOVec< T >:
Collaboration graph
[legend]

Public Member Functions

 ArenaOVec ()
 Default constructor. More...
 
 ArenaOVec (const ArenaOVec< T > &other)
 Copy constructor. More...
 
 ArenaOVec (T scalar_val)
 Constructor. Set scalar_val. More...
 
 ArenaOVec (ArenaVec< T > &vec, size_t data_size)
 
ArenaVec< T > get_vec () const
 Convert ArenaOVec to ArenaVec and its. More...
 
ArenaOVec< T > & operator= (const ArenaOVec< T > &other)
 
ArenaOVec< T > operator+ (const ArenaOVec< T > &other) const
 
ArenaOVec< T > operator* (const ArenaOVec< T > &other) const
 
- Public Member Functions inherited from ArenaVec< T >
 ArenaVec ()
 Default constructor, set invalid data pointer. More...
 
 ArenaVec (T scalar_val)
 
 ArenaVec (size_t data_size, PatchArena &arena)
 
 ArenaVec (const ArenaVec< T > &other)
 Copy constructor. More...
 
Eigen::Map< VecDataeigen_map ()
 
const Eigen::Map< VecDataeigen_map () const
 Smae as previous but with const modifier. More...
 
Eigen::Map< ArrayDataarray_map ()
 
const Eigen::Map< ArrayDataarray_map () const
 Smae as previous but with const modifier. More...
 
T * data_ptr ()
 Return data pointer (development method) More...
 
const T * data_ptr () const
 Smae as previous but return const pointer. More...
 
size_t data_size () const
 Getter for data_size_. More...
 
PatchArenaarena ()
 Getter for arena_. More...
 
void set_patch_arena (PatchArena &arena)
 Set pointer to PatchArena. More...
 
ArenaVec< T > sqrt () const
 
ArenaVec< T > inverse () const
 
ArenaVec< T > abs () const
 
T & operator() (std::size_t item)
 For development only. TODO remove. More...
 
const T & operator() (std::size_t item) const
 For development only. TODO remove. More...
 
ArenaVec< T > & operator= (const ArenaVec< T > &other)
 
ArenaVec< T > operator+ (const ArenaVec< T > &other) const
 
ArenaVec< T > operator- (const ArenaVec< T > &other) const
 
ArenaVec< T > operator* (T multi) const
 
ArenaVec< T > operator* (const ArenaVec< T > &other) const
 
ArenaVec< T > operator/ (T div_by) const
 
ArenaVec< T > operator/ (const ArenaVec< T > &other) const
 

Protected Attributes

ArenaVec< T > & vec_
 Reference to ArenaVec. More...
 
- Protected Attributes inherited from ArenaVec< T >
T * data_ptr_
 Pointer to data array. More...
 
size_t data_size_
 Length of data array. More...
 
PatchArenaarena_
 Pointer to Arena where intermediate calculations and results are stored, should be changed by set_patch_arena. More...
 
scalar_val_
 Scalar value of T type. More...
 

Static Private Member Functions

static ArenaVec< T > & empty_arena_vec ()
 Return empty ArenaVec object, use in default constructor. More...
 

Additional Inherited Members

- Public Types inherited from ArenaVec< T >
typedef Eigen::Matrix< T, Eigen::Dynamic, 1 > VecData
 Type definition. More...
 
typedef Eigen::Array< T, Eigen::Dynamic, 1 > ArrayData
 
- Protected Member Functions inherited from ArenaVec< T >
 ArenaVec (T *data_ptr, size_t data_size, PatchArena &arena)
 Constructor. Allows create ArenaVec from ArenaOVec. More...
 

Detailed Description

template<class T>
class ArenaOVec< T >

Outer product - only proposal of multi operator.

Definition at line 237 of file arena_vec.hh.

Constructor & Destructor Documentation

◆ ArenaOVec() [1/4]

template<class T >
ArenaOVec< T >::ArenaOVec ( )
inline

Default constructor.

Definition at line 247 of file arena_vec.hh.

◆ ArenaOVec() [2/4]

template<class T >
ArenaOVec< T >::ArenaOVec ( const ArenaOVec< T > &  other)
inline

Copy constructor.

Definition at line 251 of file arena_vec.hh.

◆ ArenaOVec() [3/4]

template<class T >
ArenaOVec< T >::ArenaOVec ( scalar_val)
inline

Constructor. Set scalar_val.

Definition at line 255 of file arena_vec.hh.

◆ ArenaOVec() [4/4]

template<class T >
ArenaOVec< T >::ArenaOVec ( ArenaVec< T > &  vec,
size_t  data_size 
)
inline

Constructor creates ArenaOVec on data of ArenaVec

Second argument is hack. If it isn't defined this constructor is in conflict with copy constructor.

Definition at line 263 of file arena_vec.hh.

Member Function Documentation

◆ empty_arena_vec()

template<class T >
static ArenaVec<T>& ArenaOVec< T >::empty_arena_vec ( )
inlinestaticprivate

Return empty ArenaVec object, use in default constructor.

Definition at line 240 of file arena_vec.hh.

◆ get_vec()

template<class T >
ArenaVec<T> ArenaOVec< T >::get_vec ( ) const
inline

Convert ArenaOVec to ArenaVec and its.

Definition at line 274 of file arena_vec.hh.

Here is the caller graph for this function:

◆ operator*()

template<class T >
ArenaOVec<T> ArenaOVec< T >::operator* ( const ArenaOVec< T > &  other) const
inline

Definition at line 296 of file arena_vec.hh.

◆ operator+()

template<class T >
ArenaOVec<T> ArenaOVec< T >::operator+ ( const ArenaOVec< T > &  other) const
inline

Definition at line 285 of file arena_vec.hh.

◆ operator=()

template<class T >
ArenaOVec<T>& ArenaOVec< T >::operator= ( const ArenaOVec< T > &  other)
inline

Definition at line 278 of file arena_vec.hh.

Member Data Documentation

◆ vec_

template<class T >
ArenaVec<T>& ArenaOVec< T >::vec_
protected

Reference to ArenaVec.

Definition at line 306 of file arena_vec.hh.


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