Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Private Types | Private Attributes | Friends | List of all members
internal::TableEntry Struct Reference

#include <table_handler.h>

Public Member Functions

 TableEntry ()
 
template<typename T >
 TableEntry (const T &t)
 
template<typename T >
get () const
 
double get_numeric_value () const
 
void cache_string (bool scientific, unsigned int precision) const
 
const std::string & get_cached_string () const
 
TableEntry get_default_constructed_copy () const
 
template<class Archive >
void save (Archive &ar, const unsigned int version) const
 
template<class Archive >
void load (Archive &ar, const unsigned int version)
 

Private Types

typedef boost::variant< int,
unsigned int, unsigned long
long int, double, std::string > 
value_type
 

Private Attributes

value_type value
 
std::string cached_value
 

Friends

class ::TableHandler
 

Detailed Description

A TableEntry stores the value of a table entry. It can either be of type int, unsigned int, double or std::string. In essence, this structure is the same as boost::variant<int,unsigned int,double,std::string> but we wrap this object in a structure for which we can write a function that can serialize it. This is also why the function is not in fact of type boost::any.

Definition at line 53 of file table_handler.h.

Member Typedef Documentation

typedef boost::variant<int,unsigned int,unsigned long long int,double,std::string> internal::TableEntry::value_type
private

Abbreviation for the data type stored by this object.

Definition at line 128 of file table_handler.h.

Constructor & Destructor Documentation

internal::TableEntry::TableEntry ( )

Default constructor.

template<typename T >
internal::TableEntry::TableEntry ( const T &  t)

Constructor. Initialize this table element with the value t.

Definition at line 771 of file table_handler.h.

Member Function Documentation

template<typename T >
T internal::TableEntry::get ( ) const

Return the value stored by this object. The template type T must be one of int,unsigned int,double,std::string and it must match the data type of the object originally stored in this TableEntry object.

Definition at line 778 of file table_handler.h.

double internal::TableEntry::get_numeric_value ( ) const

Return the numeric value of this object if data has been stored in it either as an integer, an unsigned integer, or a double.

Returns
double
void internal::TableEntry::cache_string ( bool  scientific,
unsigned int  precision 
) const

Cache the contained value with the given formatting and return it. The given parameters from the column definition are used for the formatting. The value is cached as a string internally in cached_value. The cache needs to be invalidated with this routine if the formatting of the column changes.

const std::string& internal::TableEntry::get_cached_string ( ) const

Return the value cached using cache_string(). This is just a wrapper around cached_value.

TableEntry internal::TableEntry::get_default_constructed_copy ( ) const

Return a TableEntry object that has the same data type of the stored value but with a value that is default constructed for this data type. This is used to pad columns below previously set ones.

template<class Archive >
void internal::TableEntry::save ( Archive &  ar,
const unsigned int  version 
) const

Write the data of this object to a stream for the purpose of serialization.

Definition at line 800 of file table_handler.h.

template<class Archive >
void internal::TableEntry::load ( Archive &  ar,
const unsigned int  version 
)

Read the data of this object from a stream for the purpose of serialization.

Definition at line 833 of file table_handler.h.

Member Data Documentation

value_type internal::TableEntry::value
private

Stored value.

Definition at line 133 of file table_handler.h.

std::string internal::TableEntry::cached_value
mutableprivate

cache the current value as a string

Definition at line 138 of file table_handler.h.


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