creativity  v1.3.0
Agent-based model of creativity and piracy
Data.hpp
1 #pragma once
2 #include "creativity/cmdargs/CmdArgs.hpp"
3 #include <eris/types.hpp>
4 #include <limits>
5 #include <string>
6 #include <vector>
7 
8 namespace boost { namespace program_options { class variables_map; } }
9 
10 namespace creativity { namespace cmdargs {
11 
13 class Data : public CmdArgs {
14  public:
16  Data();
17 
19  struct {
21  eris::eris_time_t piracy_begins = 0;
23  eris::eris_time_t periods = 0;
25  eris::eris_time_t policy_begins = 0;
26  } verify;
27 
29  struct {
31  bool piracy = false;
33  bool policy = false;
35  bool short_run = false;
36  } skip;
37 
39  bool human_readable = false;
40 
42  bool no_csv_header = false;
43 
45  bool only_csv_header = false;
46 
48  unsigned int data_periods = 25;
49 
51  unsigned int double_precision = std::numeric_limits<double>::max_digits10;
52 
54  unsigned int threads = 0;
55 
57  unsigned int preload = 0;
58 
60  std::vector<std::string> input;
61 
64  bool memory_xz = false;
65 
69  std::string tmpdir;
70 
72  virtual std::string usage() const override;
73 
75  virtual std::string help() const override;
76 
78  virtual std::string versionSuffix() const override;
79 
80  protected:
82  virtual void addOptions() override;
83 
87  virtual void postParse(boost::program_options::variables_map &vars) override;
88 
89 };
90 
91 }}
This class handles command line argument parsing.
Definition: CmdArgs.hpp:31
Definition: CLI.hpp:5
Primary namespace for all Creativity library code.
Definition: config.hpp:4
std::vector< std::string > input
The input files to load data from.
Definition: Data.hpp:60
std::string tmpdir
If memory_xz is false, decompress files into temporary files in this directory instead of into the sa...
Definition: Data.hpp:69
CmdArgs subclass for creativity-data arguments (for generating data from crstate files).
Definition: Data.hpp:13