ATLAS Offline Software
Loading...
Searching...
No Matches
CBNode Class Reference

#include <CBNode.h>

Collaboration diagram for CBNode:

Classes

class  nodeOrder

Public Types

typedef IOVSvcCallBackFcn BFCN
typedef std::set< CBNode *, CBNode::nodeOrdernodeSet
typedef std::vector< const CBNode * > constNodeVec

Public Member Functions

 CBNode ()=delete
 CBNode (const std::string &name, CBNode *parent)
 CBNode (const SG::DataProxy *proxy, const std::string &name, CBNode *parent)
 CBNode (BFCN *fcn, const CallBackID &cb, CBNode *parent)
 ~CBNode ()
void addParent (CBNode *parent)
void addChild (CBNode *child)
bool delParent (CBNode *parent)
bool delChild (CBNode *child)
const nodeSetchildren ()
const nodeSetparents ()
constNodeVec children () const
constNodeVec parents () const
const std::string & name () const
int level () const
void setLevel (int l)
bool trigger () const
void setTrigger (bool b)
bool flag () const
void setFlag (bool b)
const SG::DataProxyproxy () const
void setProxy (const SG::DataProxy *p)
BFCNfcn ()
const BFCNfcn () const
unsigned int serial () const

Private Attributes

nodeSet m_parents
nodeSet m_children
std::string m_name
int m_level
const SG::DataProxym_proxy
BFCNm_fcn
CallBackID m_cbid
bool m_trig
bool m_flag
unsigned int m_serial

Static Private Attributes

static std::atomic< unsigned int > s_serial = 0

Detailed Description

Definition at line 30 of file CBNode.h.

Member Typedef Documentation

◆ BFCN

Definition at line 33 of file CBNode.h.

◆ constNodeVec

typedef std::vector<const CBNode*> CBNode::constNodeVec

Definition at line 55 of file CBNode.h.

◆ nodeSet

Definition at line 54 of file CBNode.h.

Constructor & Destructor Documentation

◆ CBNode() [1/4]

CBNode::CBNode ( )
delete

◆ CBNode() [2/4]

CBNode::CBNode ( const std::string & name,
CBNode * parent )

Definition at line 22 of file CBNode.cxx.

22 :
23 m_name(name), m_proxy(0), m_fcn(0), m_trig(false), m_flag(false) {
25 if (parent != 0) {
26 m_level = parent->level() + 1;
27 addParent( parent );
28 parent->addChild( this );
29 } else {
30 m_level = 0;
31 }
32}
void addParent(CBNode *parent)
Definition CBNode.cxx:65
bool m_flag
Definition CBNode.h:104
int m_level
Definition CBNode.h:97
const std::string & name() const
Definition CBNode.h:74
std::string m_name
Definition CBNode.h:96
unsigned int m_serial
Definition CBNode.h:106
bool m_trig
Definition CBNode.h:103
static std::atomic< unsigned int > s_serial
Definition CBNode.h:107
BFCN * m_fcn
Definition CBNode.h:100
const SG::DataProxy * m_proxy
Definition CBNode.h:99

◆ CBNode() [3/4]

CBNode::CBNode ( const SG::DataProxy * proxy,
const std::string & name,
CBNode * parent )

Definition at line 34 of file CBNode.cxx.

35 :
36 m_name(name), m_proxy(proxy), m_fcn(0), m_trig(false), m_flag(false) {
38 if (parent != 0) {
39 m_level = parent->level() + 1;
40 addParent( parent );
41 parent->addChild( this );
42 } else {
43 m_level = 0;
44 }
45}
const SG::DataProxy * proxy() const
Definition CBNode.h:84

◆ CBNode() [4/4]

CBNode::CBNode ( BFCN * fcn,
const CallBackID & cb,
CBNode * parent )

Definition at line 47 of file CBNode.cxx.

47 :
48 m_name (cb.name()),
49 m_proxy(0), m_fcn(fcn), m_cbid(cb), m_trig(false), m_flag(false) {
51
52 if (parent != 0) {
53 m_level = parent->level() + 1;
54 addParent( parent );
55 parent->addChild( this );
56 } else {
57 m_level = 0;
58 }
59}
BFCN * fcn()
Definition CBNode.h:87
CallBackID m_cbid
Definition CBNode.h:101
const std::string & name() const
Definition CallBackID.h:36

◆ ~CBNode()

CBNode::~CBNode ( )

Definition at line 61 of file CBNode.cxx.

61 {
62
63}

Member Function Documentation

◆ addChild()

void CBNode::addChild ( CBNode * child)

Definition at line 70 of file CBNode.cxx.

70 {
71 assert(child);
72 m_children.insert( child );
73}
nodeSet m_children
Definition CBNode.h:94

◆ addParent()

