ndm 0.2.8
Loading...
Searching...
No Matches
Config.hh
1#pragma once
2
3#include <yaml.h>
4
5namespace NDM {
13
14class Space;
15class Config {
16public:
17 Config();
18 virtual ~Config();
19
20 virtual bool load(std::string file);
21 virtual void print() const;
22
24 virtual std::string base() const { return mConfig["base"].as<std::string>(); }
26 virtual std::string cmd() const { return mConfig["cmd"].as<std::string>(); }
28 virtual Space * space() const { return mSpace; }
30 virtual std::vector<int> levels() const { return std::move(mLevels); }
32 virtual std::vector<std::string> envs() const { return std::move(mEnvs); }
33
34protected:
35 YAML::Node mConfig;
36 Space * mSpace{nullptr};
37 std::vector<int> mLevels{};
38 std::vector<std::string> mEnvs{};
39};
40} // namespace NDM
std::vector< int > mLevels
Levels for each axis.
Definition Config.hh:37
virtual std::vector< int > levels() const
Returns list of levels.
Definition Config.hh:30
std::vector< std::string > mEnvs
List of env variables.
Definition Config.hh:38
virtual std::vector< std::string > envs() const
Returns list of levels.
Definition Config.hh:32
virtual ~Config()
Definition Config.cc:11
virtual Space * space() const
Returns space object.
Definition Config.hh:28
YAML::Node mConfig
YAML Configuration.
Definition Config.hh:35
virtual bool load(std::string file)
Definition Config.cc:18
virtual std::string cmd() const
Returns cmd.
Definition Config.hh:26
virtual void print() const
Definition Config.cc:75
virtual std::string base() const
Returns base.
Definition Config.hh:24
Space * mSpace
Space object.
Definition Config.hh:36
Space object in n-dimensional space.
Definition Space.hh:17