Alamo
Data Structures | Static Public Member Functions | Static Private Member Functions | Static Private Attributes
IO::InputScraper Class Reference

#include <InputScraper.H>

Data Structures

struct  FlowBranch
 
struct  FlowNode
 
struct  InputNode
 
class  TraversalBranchScope
 
struct  TraversalIgnore
 

Static Public Member Functions

static void SetTraversalMode (bool enabled)
 
static bool InTraversalMode ()
 
static bool ShouldExecute ()
 
static const InputNodeInputTree ()
 
static void ClearInputTree ()
 
static void SetTraversalOutputFile (std::string path)
 
static const std::string & TraversalOutputFile ()
 
static void WriteInputTreeJson (std::ostream &os)
 
static void WriteInputTreeJsonFile (const std::string &path)
 
static std::string DirectiveName (const std::source_location &location)
 
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 RecordConstraint (ParmParse &pp, std::string kind, int count, std::vector< std::string > members, std::vector< std::string > units, const std::source_location &location)
 
static void RecordTraversalIgnore (const std::source_location &location, std::string note)
 
static void CaptureSequenceTemplate (ParmParse &pp, const std::string &sequence_name, const std::string &template_name)
 
static void PrintTraversalBranch (ParmParse &pp, std::string name, const std::string &value)
 
template<typename T >
static std::string InputValueString (const T &value)
 
static std::string InputValueString (const std::string &value)
 
static std::string InputValueString (const char *value)
 
template<typename T >
static std::string InputArrayString (const std::vector< T > &values)
 
static std::string InputArrayString (const Set::Vector &value)
 
static std::string InputArrayString (const Set::Matrix &value)
 

Static Private Member Functions

static InputNodeGetPath (InputNode &root, const std::string &path)
 
static std::string KindForDirective (const std::string &directive, const std::vector< std::string > &options={})
 
static std::string MergeKind (const std::string &old_kind, const std::string &new_kind)
 
static void AddContext (InputNode &node, const std::vector< InputNode::Condition > &conditions)
 
static void RecordFlowInput (const std::string &path, const std::string &directive, const std::vector< std::string > &options, const std::source_location &location, bool has_unnamed_default)
 
static void PushTraversalCondition (ParmParse &pp, std::string name, std::string value)
 
static void PopTraversalCondition ()
 
static void PushTraversalBranch (ParmParse &pp, const std::string &name, const std::string &value)
 
static void PopTraversalBranch ()
 

Static Private Attributes

static InputNode input_tree
 
static int traversal_print_depth = 0
 
static bool traversal_mode = false
 
static std::string traversal_output_file = "alamo-inputs.schema.json"
 
static std::vector< InputNode::Conditiontraversal_conditions
 
static std::vector< FlowNodeinput_flow
 
static std::vector< FlowNode > * traversal_flow = &InputScraper::input_flow
 
static std::vector< std::vector< FlowNode > * > traversal_flow_stack
 
static std::vector< TraversalIgnoretraversal_ignores
 

Detailed Description

Definition at line 17 of file InputScraper.H.

Member Function Documentation

◆ AddContext()

void IO::InputScraper::AddContext ( InputNode node,
const std::vector< InputNode::Condition > &  conditions 
)
staticprivate

Definition at line 284 of file InputScraper.cpp.

◆ CaptureSequenceTemplate()

void IO::InputScraper::CaptureSequenceTemplate ( ParmParse pp,
const std::string &  sequence_name,
const std::string &  template_name 
)
static

Definition at line 539 of file InputScraper.cpp.

◆ ClearInputTree()

void IO::InputScraper::ClearInputTree ( )
static

Definition at line 421 of file InputScraper.cpp.

◆ DirectiveName()

std::string IO::InputScraper::DirectiveName ( const std::source_location &  location)
static

Definition at line 374 of file InputScraper.cpp.

◆ GetPath()

InputScraper::InputNode & IO::InputScraper::GetPath ( InputNode root,
const std::string &  path 
)
staticprivate

Definition at line 266 of file InputScraper.cpp.

◆ InputArrayString() [1/3]

static std::string IO::InputScraper::InputArrayString ( const Set::Matrix value)
inlinestatic

Definition at line 154 of file InputScraper.H.

◆ InputArrayString() [2/3]

static std::string IO::InputScraper::InputArrayString ( const Set::Vector value)
inlinestatic

Definition at line 143 of file InputScraper.H.

◆ InputArrayString() [3/3]

template<typename T >
static std::string IO::InputScraper::InputArrayString ( const std::vector< T > &  values)
inlinestatic

Definition at line 132 of file InputScraper.H.

◆ InputTree()

const InputScraper::InputNode & IO::InputScraper::InputTree ( )
static

Definition at line 415 of file InputScraper.cpp.

◆ InputValueString() [1/3]

static std::string IO::InputScraper::InputValueString ( const char *  value)
inlinestatic

Definition at line 129 of file InputScraper.H.

◆ InputValueString() [2/3]

static std::string IO::InputScraper::InputValueString ( const std::string &  value)
inlinestatic

Definition at line 128 of file InputScraper.H.

◆ InputValueString() [3/3]