void CBNode::addParent ( CBNode * parent)

Definition at line 65 of file CBNode.cxx.

65 {
66 assert( parent);
67 m_parents.insert( parent );
68}
nodeSet m_parents
Definition CBNode.h:93

◆ children() [1/2]

const nodeSet & CBNode::children ( )
inline

Definition at line 69 of file CBNode.h.

69{ return m_children; }

◆ children() [2/2]

constNodeVec CBNode::children ( ) const
inline

Definition at line 71 of file CBNode.h.

71{ return constNodeVec (m_children.begin(), m_children.end()); }
std::vector< const CBNode * > constNodeVec
Definition CBNode.h:55

◆ delChild()

bool CBNode::delChild ( CBNode * child)

Definition at line 84 of file CBNode.cxx.

84 {
85 std::set<CBNode*>::iterator itr = m_children.find(child);
86 if (itr != m_children.end()) {
87 m_children.erase( itr );
88 return true;
89 }
90 return false;
91}

◆ delParent()

bool CBNode::delParent ( CBNode * parent)

Definition at line 75 of file CBNode.cxx.

75 {
76 std::set<CBNode*>::iterator itr = m_parents.find(par);
77 if (itr != m_parents.end()) {
78 m_parents.erase( itr );
79 return true;
80 }
81 return false;
82}

◆ fcn() [1/2]

BFCN * CBNode::fcn ( )
inline

Definition at line 87 of file CBNode.h.

87{ return m_fcn; }

◆ fcn() [2/2]

const BFCN * CBNode::fcn ( ) const
inline

Definition at line 88 of file CBNode.h.

88{ return m_fcn; }

◆ flag()

bool CBNode::flag ( ) const
inline

Definition at line 81 of file CBNode.h.

81{ return m_flag; }

◆ level()

int CBNode::level ( ) const
inline

Definition at line 75 of file CBNode.h.

75{ return m_level; }

◆ name()

const std::string & CBNode::name ( ) const
inline

Definition at line 74 of file CBNode.h.

74{ return m_name; }

◆ parents() [1/2]

const nodeSet & CBNode::parents ( )
inline

Definition at line 70 of file CBNode.h.

70{ return m_parents; }

◆ parents() [2/2]

constNodeVec CBNode::parents ( ) const
inline

Definition at line 72 of file CBNode.h.

72{ return constNodeVec (m_parents.begin(), m_parents.end()); }

◆ proxy()

const SG::DataProxy * CBNode::proxy ( ) const
inline

Definition at line 84 of file CBNode.h.

84{ return m_proxy; }

◆ serial()

unsigned int CBNode::serial ( ) const
inline

Definition at line 90 of file CBNode.h.

90{ return m_serial; }

◆ setFlag()

void CBNode::setFlag ( bool b)
inline

Definition at line 82 of file CBNode.h.

◆ setLevel()

void CBNode::setLevel ( int l)
inline

Definition at line 76 of file CBNode.h.

76{ m_level = l; }
l
Printing final latex table to .tex output file.

◆ setProxy()

void CBNode::setProxy ( const SG::DataProxy * p)

Definition at line 93 of file CBNode.cxx.

93 {
94 assert(0 != p);
95 m_proxy=p;
96 m_name=p->name();
97}

◆ setTrigger()

void CBNode::setTrigger ( bool b)
inline

Definition at line 79 of file CBNode.h.

79{ m_trig = b; }

◆ trigger()

bool CBNode::trigger ( ) const
inline

Definition at line 78 of file CBNode.h.

78{ return m_trig; }

Member Data Documentation

◆ m_cbid

CallBackID CBNode::m_cbid
private

Definition at line 101 of file CBNode.h.

◆ m_children

nodeSet CBNode::m_children
private

Definition at line 94 of file CBNode.h.

◆ m_fcn

BFCN* CBNode::m_fcn
private

Definition at line 100 of file CBNode.h.

◆ m_flag

bool CBNode::m_flag
private

Definition at line 104 of file CBNode.h.

◆ m_level

int CBNode::m_level
private

Definition at line 97 of file CBNode.h.

◆ m_name

std::string CBNode::m_name
private

Definition at line 96 of file CBNode.h.

◆ m_parents

nodeSet CBNode::m_parents
private

Definition at line 93 of file CBNode.h.

◆ m_proxy

const SG::DataProxy* CBNode::m_proxy
private

Definition at line 99 of file CBNode.h.

◆ m_serial

unsigned int CBNode::m_serial
private

Definition at line 106 of file CBNode.h.

◆ m_trig

bool CBNode::m_trig
private

Definition at line 103 of file CBNode.h.

◆ s_serial

std::atomic< unsigned int > CBNode::s_serial = 0
staticprivate

Definition at line 107 of file CBNode.h.


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