Public Member Functions | Private Member Functions | Private Attributes | List of all members
fhicl::detail::KeyAssembler Class Reference

#include <KeyAssembler.h>

Inheritance diagram for fhicl::detail::KeyAssembler:
fhicl::ParameterSetWalker

Public Member Functions

std::vector< key_t > const & result ()
 
- Public Member Functions inherited from fhicl::ParameterSetWalker
virtual ~ParameterSetWalker () noexcept=default
 
void do_enter_table (key_t const &k, any_t const &a)
 
void do_enter_sequence (key_t const &k, any_t const &a)
 
void do_atom (key_t const &k, any_t const &a)
 
void do_before_action (key_t const &k, any_t const &a, ParameterSet const *ps)
 
void do_after_action (key_t const &k)
 
void do_exit_table (key_t const &k, any_t const &a)
 
void do_exit_sequence (key_t const &k, any_t const &a)
 

Private Member Functions

void enter_table (key_t const &, std::any const &) override
 
void exit_table (key_t const &, std::any const &) override
 
void enter_sequence (key_t const &, std::any const &) override
 
void atom (key_t const &, std::any const &) override
 
std::string full_key_ (name_t const &) const
 

Private Attributes

std::vector< key_tkeys_ {}
 
std::vector< name_tname_stack_ {}
 

Additional Inherited Members

- Public Types inherited from fhicl::ParameterSetWalker
using key_t = std::string
 
using any_t = std::any
 

Detailed Description

Definition at line 72 of file KeyAssembler.h.

Member Function Documentation

void KeyAssembler::atom ( key_t const &  key,
std::any const &   
)
overrideprivatevirtual

Implements fhicl::ParameterSetWalker.

Definition at line 38 of file KeyAssembler.cc.

39 {
40  keys_.emplace_back(full_key_(key));
41 }
def key(type, name=None)
Definition: graph.py:13
std::string full_key_(name_t const &) const
Definition: KeyAssembler.cc:10
std::vector< key_t > keys_
Definition: KeyAssembler.h:89
void KeyAssembler::enter_sequence ( key_t const &  key,
std::any const &   
)
overrideprivatevirtual

Implements fhicl::ParameterSetWalker.

Definition at line 32 of file KeyAssembler.cc.

33 {
34  keys_.emplace_back(full_key_(key));
35 }
def key(type, name=None)
Definition: graph.py:13
std::string full_key_(name_t const &) const
Definition: KeyAssembler.cc:10
std::vector< key_t > keys_
Definition: KeyAssembler.h:89
void KeyAssembler::enter_table ( key_t const &  key,
std::any const &   
)
overrideprivatevirtual

Implements fhicl::ParameterSetWalker.

Definition at line 19 of file KeyAssembler.cc.

20 {
21  keys_.emplace_back(full_key_(key));
22  name_stack_.emplace_back(key);
23 }
std::vector< name_t > name_stack_
Definition: KeyAssembler.h:90
def key(type, name=None)
Definition: graph.py:13
std::string full_key_(name_t const &) const
Definition: KeyAssembler.cc:10
std::vector< key_t > keys_
Definition: KeyAssembler.h:89
void KeyAssembler::exit_table ( key_t const &  ,
std::any const &   
)
overrideprivatevirtual

Reimplemented from fhicl::ParameterSetWalker.

Definition at line 26 of file KeyAssembler.cc.

27 {
28  name_stack_.pop_back();
29 }
std::vector< name_t > name_stack_
Definition: KeyAssembler.h:90
std::string KeyAssembler::full_key_ ( name_t const &  name) const
private

Definition at line 10 of file KeyAssembler.cc.

11 {
12  std::ostringstream os;
13  cet::copy_all(name_stack_, std::ostream_iterator<std::string>{os, "."});
14  os << name;
15  return os.str();
16 }
static QCString name
Definition: declinfo.cpp:673
std::vector< name_t > name_stack_
Definition: KeyAssembler.h:90
auto copy_all(FwdCont &, FwdIter)
std::vector<key_t> const& fhicl::detail::KeyAssembler::result ( )
inline

Definition at line 75 of file KeyAssembler.h.

76  {
77  return keys_;
78  }
std::vector< key_t > keys_
Definition: KeyAssembler.h:89

Member Data Documentation

std::vector<key_t> fhicl::detail::KeyAssembler::keys_ {}
private

Definition at line 89 of file KeyAssembler.h.

std::vector<name_t> fhicl::detail::KeyAssembler::name_stack_ {}
private

Definition at line 90 of file KeyAssembler.h.


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