ATLAS Offline Software
Loading...
Searching...
No Matches
DOMNode.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef XMLCOREPARSER_DOMNODE_H
6#define XMLCOREPARSER_DOMNODE_H
7
8#include <string>
9#include <vector>
10#include <map>
11
12namespace CoreParser
13{
14 class DOMNode;
15
16 typedef std::map <std::string, std::string> DOMNamedNodeMap;
17 typedef std::vector <DOMNode*> DOMSiblings;
18
19 class DOMNode
20 {
21 public:
30
31 DOMNode ();
32 DOMNode (NodeType type, const std::string& name, DOMNode* parent = 0);
33 DOMNode (NodeType type, const std::string& name, const std::string& value, DOMNode* parent = 0);
34 ~DOMNode ();
35 NodeType get_type () const;
36 const DOMNamedNodeMap& get_attributes() const;
37 const std::string& get_name () const;
38 const std::string& get_value () const;
39 const DOMSiblings& get_siblings() const;
40 unsigned int sibling_number () const;
43 void print (const std::string& header = "", int depth=0) const;
44
46 std::string m_name;
47 std::string m_value;
50 DOMSiblings::iterator m_it{};
52 };
53}
54
55
56
57#endif
DOMNamedNodeMap m_attributes
Definition DOMNode.h:48
void print(const std::string &header="", int depth=0) const
Definition DOMNode.cxx:109
DOMSiblings m_siblings
Definition DOMNode.h:49
const DOMNamedNodeMap & get_attributes() const
Definition DOMNode.cxx:69
unsigned int sibling_number() const
Definition DOMNode.cxx:89
std::string m_value
Definition DOMNode.h:47
const DOMSiblings & get_siblings() const
Definition DOMNode.cxx:84
std::string m_name
Definition DOMNode.h:46
DOMNode * m_parent
Definition DOMNode.h:51
DOMSiblings::iterator m_it
Definition DOMNode.h:50
NodeType get_type() const
Definition DOMNode.cxx:64
NodeType m_type
Definition DOMNode.h:45
const std::string & get_name() const
Definition DOMNode.cxx:74
DOMNode * get_next_sibling()
Definition DOMNode.cxx:101
DOMNode * get_first_child()
Definition DOMNode.cxx:94
const std::string & get_value() const
Definition DOMNode.cxx:79
std::string depth
tag string for intendation
Definition fastadd.cxx:46
std::vector< DOMNode * > DOMSiblings
Definition DOMNode.h:17
std::map< std::string, std::string > DOMNamedNodeMap
Definition DOMNode.h:16