Alamo
ParmParse.cpp
Go to the documentation of this file.
1#include "ParmParse.H"
2
3namespace IO
4{
6
7void
12
13bool
18
19bool
24
30
31void
36
37void
39{
41}
42
43const std::string &
48
49void
54
55void
60
61bool
63 const std::source_location &location)
64{
65 if (!InTraversalMode()) return false;
66 InputScraper::RecordTraversalIgnore(location, std::move(note));
67 return true;
68}
69
70void
71ParmParse::PrintTraversalBranch(std::string name, const std::string &value)
72{
73 InputScraper::PrintTraversalBranch(*this, std::move(name), value);
74}
75
76void
77ParmParse::RecordInput( std::string name,
78 std::string directive,
79 const std::source_location &location,
80 std::vector<std::string> options,
81 std::optional<std::string> default_value,
82 bool has_unnamed_default)
83{
84 InputScraper::RecordInput( *this, std::move(name), std::move(directive),
85 location, std::move(options), std::move(default_value),
86 has_unnamed_default);
87}
88
89void
91 int count,
92 std::vector<std::string> members,
93 std::vector<std::string> units,
94 const std::source_location &location)
95{
96 InputScraper::RecordConstraint( *this, std::move(kind), count, std::move(members),
97 std::move(units), location);
98}
99}
static void RecordInput(ParmParse &pp, std::string name, std::string directive, const std::source_location &location, std::vector< std::string > options={}, std::optional< std::string > default_value=std::nullopt, bool has_unnamed_default=false)
static void WriteInputTreeJsonFile(const std::string &path)
static void ClearInputTree()
static void SetTraversalMode(bool enabled)
static void PrintTraversalBranch(ParmParse &pp, std::string name, const std::string &value)
static void RecordConstraint(ParmParse &pp, std::string kind, int count, std::vector< std::string > members, std::vector< std::string > units, const std::source_location &location)
static const InputNode & InputTree()
static bool ShouldExecute()
static bool InTraversalMode()
static void WriteInputTreeJson(std::ostream &os)
static void SetTraversalOutputFile(std::string path)
static void RecordTraversalIgnore(const std::source_location &location, std::string note)
static const std::string & TraversalOutputFile()
static void SetTraversalMode(bool enabled)
Definition ParmParse.cpp:8
static const InputNode & InputTree()
Definition ParmParse.cpp:26
void PrintTraversalBranch(std::string name, const std::string &value)
Definition ParmParse.cpp:71
static void SetTraversalOutputFile(std::string path)
Definition ParmParse.cpp:38
static bool checked_for_input_files
Definition ParmParse.H:173
void RecordInput(std::string name, std::string directive, const std::source_location &location, std::vector< std::string > options={}, std::optional< std::string > default_value=std::nullopt, bool has_unnamed_default=false)
Definition ParmParse.cpp:77
static const std::string & TraversalOutputFile()
Definition ParmParse.cpp:44
static void WriteInputTreeJsonFile(const std::string &path)
Definition ParmParse.cpp:56
static bool InTraversalMode()
Definition ParmParse.cpp:14
static bool ShouldExecute()
Definition ParmParse.cpp:20
static void ClearInputTree()
Definition ParmParse.cpp:32
void RecordConstraint(std::string kind, int count, std::vector< std::string > members, std::vector< std::string > units, const std::source_location &location)
Definition ParmParse.cpp:90
static bool IgnoreInTraversalMode(std::string note="This input parser is not yet compliant with traversal mode; its inputs are not fully documented.", const std::source_location &location=std::source_location::current())
Definition ParmParse.cpp:62
static void WriteInputTreeJson(std::ostream &os)
Definition ParmParse.cpp:50