Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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

Member Function Documentation

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_.

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

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

References children_.

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

References children_.

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

Some people like to sort. This is for sorting.

References parent_, and result_id_.

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

References parent_.

Referenced by parent().

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

References parent(), and parent_.

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

References parent_.

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_.

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

References result_id_.

Referenced by result_id().

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

References result_id(), and result_id_.

Friends And Related Function Documentation

friend class JGJobNode
friend
friend class JobGenealogist
friend

Member Data Documentation

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

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

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

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

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: