Rosetta 3.5

#include <ConstraintGraph.hh>
Public Types  
typedef graph::Graph  parent 
typedef graph::Graph  Graph 
Public Types inherited from core::graph::Graph  
typedef utility::vector1< Node * >  NodeVector 
typedef Node::EdgeListIter  EdgeListIter 
typedef Node::EdgeListConstIter  EdgeListConstIter 
typedef utility::pointer::ReferenceCount  parent 
Public Member Functions  
ConstraintGraph ()  
ConstraintGraph (Size num_nodes)  
ConstraintGraph (ConstraintGraph const &source)  
ConstraintGraph &  operator= (ConstraintGraph const &source) 
virtual  ~ConstraintGraph () 
virtual void  delete_edge (graph::Edge *edge) 
remove an edge from the graph. (NEW AS OF 12/9/07) Never call C++'s "delete" function on an edge pointer directly. Derived classes must implement this function. If they wish to use unordered_object_pools to manage their memory More...  
Public Member Functions inherited from core::graph::Graph  
virtual  ~Graph () 
virtual destructor. Derived classes must ensure they've destroyed all their nodes and edges through a call to "destroy_everything" before this function is arrived at More...  
Graph ()  
ctor More...  
Graph (platform::Size num_nodes)  
num nodes ctor More...  
Graph (Graph const &source)  
copy ctor. Must not be called by derived class copy ctors. More...  
Graph &  operator= (Graph const &source) 
assignment operator. source and this must have the same type. More...  
void  copy_connectivity (Graph const &source) 
copy the edge connectivity from a source graph with a potentially unknown type. More...  
platform::Size  num_nodes () const 
the number of nodes in the graph More...  
void  set_num_nodes (platform::Size num_nodes) 
set the number of nodes in the graph – deletes any existing edges in the graph More...  
Edge *  add_edge (platform::Size node1, platform::Size node2) 
add an edge between two vertices. Invokes "create_edge" from the derived class. Returns a pointer to the edge after its been added, allowing the calling function to immediately set data for this edge. More...  
Edge *  add_edge (Edge const *example_edge) 
add an edge to this graph copying the data from an edge in another graph. Returns a pointer to the edge after its been added, allowing the calling function to immediately set data for this edge. More...  
bool  get_edge_exists (platform::Size node1, platform::Size node2) const 
is an edge already present in the graph? O(V) worst case. O(1) iff all vertices have O(1) edges More...  
void  drop_all_edges () 
delete all the edges present in the graph More...  
void  drop_all_edges_for_node (platform::Size node) 
delete all the edges for a single vertex in the graph More...  
void  print_vertices () const 
send summary information to the screen for all vertices in the graph More...  
void  output_connectivity (std::ostream &os) const 
send an edge list to the stream os. More...  
void  output_dimacs (std::ostream &os) const 
describe this graph in dimacs form to the stream os. More...  
ObjexxFCL::FArray2D_int  all_pairs_shortest_paths () const 
O(V^3). Computes all pairs shortest paths using Warshall's algorithm and writes all the path distances to the twodimensional table. More...  
Node const *  get_node (platform::Size index) const 
Node *  get_node (platform::Size index) 
platform::Size  num_edges () const 
EdgeListConstIter  const_edge_list_begin () const 
returns a const iterator to the beginning of the (unordered) edge list for the graph. this edge list contains all the edges in the graph, not simply those for a particular vertex More...  
EdgeListIter  edge_list_begin () 
returns a nonconst iterator to the beginning of the (unordered) edge list for the graph. this edge list contains all the edges in the graph, not simply those for a particular vertex More...  
EdgeListConstIter  const_edge_list_end () const 
returns a const iterator to the end of the (unordered) edge list for the graph. this edge list contains all the edges in the graph, not simply those for a particular vertex More...  
EdgeListIter  edge_list_end () 
returns a nonconst iterator to the end of the (unordered) edge list for the graph. this edge list contains all the edges in the graph, not simply those for a particular vertex More...  
Edge *  find_edge (platform::Size node1, platform::Size node2) 
returns a pointer to the edge connecting nodes node1 and node2, if that edge exists in the graph, o.w. returns 0. Focuses the graph on this edge for fast subsequent retrieval. More...  
Edge const *  find_edge (platform::Size node1, platform::Size node2) const 
returns a const pointer to the edge connecting nodes node1 and node2, if that edge exists in the graph, o.w. returns 0. Focuses the graph on this edge for fast subsequent retrieval. More...  
Edge *  focused_edge () 
returns a pointer to the focused edge More...  
Edge const *  focused_edge () const 
returns a constpointer to the focused edge More...  
platform::Size  getTotalMemoryUsage () const 
returns a count of all the memory used by every vertex and edge in a graph by invoking the polymorphic count_static_memory and count_dynamic_memory of each (possibly derived) node and edge object as well as for the (possibly derived) graph class. More...  
Protected Member Functions  
virtual Size  count_static_memory () const 
virtual Size  count_dynamic_memory () const 
virtual graph::Node *  create_new_node (Size node_index) 
factory method for node creation, defined by derived graph classes, called by the base class More...  
virtual graph::Edge *  create_new_edge (Size index1, Size index2) 
factory method for edge creation, defined by derived graph classes, called by the base class More...  
virtual graph::Edge *  create_new_edge (graph::Edge const *example_edge) 
factory method for edge copyconstruction. Derived class should downcast the example_edge pointer and may read that edge's data. More...  
Protected Member Functions inherited from core::graph::Graph  
void  drop_edge (EdgeListIter edge_iter) 
remove an edge from the entiregraph edge list. Called only by class Edge during its destructor More...  
void  delete_everything () 
deallocate all nodes and edges from the graph More...  
boost::unordered_object_pool < EdgeListElement > &  edge_list_element_pool () 
Used by class Node only, this is the pool from which edge lists are to allocate their edge lists elements from. More...  
core::scoring::constraints::ConstraintGraph::ConstraintGraph  (  ) 
Referenced by count_static_memory().
core::scoring::constraints::ConstraintGraph::ConstraintGraph  (  Size  num_nodes) 
References core::graph::Graph::set_num_nodes().
core::scoring::constraints::ConstraintGraph::ConstraintGraph  (  ConstraintGraph const &  source) 
References core::graph::Graph::operator=().

virtual 
References core::graph::Graph::delete_everything().

protectedvirtual 
Reimplemented from core::graph::Graph.
References core::graph::Graph::count_dynamic_memory().

protectedvirtual 
Reimplemented from core::graph::Graph.
References ConstraintGraph().

protectedvirtual 
factory method for edge creation, defined by derived graph classes, called by the base class
factory method for edge creation Should be overriden in derived classes
Reimplemented from core::graph::Graph.

protectedvirtual 
factory method for edge copyconstruction. Derived class should downcast the example_edge pointer and may read that edge's data.
Reimplemented from core::graph::Graph.

protectedvirtual 
factory method for node creation, defined by derived graph classes, called by the base class
factory method for node creation Should be overriden in derived classes
Reimplemented from core::graph::Graph.

virtual 
remove an edge from the graph. (NEW AS OF 12/9/07) Never call C++'s "delete" function on an edge pointer directly. Derived classes must implement this function. If they wish to use unordered_object_pools to manage their memory
Reimplemented from core::graph::Graph.
ConstraintGraph & core::scoring::constraints::ConstraintGraph::operator=  (  ConstraintGraph const &  source) 
References core::graph::Graph::operator=().