Rosetta
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
protocols::jd3::JGResultNode Class Reference

#include <JobGenealogist.hh>

Inheritance diagram for protocols::jd3::JGResultNode:
Inheritance graph
[legend]

Public Member Functions

 JGResultNode ()
 
 JGResultNode (unsigned int result, JGJobNodeAP par)
 
 ~JGResultNode ()=default
 
bool operator< (JGResultNode const &rhs) const
 Some people like to sort. This is for sorting. More...
 
void add_child (JGJobNodeAP c, bool tell_child_to_add_parent=true)
 Like humans, the JGResultNode can have more than one child. More...
 
bool remove_child (JGJobNodeAP c, bool tell_child_to_remove_parent=true)
 
unsigned int result_id () const
 
void result_id (unsigned int result_id)
 
JGJobNodeCAP parent () const
 
void parent (JGJobNodeAP parent)
 
utility::vector1< JGJobNodeAP > const & children () const
 Be careful here! The vector is const but the elements are not. More...
 

Protected Member Functions

JGJobNodeAP parent ()
 
utility::vector1< JGJobNodeAP > & children ()
 

Private Attributes

unsigned int result_id_
 
JGJobNodeAP parent_
 
utility::vector1< JGJobNodeAPchildren_
 

Friends

class JGJobNode
 
class JobGenealogist
 

Constructor & Destructor Documentation

◆ JGResultNode() [1/2]

protocols::jd3::JGResultNode::JGResultNode ( )

◆ JGResultNode() [2/2]

protocols::jd3::JGResultNode::JGResultNode ( unsigned int  result,
JGJobNodeAP  par 
)

◆ ~JGResultNode()

protocols::jd3::JGResultNode::~JGResultNode ( )
default

Member Function Documentation

◆ add_child()

void protocols::jd3::JGResultNode::add_child ( JGJobNodeAP  c,
bool  tell_child_to_add_parent = true 
)

Like humans, the JGResultNode can have more than one child.

please only set tell_child_to_add_parent to false if you plan on adding this result node to c's vector of parents. The parent/child relationship is very complicated when only one of the two parties knows about the relationship.

References children_.

◆ children() [1/2]

utility::vector1< JGJobNodeAP >& protocols::jd3::JGResultNode::children ( )
inlineprotected

References children_.

◆ children() [2/2]

utility::vector1< JGJobNodeAP > const& protocols::jd3::JGResultNode::children ( ) const
inline

Be careful here! The vector is const but the elements are not.

References children_.

◆ operator<()

bool protocols::jd3::JGResultNode::operator< ( JGResultNode const &  rhs) const
inline

Some people like to sort. This is for sorting.

References parent_, and result_id_.

◆ parent() [1/3]

JGJobNodeAP protocols::jd3::JGResultNode::parent ( )
inlineprotected

References parent_.

◆ parent() [2/3]

JGJobNodeCAP protocols::jd3::JGResultNode::parent ( ) const
inline

References parent_.

Referenced by parent().

◆ parent() [3/3]

void protocols::jd3::JGResultNode::parent ( JGJobNodeAP  parent)
inline

References parent(), and parent_.

◆ remove_child()

bool protocols::jd3::JGResultNode::remove_child ( JGJobNodeAP  c,
bool  tell_child_to_remove_parent = true 
)

please only set tell_child_to_remove_parent to false if you plan on removing this result node from c's vector of parents. The parent/child relationship is very complicated when only one of the two parties knows that the relationship has ended.

References children_.

◆ result_id() [1/2]

unsigned int protocols::jd3::JGResultNode::result_id ( ) const
inline

References result_id_.

Referenced by result_id().

◆ result_id() [2/2]

void protocols::jd3::JGResultNode::result_id ( unsigned int  result_id)
inline

References result_id(), and result_id_.

Friends And Related Function Documentation

◆ JGJobNode

friend class JGJobNode
friend

◆ JobGenealogist

friend class JobGenealogist
friend

Member Data Documentation

◆ children_

utility::vector1< JGJobNodeAP > protocols::jd3::JGResultNode::children_
private

Referenced by add_child(), children(), and remove_child().

◆ parent_

JGJobNodeAP protocols::jd3::JGResultNode::parent_
private

Referenced by operator<(), and parent().

◆ result_id_

unsigned int protocols::jd3::JGResultNode::result_id_
private

Referenced by operator<(), and result_id().


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