ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
XMLCoreNode Class Reference

#include <XMLCoreParser.h>

Collaboration diagram for XMLCoreNode:

Public Member Functions

 XMLCoreNode (const CoreParser::DOMNode *node)
 
 XMLCoreNode (std::unique_ptr< CoreParser::DOMNode > node)
 
 XMLCoreNode (const XMLCoreNode &other)
 
 XMLCoreNode (XMLCoreNode &&other)
 
XMLCoreNodeoperator= (const XMLCoreNode &other)
 
XMLCoreNodeoperator= (XMLCoreNode &&other)
 
 ~XMLCoreNode ()
 
 operator const CoreParser::DOMNode & () const
 
const CoreParser::DOMNodeget_node () const
 

Private Attributes

const CoreParser::DOMNodem_node
 
bool m_owns
 

Detailed Description

Definition at line 20 of file XMLCoreParser.h.

Constructor & Destructor Documentation

◆ XMLCoreNode() [1/4]

XMLCoreNode::XMLCoreNode ( const CoreParser::DOMNode node)
inline

Definition at line 23 of file XMLCoreParser.h.

24  : m_node (node),
25  m_owns (false)
26  {
27  }

◆ XMLCoreNode() [2/4]

XMLCoreNode::XMLCoreNode ( std::unique_ptr< CoreParser::DOMNode node)
inline

Definition at line 29 of file XMLCoreParser.h.

30  : m_node (node.release()),
31  m_owns (true)
32  {
33  }

◆ XMLCoreNode() [3/4]

XMLCoreNode::XMLCoreNode ( const XMLCoreNode other)
inline

Definition at line 35 of file XMLCoreParser.h.

36  : m_node (other.m_node),
37  m_owns (false)
38  {
39  }

◆ XMLCoreNode() [4/4]

XMLCoreNode::XMLCoreNode ( XMLCoreNode &&  other)
inline

Definition at line 41 of file XMLCoreParser.h.

42  : m_node (other.m_node),
43  m_owns (other.m_owns)
44  {
45  other.m_node = nullptr;
46  other.m_owns = false;
47  }

◆ ~XMLCoreNode()

XMLCoreNode::~XMLCoreNode ( )

Definition at line 51 of file XMLCoreParser.cxx.

52 {
53  if (m_owns) delete m_node;
54 }

Member Function Documentation

◆ get_node()

const CoreParser::DOMNode& XMLCoreNode::get_node ( ) const
inline

Definition at line 60 of file XMLCoreParser.h.

61  {
62  return (*m_node);
63  }

◆ operator const CoreParser::DOMNode &()

XMLCoreNode::operator const CoreParser::DOMNode & ( ) const
inline

Definition at line 55 of file XMLCoreParser.h.

56  {
57  return (*m_node);
58  }

◆ operator=() [1/2]

XMLCoreNode & XMLCoreNode::operator= ( const XMLCoreNode other)

Definition at line 29 of file XMLCoreParser.cxx.

30 {
31  if (this != &other) {
32  if (m_owns) delete m_node;
33  m_node = other.m_node;
34  m_owns = false;
35  }
36  return *this;
37 }

◆ operator=() [2/2]

XMLCoreNode & XMLCoreNode::operator= ( XMLCoreNode &&  other)

Definition at line 39 of file XMLCoreParser.cxx.

40 {
41  if (this != &other) {
42  if (m_owns) delete m_node;
43  m_node = other.m_node;
44  m_owns = other.m_owns;
45  other.m_node = nullptr;
46  other.m_owns = false;
47  }
48  return *this;
49 }

Member Data Documentation

◆ m_node

const CoreParser::DOMNode* XMLCoreNode::m_node
private

Definition at line 66 of file XMLCoreParser.h.

◆ m_owns

bool XMLCoreNode::m_owns
private

Definition at line 67 of file XMLCoreParser.h.


The documentation for this class was generated from the following files:
XMLCoreNode::m_owns
bool m_owns
Definition: XMLCoreParser.h:67
XMLCoreNode::m_node
const CoreParser::DOMNode * m_node
Definition: XMLCoreParser.h:66
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
node
Definition: memory_hooks-stdcmalloc.h:74