fv::GenValue Class Referenceabstract
Inheritance diagram for fv::GenValue:
[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 GenValue * | get_value (const std::string &name)
static void | alias (const std::string &name, GenValue *value)
static GenValue * | alias (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

Mark the internal value as invalid.

This is needed for DerivedValue to force a recalculation of the internal value when a new observation is loaded into memory. It is called automatically for all GenValue objects when reset is called.

Implemented in fv::DerivedValue< T >, fv::DerivedValue< std::vector< float > >, fv::DerivedValue< std::vector< std::tuple< ArgTypes... > > >, fv::DerivedValue< int >, fv::DerivedValue< std::vector< R > >, fv::DerivedValue< std::vector< Ret > >, fv::DerivedValue< std::vector< T > >, fv::DerivedValue< T *>, fv::DerivedValue< bool >, fv::DerivedValue< std::pair< T1, T2 > >, fv::DerivedValue< std::vector< TLorentzVector > >, fv::DerivedValue< std::pair< T, int > >, and fv::ObservedValue< T >.

## 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:

- /home/caleb/Sources/TTTT/filval/value.hpp