fv::Zip< ArgTypes > Class Template Reference

Zips a series of vectors together. More...

`#include <value.hpp>`

Inheritance diagram for fv::Zip< ArgTypes >:
[legend]
Collaboration diagram for fv::Zip< ArgTypes >:
[legend]

## Public Member Functions

| Zip (Value< std::vector< ArgTypes >> *... args, const std::string &alias)
Public Member Functions inherited from fv::DerivedValue< std::vector< std::tuple< ArgTypes... > > >
| DerivedValue (const std::string &name, const std::string &alias="")
void | log ()
std::vector< std::tuple< ArgTypes... > > & | get_value ()
| Calculate, if necessary, and return the value held by this object.
Public Member Functions inherited from fv::Value< std::vector< std::tuple< ArgTypes... > > >
| Value (const std::string &name, const std::string &alias="")
void | enable_logging (const std::function< std::string(std::vector< std::tuple< ArgTypes... > >)> &value_to_string=[](std::vector< std::tuple< ArgTypes... > >){return "";})
void | disable_logging ()

## Static Public Member Functions

static std::string | fmt_name (Value< std::vector< ArgTypes >> *... args)

## Protected Member Functions

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

## Additional Inherited Members

Protected Attributes inherited from fv::DerivedValue< std::vector< std::tuple< ArgTypes... > > >
std::vector< std::tuple< ArgTypes... > > | value
Protected Attributes inherited from fv::Value< std::vector< std::tuple< ArgTypes... > > >
std::function< std::string(std::vector< std::tuple< ArgTypes... > >)> | value_to_string

## Detailed Description

### template<typename... ArgTypes>
class fv::Zip< ArgTypes >

Zips a series of vectors together.

Can be combined with Map to yield a Value whose elements are individually a function of the corresponding elements of the vectors that were zipped together. For those familiar with python, it accompilishes the same thing as

xs = [1,2,3,4]
ys = [10,20,30,40]
print(list(map(lambda t:t[0]+t[1],zip(xs,ys))))

which outputs

[11, 22, 33, 44]

Definition at line 662 of file value.hpp.

## Member Function Documentation

## update_value()

template<typename... ArgTypes>

void fv::Zip< ArgTypes >::update_value | ( |  | ) |

inlineprotectedvirtual

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 fv::DerivedValue< std::vector< std::tuple< ArgTypes... > > >.

Definition at line 665 of file value.hpp.

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

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