template<typename T >
static std::string IO::InputScraper::InputValueString ( const T &  value)
inlinestatic

Definition at line 121 of file InputScraper.H.

◆ InTraversalMode()

bool IO::InputScraper::InTraversalMode ( )
static

Definition at line 403 of file InputScraper.cpp.

◆ KindForDirective()

std::string IO::InputScraper::KindForDirective ( const std::string &  directive,
const std::vector< std::string > &  options = {} 
)
staticprivate

Definition at line 349 of file InputScraper.cpp.

◆ MergeKind()

std::string IO::InputScraper::MergeKind ( const std::string &  old_kind,
const std::string &  new_kind 
)
staticprivate

Definition at line 366 of file InputScraper.cpp.

◆ PopTraversalBranch()

void IO::InputScraper::PopTraversalBranch ( )
staticprivate

Definition at line 689 of file InputScraper.cpp.

◆ PopTraversalCondition()

void IO::InputScraper::PopTraversalCondition ( )
staticprivate

Definition at line 636 of file InputScraper.cpp.

◆ PrintTraversalBranch()

void IO::InputScraper::PrintTraversalBranch ( ParmParse pp,
std::string  name,
const std::string &  value 
)
static

Definition at line 479 of file InputScraper.cpp.

◆ PushTraversalBranch()

void IO::InputScraper::PushTraversalBranch ( ParmParse pp,
const std::string &  name,
const std::string &  value 
)
staticprivate

Definition at line 643 of file InputScraper.cpp.

◆ PushTraversalCondition()

void IO::InputScraper::PushTraversalCondition ( ParmParse pp,
std::string  name,
std::string  value 
)
staticprivate

Definition at line 629 of file InputScraper.cpp.

◆ RecordConstraint()

void IO::InputScraper::RecordConstraint ( ParmParse pp,
std::string  kind,
int  count,
std::vector< std::string >  members,
std::vector< std::string >  units,
const std::source_location &  location 
)
static

Definition at line 588 of file InputScraper.cpp.

◆ RecordFlowInput()

void IO::InputScraper::RecordFlowInput ( const std::string &  path,
const std::string &  directive,
const std::vector< std::string > &  options,
const std::source_location &  location,
bool  has_unnamed_default 
)
staticprivate

Definition at line 293 of file InputScraper.cpp.

◆ RecordInput()

void IO::InputScraper::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

Definition at line 491 of file InputScraper.cpp.

◆ RecordTraversalIgnore()

void IO::InputScraper::RecordTraversalIgnore ( const std::source_location &  location,
std::string  note 
)
static

Definition at line 612 of file InputScraper.cpp.

◆ SetTraversalMode()

void IO::InputScraper::SetTraversalMode ( bool  enabled)
static

Definition at line 394 of file InputScraper.cpp.

◆ SetTraversalOutputFile()

void IO::InputScraper::SetTraversalOutputFile ( std::string  path)
static

Definition at line 432 of file InputScraper.cpp.

◆ ShouldExecute()

bool IO::InputScraper::ShouldExecute ( )
static

Definition at line 409 of file InputScraper.cpp.

◆ TraversalOutputFile()

const std::string & IO::InputScraper::TraversalOutputFile ( )
static

Definition at line 438 of file InputScraper.cpp.

◆ WriteInputTreeJson()

void IO::InputScraper::WriteInputTreeJson ( std::ostream &  os)
static

Definition at line 444 of file InputScraper.cpp.

◆ WriteInputTreeJsonFile()

void IO::InputScraper::WriteInputTreeJsonFile ( const std::string &  path)
static

Definition at line 469 of file InputScraper.cpp.

Field Documentation

◆ input_flow

std::vector< InputScraper::FlowNode > IO::InputScraper::input_flow
staticprivate

Definition at line 174 of file InputScraper.H.

◆ input_tree

InputScraper::InputNode IO::InputScraper::input_tree
staticprivate

Definition at line 169 of file InputScraper.H.

◆ traversal_conditions

std::vector< InputScraper::InputNode::Condition > IO::InputScraper::traversal_conditions
staticprivate

Definition at line 173 of file InputScraper.H.

◆ traversal_flow

std::vector< InputScraper::FlowNode > * IO::InputScraper::traversal_flow = &InputScraper::input_flow
staticprivate

Definition at line 175 of file InputScraper.H.

◆ traversal_flow_stack

std::vector< std::vector< InputScraper::FlowNode > * > IO::InputScraper::traversal_flow_stack
staticprivate

Definition at line 176 of file InputScraper.H.

◆ traversal_ignores

std::vector< InputScraper::TraversalIgnore > IO::InputScraper::traversal_ignores
staticprivate

Definition at line 177 of file InputScraper.H.

◆ traversal_mode

bool IO::InputScraper::traversal_mode = false
staticprivate

Definition at line 171 of file InputScraper.H.

◆ traversal_output_file

std::string IO::InputScraper::traversal_output_file = "alamo-inputs.schema.json"
staticprivate

Definition at line 172 of file InputScraper.H.

◆ traversal_print_depth

int IO::InputScraper::traversal_print_depth = 0
staticprivate

Definition at line 170 of file InputScraper.H.


The documentation for this class was generated from the following files: