Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
protocols::jd3::JobDirectedEdge Class Reference

A run-of-the-mill directed edge to use in JobDigraphs. More...

#include <JobDigraph.hh>

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

Public Types

typedef
utility::graph::DirectedEdge 
parent
 

Public Member Functions

 ~JobDirectedEdge () override
 destructor More...
 
 JobDirectedEdge (utility::graph::Digraph *owner, platform::Size tail_node_ind, platform::Size head_node_ind)
 Main edge constructor. This should only be invoked by create_new_edge, which itself is only called by add_edge. The ONLY way an edge should be added to a graph is through add_edge. NOTE: edges should be only be deleted by a call to the Digraph's delete_edge method, and this method absolutely must be implemented by derived Digraph classes. More...
 
void copy_from (utility::graph::DirectedEdge const *source) override
 copy-from for use in Digraph::operator= and copy ctors. The source node must be a JobDirectedEdge More...
 
platform::Size count_static_memory () const override
 how much memory is statically allocated by this edge More...
 
platform::Size count_dynamic_memory () const override
 how much memory is dynamically allocated by this edge – must be recursively invoked by a derived class. More...
 

Protected Member Functions

JobDirectedNode const * get_job_node (platform::Size index) const
 get a const * to one node that this edge is incident upon uses c-style index-from-0 for these two nodes. 0 is the index of the tail node, 1 is the index of the head node. More...
 
JobDirectedNodeget_job_node (platform::Size index)
 get a non-const * to one node that this edge is incident upon uses c-style index-from-0 for these two nodes More...
 
JobDigraph const * get_job_owner () const
 get a const * to the owning graph More...
 
JobDigraphget_job_owner ()
 get a non-const * to the owning graph More...
 

Private Member Functions

 JobDirectedEdge ()
 
 JobDirectedEdge (JobDirectedEdge const &)
 
JobDirectedEdgeoperator= (JobDirectedEdge &)
 

Detailed Description

A run-of-the-mill directed edge to use in JobDigraphs.

Member Typedef Documentation

typedef utility::graph::DirectedEdge protocols::jd3::JobDirectedEdge::parent

Constructor & Destructor Documentation

protocols::jd3::JobDirectedEdge::~JobDirectedEdge ( )
overridedefault

destructor

protocols::jd3::JobDirectedEdge::JobDirectedEdge ( utility::graph::Digraph *  owner,
platform::Size  tail_node_ind,
platform::Size  head_node_ind 
)

Main edge constructor. This should only be invoked by create_new_edge, which itself is only called by add_edge. The ONLY way an edge should be added to a graph is through add_edge. NOTE: edges should be only be deleted by a call to the Digraph's delete_edge method, and this method absolutely must be implemented by derived Digraph classes.

main constructor for edge, no default nor copy constructors

Parameters
owner- [in] - owning InteractionDigraph
tail_node_ind- [in] - the index of the tail node
head_node_ind- [in] - the index of the head node
protocols::jd3::JobDirectedEdge::JobDirectedEdge ( )
private

Referenced by count_static_memory().

protocols::jd3::JobDirectedEdge::JobDirectedEdge ( JobDirectedEdge const &  )
private

Member Function Documentation

void protocols::jd3::JobDirectedEdge::copy_from ( utility::graph::DirectedEdge const *  source)
override

copy-from for use in Digraph::operator= and copy ctors. The source node must be a JobDirectedEdge

derived classes should recursively call the copy_from method to ensure all parent class data is copied. It just so happens that this method does nothing, but that could change and the derived class should include a call to this function for that reason.

platform::Size protocols::jd3::JobDirectedEdge::count_dynamic_memory ( ) const
override

how much memory is dynamically allocated by this edge – must be recursively invoked by a derived class.

memory accounting scheme

This method should be called recursively by derived classes – that is, each class should recurse to its parent.

platform::Size protocols::jd3::JobDirectedEdge::count_static_memory ( ) const
override

how much memory is statically allocated by this edge

memory accouting scheme

This is called non-recursively on the most-derived class

References JobDirectedEdge().

JobDirectedNode const* protocols::jd3::JobDirectedEdge::get_job_node ( platform::Size  index) const
inlineprotected

get a const * to one node that this edge is incident upon uses c-style index-from-0 for these two nodes. 0 is the index of the tail node, 1 is the index of the head node.

JobDirectedNode* protocols::jd3::JobDirectedEdge::get_job_node ( platform::Size  index)
inlineprotected

get a non-const * to one node that this edge is incident upon uses c-style index-from-0 for these two nodes

JobDigraph const * protocols::jd3::JobDirectedEdge::get_job_owner ( ) const
inlineprotected

get a const * to the owning graph

JobDigraph * protocols::jd3::JobDirectedEdge::get_job_owner ( )
inlineprotected

get a non-const * to the owning graph

JobDirectedEdge& protocols::jd3::JobDirectedEdge::operator= ( JobDirectedEdge )
private

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