10 template class std::vector<std::vector<float> >;
11 template class std::vector<std::vector<int> >;
14 std::string get_type_name(
const std::type_index& index){
15 std::map<std::type_index, std::string> _map;
17 _map[
typeid(int)]=
"int";
18 _map[
typeid(
unsigned int)]=
"unsigned int";
19 _map[
typeid(float)]=
"float";
20 _map[
typeid(double)]=
"double";
21 _map[
typeid(std::vector<int>)]=
"std::vector<int>";
22 _map[
typeid(std::vector<float>)]=
"std::vector<float>";
24 if (_map[index] ==
""){
25 CRITICAL(
"Cannot lookup type name of \"" << index.name() <<
"\"",-1);
43 std::vector<Filter*> filters;
45 virtual void _fill() = 0;
47 GenContainer(
const std::string name,
const std::string& desc)
48 :name(name),desc(desc) { }
54 filters.push_back(dynamic_cast<Filter*>(filter));
58 for (
auto filter : filters){
59 if (!filter->get_value())
return;
64 void set_description(
const std::string& description){
67 const std::string& get_name(){
70 virtual void save_as(
const std::string& fname,
const SaveOption& option) = 0;
71 virtual void save(
const SaveOption& option=SaveOption::PNG) {
72 save_as(get_name(), option);
75 typedef std::map<std::string, GenContainer*> ContainerSet;
82 Container(
const std::string& name, H* container)
84 container(container){ }
85 virtual H* get_container(){
106 this->container =
new T();
110 *(this->container) = sum/count;
111 return (this->container);
113 void save_as(
const std::string& fname) {
114 WARNING(
"Saving of ContainerMean objects not supported");
119 #endif // container_hpp Definition: value.hpp:213
Definition: argparse.hpp:39
Definition: container.hpp:92
The namespace containing all filval classes and functions.
Definition: api.hpp:6
A generic value.
Definition: value.hpp:338
Definition: container.hpp:39
virtual T & get_value()=0
Calculate, if necessary, and return the value held by this object.
Definition: container.hpp:78