TTTT Analysis  0.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
filval::Reduce< T > Class Template Reference

Reduce a Value of type vector<T> to just a T. More...

#include <value.hpp>

Inheritance diagram for filval::Reduce< T >:
Inheritance graph
[legend]
Collaboration diagram for filval::Reduce< T >:
Collaboration graph
[legend]

Public Member Functions

 Reduce (const std::string &name, std::function< T(std::vector< T >)> reduce, Value< std::vector< T > > *v)
 
 Reduce (const std::string &name, std::function< T(std::vector< T >)> reduce, const std::string &v_name)
 
- Public Member Functions inherited from filval::DerivedValue< T >
 DerivedValue (const std::string &name)
 
T & get_value ()
 Calculate, if necessary, and return the value held by this object.
 
- Public Member Functions inherited from filval::Value< T >
 Value (const std::string &name)
 
- Public Member Functions inherited from filval::GenValue
 GenValue (const std::string &name)
 
const std::string & get_name ()
 

Private Member Functions

void update_value ()
 Updates the internal value. More...
 

Private Attributes

std::function< T(std::vector< T >)> reduce
 
Value< std::vector< T > > * v
 

Additional Inherited Members

- Static Public Member Functions inherited from filval::GenValue
static void reset ()
 
static GenValueget_value (const std::string &name)
 
static void summary ()
 
- Protected Attributes inherited from filval::DerivedValue< T >
value
 
bool value_valid
 
- Static Protected Attributes inherited from filval::GenValue
static std::map< const std::string, GenValue * > values
 A static mapping containing all created Value objects. More...
 

Detailed Description

template<typename T>
class filval::Reduce< T >

Reduce a Value of type vector<T> to just a T.

This is useful functionality to model, for instance, calculating the maximum element of a vector, or a the mean. See child classes for specific implementations.

Member Function Documentation

§ update_value()

template<typename T>
void filval::Reduce< T >::update_value ( )
inlineprivatevirtual

Updates the internal value.

This function should be overridden by any child class to do the actual work of updating value based on whatever rules the class chooses. Normally, this consists of geting the values from some associated Value objects, doing some calculation on them, and storing the result in value.

Implements filval::DerivedValue< T >.

Here is the call graph for this function:

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