Flow123d  jenkins-Flow123d-linux-release-multijob-198
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | List of all members
FieldValue_< NRows, NCols, ET > Class Template Reference

#include <field_values.hh>

Public Types

typedef ET element_type
 
typedef internal::ReturnType
< NRows, NCols, ET >
::return_type 
return_type
 
typedef internal::InputType
< ET >::type 
ElementInputType
 
typedef Input::Array AccessType
 

Public Member Functions

 FieldValue_ (return_type &val)
 
const ET * mem_ptr ()
 
void init_from_input (AccessType rec)
 
void set_n_comp (unsigned int)
 
unsigned int n_cols () const
 
unsigned int n_rows () const
 
ET & operator() (unsigned int i, unsigned int j)
 
ET operator() (unsigned int i, unsigned int j) const
 
 operator return_type () const
 

Static Public Member Functions

static std::string type_name ()
 
static IT::Array get_input_type (const ElementInputType *element_input_type=nullptr)
 
static const return_typefrom_raw (return_type &val, ET *raw_data)
 

Static Public Attributes

static const int NRows_ = NRows
 
static const int NCols_ = NCols
 

Private Attributes

return_typevalue_
 

Detailed Description

template<int NRows, int NCols, class ET>
class FieldValue_< NRows, NCols, ET >

Template for class representing all possible Filed values. It is just common interface to scalar (double, int) values, vector and tensor values with fixed size and vector/tensor values with variable size.

ET is type of elements, n_cols and n_rows gives fixed dimensions of the tensor value (nx1 is vector, 1x1 is scalar, 0x1 is variable size vector, 0x0 is variable size tensor (not implemented yet) )

TODO: This wrapper serves at least to several different things:

Maybe it could be better to split these two functions into two distinguish but related classes.

Definition at line 188 of file field_values.hh.

Member Typedef Documentation

template<int NRows, int NCols, class ET>
typedef Input::Array FieldValue_< NRows, NCols, ET >::AccessType

Definition at line 193 of file field_values.hh.

template<int NRows, int NCols, class ET>
typedef ET FieldValue_< NRows, NCols, ET >::element_type

Definition at line 190 of file field_values.hh.

template<int NRows, int NCols, class ET>
typedef internal::InputType<ET>::type FieldValue_< NRows, NCols, ET >::ElementInputType

Definition at line 192 of file field_values.hh.

template<int NRows, int NCols, class ET>
typedef internal::ReturnType<NRows, NCols, ET>::return_type FieldValue_< NRows, NCols, ET >::return_type

Definition at line 191 of file field_values.hh.

Constructor & Destructor Documentation

template<int NRows, int NCols, class ET>
FieldValue_< NRows, NCols, ET >::FieldValue_ ( return_type val)
inline

Definition at line 217 of file field_values.hh.

Member Function Documentation

template<int NRows, int NCols, class ET>
static const return_type& FieldValue_< NRows, NCols, ET >::from_raw ( return_type val,
ET *  raw_data 
)
inlinestatic

Definition at line 218 of file field_values.hh.

template<int NRows, int NCols, class ET>
static IT::Array FieldValue_< NRows, NCols, ET >::get_input_type ( const ElementInputType element_input_type = nullptr)
inlinestatic

Definition at line 198 of file field_values.hh.

template<int NRows, int NCols, class ET>
void FieldValue_< NRows, NCols, ET >::init_from_input ( AccessType  rec)
inline

Definition at line 222 of file field_values.hh.

template<int NRows, int NCols, class ET>
const ET* FieldValue_< NRows, NCols, ET >::mem_ptr ( )
inline

Definition at line 219 of file field_values.hh.

template<int NRows, int NCols, class ET>
unsigned int FieldValue_< NRows, NCols, ET >::n_cols ( ) const
inline

Definition at line 279 of file field_values.hh.

template<int NRows, int NCols, class ET>
unsigned int FieldValue_< NRows, NCols, ET >::n_rows ( ) const
inline

Definition at line 281 of file field_values.hh.

Here is the caller graph for this function:

template<int NRows, int NCols, class ET>
FieldValue_< NRows, NCols, ET >::operator return_type ( ) const
inline

Definition at line 287 of file field_values.hh.

template<int NRows, int NCols, class ET>
ET& FieldValue_< NRows, NCols, ET >::operator() ( unsigned int  i,
unsigned int  j 
)
inline

Definition at line 283 of file field_values.hh.

template<int NRows, int NCols, class ET>
ET FieldValue_< NRows, NCols, ET >::operator() ( unsigned int  i,
unsigned int  j 
) const
inline

Definition at line 285 of file field_values.hh.

template<int NRows, int NCols, class ET>
void FieldValue_< NRows, NCols, ET >::set_n_comp ( unsigned  int)
inline

Definition at line 278 of file field_values.hh.

template<int NRows, int NCols, class ET>
static std::string FieldValue_< NRows, NCols, ET >::type_name ( )
inlinestatic

Definition at line 197 of file field_values.hh.

Member Data Documentation

template<int NRows, int NCols, class ET>
const int FieldValue_< NRows, NCols, ET >::NCols_ = NCols
static

Definition at line 195 of file field_values.hh.

template<int NRows, int NCols, class ET>
const int FieldValue_< NRows, NCols, ET >::NRows_ = NRows
static

Definition at line 194 of file field_values.hh.

template<int NRows, int NCols, class ET>
return_type& FieldValue_< NRows, NCols, ET >::value_
private

Definition at line 291 of file field_values.hh.


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