![]() |
Rosetta
2021.16
|
This class defines the set of operations that a JobQueen can perform to update the JobDigraph that she originally gave to the JobDistributor. In particular, the JobQueen may only update the JobDigraph by adding new nodes to the graph (which will receive incrementally larger indexes) and then adding edges to the graph such that the head node for the edge must land on one of the newly added nodes in the graph. The JobDistributor will hand the JobQueen a JobDigraphUpdater through the JobQueen's update_job_digraph method, and in this call, the JobQueen may add as many nodes as she wishes, and as many edges that land on those new nodes, but when the method exits, those nodes petrify: the JobQueen may not add any more edges that land on those new nodes. More...
#include <JobDigraph.hh>
Public Member Functions | |
| JobDigraphUpdater (JobDigraphOP) | |
| JobDigraphCOP | job_dag () const |
| Read access to the JobDigraph that the updater holds. More... | |
| void | add_node () |
| Add a new node to the JobDigraph that this class holds. More... | |
| void | add_node (std::string node_type_label) |
| Add a new node to the JobDigraph that this class holds, setting the node type. More... | |
| void | add_edge_to_new_node (core::Size tail_node, core::Size head_node) |
| Add an edge to the graph where the head_node for this edge has to be one of the nodes added to the graph since the creation of this updater. More... | |
| core::Size | orig_num_nodes () const |
Private Attributes | |
| JobDigraphOP | job_digraph_ |
| core::Size | orig_num_nodes_ |
This class defines the set of operations that a JobQueen can perform to update the JobDigraph that she originally gave to the JobDistributor. In particular, the JobQueen may only update the JobDigraph by adding new nodes to the graph (which will receive incrementally larger indexes) and then adding edges to the graph such that the head node for the edge must land on one of the newly added nodes in the graph. The JobDistributor will hand the JobQueen a JobDigraphUpdater through the JobQueen's update_job_digraph method, and in this call, the JobQueen may add as many nodes as she wishes, and as many edges that land on those new nodes, but when the method exits, those nodes petrify: the JobQueen may not add any more edges that land on those new nodes.
| protocols::jd3::JobDigraphUpdater::JobDigraphUpdater | ( | JobDigraphOP | job_digraph | ) |
| void protocols::jd3::JobDigraphUpdater::add_edge_to_new_node | ( | core::Size | tail_node, |
| core::Size | head_node | ||
| ) |
Add an edge to the graph where the head_node for this edge has to be one of the nodes added to the graph since the creation of this updater.
References job_digraph_, and orig_num_nodes_.
| void protocols::jd3::JobDigraphUpdater::add_node | ( | ) |
Add a new node to the JobDigraph that this class holds.
References job_digraph_.
| void protocols::jd3::JobDigraphUpdater::add_node | ( | std::string | node_type_label | ) |
Add a new node to the JobDigraph that this class holds, setting the node type.
References job_digraph_.
| JobDigraphCOP protocols::jd3::JobDigraphUpdater::job_dag | ( | ) | const |
Read access to the JobDigraph that the updater holds.
References job_digraph_.
|
inline |
References orig_num_nodes_.
Referenced by protocols::jd3::job_distributors::JobExtractor::not_done().
|
private |
Referenced by add_edge_to_new_node(), add_node(), and job_dag().
|
private |
Referenced by add_edge_to_new_node(), and orig_num_nodes().
1.8.7