# TTTT Analysis: fv Namespace Reference

fv Namespace Reference

The namespace containing all filval classes and functions. More...

## Classes

class | Apply< Ret(ArgTypes...)>
| Applies a function to a tuple of values and returns a value. More...
class | BoundValue
| A generic value owning only a function object. More...
class | ConstantValue
| A Value which always returns the same value, supplied in the constructor. More...
class | Container
| A class that is used to "hold" values. More...
class | ContainerMean
| Calculate the Mean of a Value over a series of observations. More...
class | Count
| Returns the count of elements in the input vector passing a test function. More...
class | DerivedValue
| A Value derived from some other Values, not directly from the dataset. More...
class | ElementOf
| Extract the element at a specific index from a vector. More...
class | Function< R(ArgTypes...)>
| In order to enable proper provenance tracking, and at the same time keep the ability to embed functions into values, the Function class should be used. More...
class | GenContainer
| Generic, untyped parent class of Container. More...
class | GenFunction
| Parent class to all Function classes. More...
class | Map< Ret(ArgTypes...)>
| Maps a function over an input vector. More...
class | Max
| Find and return the maximum value of a vector. More...
class | MaxIndex
| Find and return the maximum value of a vector and its index. More...
class | Mean
| Calculate the mean value of a vector. More...
class | Min
| Find and return the minimum value of a vector. More...
class | MinIndex
| Find and return the minimum value of a vector and its index. More...
class | ObservedValue
| A value supplied by the dataset, not derived. More...
class | Pair
| Creates a std::pair type from a two other Value objects. More...
class | PointerValue
| A Value of a pointer. More...
class | Range
| Calculate the range of the values in a vector. More...
class | Reduce
| Reduce a Value of type vector<T> to just a T. More...
class | ReduceIndex
| Similar to Reduce, but returns a pair of a T and an int. More...
class | Tuple
| Takes a series of Value objects and bundles them together into a std::tuple object. More...
class | Value
| A generic value. More...
class | WrapperVector
| A std::vector wrapper around a C-style array. More...
class | Zip
| Zips a series of vectors together. More...

## Typedefs

typedef std::map< std::string, GenContainer * > | ContainerSet
typedef std::map< std::string, GenValue * > | ValueSet

## Enumerations

enum | SaveOption { PNG = 0, PDF = 1, ROOT = 2 }
| Enumeration of different options that can be used to save Containers. More...

## Functions

template<typename T >
Value< T > * | lookup (const std::string &name)
Filter * | lookup_filter (const std::string &name)
template<typename... ArgTypes>
Zip< ArgTypes... > * | zip (Value< std::vector< ArgTypes >> *... args, const std::string &alias="")
template<typename Ret , typename... ArgTypes>
Map< Ret(ArgTypes...)> * | map (Function< Ret(ArgTypes...)> &fn, Zip< ArgTypes... > *arg, const std::string &alias="")
template<typename... ArgTypes>
Tuple< ArgTypes... > * | tuple (Value< ArgTypes > *... args, const std::string &alias="")
template<typename Ret , typename... ArgTypes>
Apply< Ret(ArgTypes...)> * | apply (Function< Ret(ArgTypes...)> &fn, Tuple< ArgTypes... > *arg, const std::string &alias="")
template<typename T1 , typename T2 >
Pair< T1, T2 > * | pair (Value< T1 > *val1, Value< T2 > *val2, const std::string &alias="")
template<typename T1 , typename T2 >
Pair< T1, T2 > * | pair (const std::string &name1, const std::string &name2, const std::string &alias="")
template<typename T >
Max< T > * | max (Value< std::vector< T >> *v, const std::string alias)
template<typename T >
Max< T > * | max (const std::string &v_name, const std::string alias)
template<typename T >
Min< T > * | min (Value< std::vector< T >> *v, const std::string alias)
template<typename T >
Min< T > * | min (const std::string &v_name, const std::string alias)
template<typename T >
Range< T > * | range (Value< std::vector< T >> *v, const std::string alias)
template<typename T >
Range< T > * | range (const std::string &v_name, const std::string alias)
template<typename T >
Mean< T > * | mean (Value< std::vector< T >> *v, const std::string alias)
template<typename T >
Mean< T > * | mean (const std::string &v_name, const std::string alias)
template<typename T >
Count< T > * | count (Function< bool(T)> &selector, Value< std::vector< T >> *v, const std::string alias)
template<typename T >
Count< T > * | count (Function< bool(T)> &selector, const std::string &v_name, const std::string alias)
Filter * | filter (const std::string &name, std::function< bool()> filter_function, const std::string &impl="")
template<typename F , typename TUPLE >
auto | call (F &f, TUPLE &&t)
| This calls a function of type F with the contents of the tuple as separate arguments. More...
std::ostream & | operator<< (std::ostream &os, GenValue &gv)

## Detailed Description

The namespace containing all filval classes and functions.

## Enumeration Type Documentation

## SaveOption

enum fv::SaveOption

Enumeration of different options that can be used to save Containers.

Not all options are allowed for all Containers.

## Function Documentation

## call()

template<typename F , typename TUPLE >

auto fv::call | ( | F & | f,
|  | TUPLE && | t
| ) |  |

This calls a function of type F with the contents of the tuple as separate arguments.

See also
  http://stackoverflow.com/questions/10766112/c11-i-can-go-from-multiple-args-to-tuple-but-can-i-go-from-tuple-to-multiple