-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProfilesDefines.hpp
More file actions
37 lines (30 loc) · 951 Bytes
/
Copy pathProfilesDefines.hpp
File metadata and controls
37 lines (30 loc) · 951 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef RUNCPP2_DATA_PROFILES_DEFINES_HPP
#define RUNCPP2_DATA_PROFILES_DEFINES_HPP
#include "runcpp2/Data/ParseCommon.hpp"
#include "runcpp2/YamlLib.hpp"
#include <unordered_map>
#include <vector>
#include <string>
namespace runcpp2
{
namespace Data
{
struct Define
{
std::string Name;
std::string Value;
bool HasValue;
};
class ProfilesDefines
{
public:
std::unordered_map<ProfileName, std::vector<Define>> Defines;
bool ParseYAML_Node(YAML::ConstNodePtr node);
bool ParseYAML_NodeWithProfile(YAML::ConstNodePtr node, ProfileName profile);
bool IsYAML_NodeParsableAsDefault(YAML::ConstNodePtr node) const;
std::string ToString(std::string indentation) const;
bool Equals(const ProfilesDefines& other) const;
};
}
}
#endif