fastcat 0.13.15
C++ EtherCAT Device Command & Control Library
Loading...
Searching...
No Matches
yaml_parser.h
Go to the documentation of this file.
1#ifndef FASTCAT_YAML_PARSER_H_
2#define FASTCAT_YAML_PARSER_H_
3
4// Include related header (for cc files)
5
6// Include c then c++ libraries
7#include <string>
8#include <vector>
9
10// Include external then project includes
11#include <yaml-cpp/yaml.h>
12
13namespace fastcat
14{
15bool ParseNode(const YAML::Node& node, const std::string& field,
16 YAML::Node& val);
17bool ParseList(const YAML::Node& node, const std::string& field,
18 YAML::Node& val);
19
20bool ParseVal(const YAML::Node& node, const std::string& field, double& val);
21bool ParseVal(const YAML::Node& node, const std::string& field, float& val);
22bool ParseVal(const YAML::Node& node, const std::string& field,
23 std::string& val);
24bool ParseVal(const YAML::Node& node, const std::string& field, int32_t& val);
25bool ParseVal(const YAML::Node& node, const std::string& field, uint32_t& val);
26bool ParseVal(const YAML::Node& node, const std::string& field, int64_t& val);
27bool ParseVal(const YAML::Node& node, const std::string& field, uint64_t& val);
28bool ParseVal(const YAML::Node& node, const std::string& field, int16_t& val);
29bool ParseVal(const YAML::Node& node, const std::string& field, uint16_t& val);
30bool ParseVal(const YAML::Node& node, const std::string& field, int8_t& val);
31bool ParseVal(const YAML::Node& node, const std::string& field, uint8_t& val);
32bool ParseVal(const YAML::Node& node, const std::string& field, bool& val);
33
34bool ParseValCheckRange(const YAML::Node& node, const std::string& field,
35 double& val, double lower, double upper);
36
37bool ParseValCheckRange(const YAML::Node& node, const std::string& field,
38 float& val, float lower, float upper);
39
40bool ParseValCheckRange(const YAML::Node& node, const std::string& field,
41 int32_t& val, int32_t lower, int32_t upper);
42
43bool ParseValCheckRange(const YAML::Node& node, const std::string& field,
44 uint32_t& val, uint32_t lower, uint32_t upper);
45
46bool ParseValCheckRange(const YAML::Node& node, const std::string& field,
47 int16_t& val, int16_t lower, int16_t upper);
48
49bool ParseValCheckRange(const YAML::Node& node, const std::string& field,
50 uint16_t& val, int16_t lower, int16_t upper);
51
52bool ParseValCheckRange(const YAML::Node& node, const std::string& field,
53 int8_t& val, int8_t lower, int8_t upper);
54
55bool ParseValCheckRange(const YAML::Node& node, const std::string& field,
56 uint8_t& val, uint8_t lower, uint8_t upper);
57
58// Optional double values
59bool ParseOptVal(const YAML::Node& node, const std::string& field, double& val);
60bool ParseOptVal(const YAML::Node& node, const std::string& field,
61 std::string& val);
62bool ParseOptVal(const YAML::Node& node, const std::string& field, bool& val);
63
64bool ParseOptValCheckRange(const YAML::Node& node, const std::string& field,
65 double& val, double lower, double upper);
66
67} // namespace fastcat
68
69#endif
Definition device_base.h:18
bool ParseValCheckRange(const YAML::Node &node, const std::string &field, double &val, double lower, double upper)
Definition yaml_parser.cc:182
bool ParseVal(const YAML::Node &node, const std::string &field, double &val)
Definition yaml_parser.cc:37
bool ParseList(const YAML::Node &node, const std::string &field, YAML::Node &val)
Definition yaml_parser.cc:21
bool ParseOptVal(const YAML::Node &node, const std::string &field, double &val)
Definition yaml_parser.cc:312
bool ParseNode(const YAML::Node &node, const std::string &field, YAML::Node &val)
Definition yaml_parser.cc:9
bool ParseOptValCheckRange(const YAML::Node &node, const std::string &field, double &val, double lower, double upper)
Definition yaml_parser.cc:349