Flow123d  jenkins-Flow123d-windows32-release-multijob-51
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
OutputData< Value > Class Template Reference

This class is used for storing data that are copied from field. More...

#include <output.h>

Inheritance diagram for OutputData< Value >:
Inheritance graph
[legend]
Collaboration diagram for OutputData< Value >:
Collaboration graph
[legend]

Public Types

typedef Value::element_type ElemType
 
- Public Types inherited from OutputDataBase
enum  ValueType { scalar =1, vector =3, tensor =9 }
 

Public Member Functions

 OutputData (const FieldCommon &field, unsigned int size)
 Constructor of templated OutputData. More...
 
 ~OutputData ()
 Destructor of OutputData. More...
 
void print (ostream &out_stream, unsigned int idx) override
 
void store_value (unsigned int idx, const Value &value)
 
void add (unsigned int idx, const Value &value)
 
void zero (unsigned int idx)
 
void normalize (unsigned int idx, unsigned int divisor)
 
- Public Member Functions inherited from OutputDataBase
virtual ~OutputDataBase ()
 

Private Member Functions

template<class Func >
void operate (unsigned int idx, const Value &val, const Func &func)
 

Private Attributes

ElemTypedata_
 
Value::return_type aux
 auxiliary value More...
 
Value val_aux
 
unsigned int n_rows
 
unsigned int n_cols
 

Additional Inherited Members

- Public Attributes inherited from OutputDataBase
std::string output_field_name
 
std::string field_name
 
UnitSI field_units
 
unsigned int n_values
 
ValueType n_elem_
 

Detailed Description

template<class Value>
class OutputData< Value >

This class is used for storing data that are copied from field.

Definition at line 98 of file output.h.

Member Typedef Documentation

template<class Value>
typedef Value::element_type OutputData< Value >::ElemType

Definition at line 100 of file output.h.

Constructor & Destructor Documentation

template<class Value>
OutputData< Value >::OutputData ( const FieldCommon field,
unsigned int  size 
)
inline

Constructor of templated OutputData.

Definition at line 105 of file output.h.

template<class Value>
OutputData< Value >::~OutputData ( )
inline

Destructor of OutputData.

Definition at line 148 of file output.h.

Member Function Documentation

template<class Value>
void OutputData< Value >::add ( unsigned int  idx,
const Value &  value 
)
inline

Add value to given index

Definition at line 181 of file output.h.

template<class Value>
void OutputData< Value >::normalize ( unsigned int  idx,
unsigned int  divisor 
)
inline

Definition at line 189 of file output.h.

template<class Value>
template<class Func >
void OutputData< Value >::operate ( unsigned int  idx,
const Value &  val,
const Func &  func 
)
inlineprivate

Definition at line 199 of file output.h.

Here is the caller graph for this function:

template<class Value>
void OutputData< Value >::print ( ostream &  out_stream,
unsigned int  idx 
)
inlineoverridevirtual

Output data element on given index idx. Method for writing data to output stream

TODO: should at least output whole output value at once, since storage format should be hidden. TODO: should output whole array at once, otherwise this could be performance bottleneck. TODO: indicate if the tensor data are output in column-first or raw-first order and possibly implement transposition. Set such property for individual file formats. Class OutputData stores always in raw-first order.

Implements OutputDataBase.

Definition at line 163 of file output.h.

template<class Value>
void OutputData< Value >::store_value ( unsigned int  idx,
const Value &  value 
)
inline

Store data element of given data value under given index.

Definition at line 174 of file output.h.

template<class Value>
void OutputData< Value >::zero ( unsigned int  idx)
inline

Definition at line 185 of file output.h.

Member Data Documentation

template<class Value>
Value::return_type OutputData< Value >::aux
private

auxiliary value

Definition at line 224 of file output.h.

template<class Value>
ElemType* OutputData< Value >::data_
private

Computed data values for output stored as continuous buffer of their data elements. One data value has n_elem data elements (of type double, int or unsigned int).

Definition at line 211 of file output.h.

template<class Value>
unsigned int OutputData< Value >::n_cols
private

Definition at line 230 of file output.h.

template<class Value>
unsigned int OutputData< Value >::n_rows
private

Definition at line 230 of file output.h.

template<class Value>
Value OutputData< Value >::val_aux
private

Definition at line 226 of file output.h.


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