TTTT Analysis  0.1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Attributes | Private Attributes | Friends | List of all members
fv::GenValue Class Referenceabstract
Inheritance diagram for fv::GenValue:
Inheritance graph
[legend]

Public Member Functions

 GenValue (const std::string &name, const std::string &alias)
 
const std::string & get_name ()
 
void set_name (const std::string &new_name)
 

Static Public Member Functions

static void reset ()
 
static GenValueget_value (const std::string &name)
 
static void alias (const std::string &name, GenValue *value)
 
static GenValuealias (const std::string &name)
 
static std::string summary ()
 

Protected Member Functions

virtual void _reset ()=0
 Mark the internal value as invalid. More...
 

Static Protected Attributes

static std::map< const std::string, GenValue * > values
 A static mapping containing all created Value objects. More...
 
static std::map< const std::string, GenValue * > aliases
 Composite value names are typically nested. More...
 

Private Attributes

std::string name
 The name of the value. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const GenValue &gv)
 

Member Function Documentation

◆ _reset()

virtual void fv::GenValue::_reset ( )
protectedpure virtual

Member Data Documentation

◆ aliases

std::map<const std::string, GenValue*> fv::GenValue::aliases
inlinestaticprotected

Composite value names are typically nested.

This makes complex values have rather unwieldy names. Therefore, one can declare aliases which allow for more human-usable names to be used. When a value is requested by name, an alias with that value takes precidence over a name with that value.

◆ name

std::string fv::GenValue::name
private

The name of the value.

This is used to allow for dynamic lookup of values based on their name via GenValue::get_value.

◆ values

std::map<const std::string, GenValue*> fv::GenValue::values
inlinestaticprotected

A static mapping containing all created Value objects.

Every value object must have a unique name, and this name is used as a key in values to that object. This is used to enable more dynamic creation of objects as well as avoiding the uneccesary passing of pointers.


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