5#ifndef dqiMiniConfigTreeNode_h
6#define dqiMiniConfigTreeNode_h
45 virtual const char*
GetName()
const;
62 virtual std::map<std::string,dqi::MiniConfigTreeNode*>
GetDaughters()
const;
74 virtual void SetAttribute(
const std::string & attName,
const std::string & attValue,
bool isAttribKeyword =
false );
76 virtual std::string
GetAttribute( std::string_view attName,
bool calledFromDaughter =
false )
const;
80 virtual void GetAttributeNames( std::set<std::string>& attSet,
bool calledFromDaughter =
false )
const;
85 virtual void Accept( Visitor& visitor )
const;
95 typedef std::map<std::string,MiniConfigTreeNode*>
NodeMap_t;
98 typedef std::map<std::string,std::pair<std::string,bool>, std::less<> >
AttMap_t;
std::shared_ptr< HepMC3::Writer > writer
virtual void Visit(const MiniConfigTreeNode *node)=0
virtual void Write(MiniConfigTreeNode *node)=0
A node of a tree structure holding a configuration, where each node may be given attributes,...
MiniConfigTreeNode * m_parent
virtual std::string GetAttributeLocal(const std::string &attName) const
virtual const MiniConfigTreeNode * GetParent() const
std::map< std::string, std::pair< std::string, bool >, std::less<> > AttMap_t
MiniConfigTreeNode(std::string name_, MiniConfigTreeNode *parent_)
virtual const MiniConfigTreeNode * GetNode(const std::string &name_) const
This function takes the full path name of a subnode (in UNIX directory style) and returns the corresp...
virtual bool GetAttribKeywordPropagateDown() const
virtual MiniConfigTreeNode * GetDaughter(std::string name_) const
virtual MiniConfigTreeNode * GetParent()
virtual const char * GetName() const
virtual std::map< std::string, dqi::MiniConfigTreeNode * > GetDaughters() const
virtual void Accept(Visitor &visitor) const
virtual MiniConfigTreeNode * GetNewDaughter(std::string name_)
Returns a daughter of this node, creating one if necessary.
std::map< std::string, MiniConfigTreeNode * > NodeMap_t
AttMap_t::const_iterator AttIter_t
virtual void GetAttributeNames(std::set< std::string > &attSet, bool calledFromDaughter=false) const
virtual void SetAttribute(const std::string &attName, const std::string &attValue, bool isAttribKeyword=false)
virtual void SetAttribKeywordPropagateDown(bool propagateDown)
virtual std::string GetPathName() const
virtual void GetAttributeNamesLocal(std::set< std::string > &attSet) const
NodeMap_t::const_iterator NodeIter_t
virtual std::string GetAttribute(std::string_view attName, bool calledFromDaughter=false) const
virtual ~MiniConfigTreeNode()