Rosetta 3.4
Classes | Typedefs | Functions | Variables
core::graph Namespace Reference

Classes

class  Array0
 Class Array0 is a c-style array wrapper that does bounds checking in debug mode. It indexes from 0 just like regular c-arrays. Class Array0 does not manage it's own memory. It does not allocate memory if you want to make it larger, nor does it deallocate memory when you destroy it. Bounds checking only ensures that the user does not go outside of the memory Array0 thinks it's in charge of. If the user should happen to point the array0 at memory that has not been allocated, Array0 is not responsible for segmentation fault that will likely occur. Garbage in, garbage out. More...
class  NegSpaceElement
 NegSpaceElement represents a single element in the singly-linked list of negative space in an array pool. More...
class  ArrayPoolElement
class  ArrayPool
struct  DS_Node
class  DisjointSets
class  EdgeListElement
 An extensible graph class. More...
class  EdgeListIterator
 Custom Edge list (non-const) iterator class, which can return non-const Edge pointers. This iterator cannot be used to change the structure of its list without access to that list directly. Customized since STL's const-iterator cannot be prevented from giving non-const access to its data. The former workaround to this problem was to define two sets of edge lists on each vertex: a list< Edge * > and a list< Edge const * >. More...
class  EdgeListConstIterator
 Custom Edge list const iterator class, which returns only const Edge pointers. This iterator cannot be used to change the structure of its list without access to that list directly. Customized since STL's const-iterator cannot be prevented from giving non-const access to its data. The former workaround to this problem was to define two sets of edge lists on each vertex: a list< Edge * > and a list< Edge const * >. More...
class  EdgeList
 Custom edge list class. Returns const-iterators which only return Edge const *'s and non-const-iterators which can return either const or non-const Edge*'s. Manages its own memory using an unordered-object-pool for fast insertion and deletion of EdgeListElements. Implemented as a doubly linked list, though there's no practical way to start at the end of a list and work backward since decrementing the end iterator is not a valid operation. More...
class  Node
class  Edge
class  Graph
 A Graph with constant time edge insertion and deletion. Extensible. More...
class  UEVertex
class  UEEdge
class  UpperEdgeGraph

Typedefs

typedef
utility::pointer::owning_ptr
< ArrayPool< platform::Real > > 
RealArrayPoolOP
typedef
utility::pointer::owning_ptr
< ArrayPool< platform::Real >
const > 
RealArrayPoolCOP
typedef
utility::pointer::owning_ptr
< Graph
GraphOP
typedef
utility::pointer::owning_ptr
< Graph const > 
GraphCOP

Functions

bool all_visited (utility::vector1< bool > const &visited)
utility::vector1< std::pair
< platform::Size,
platform::Size > > 
find_connected_components (Graph const &g)
 returns a vector1 of connected component descriptions: each entry holds the connected-component size and a representative vertex from that connected component. O( V+E ).
void delete_all_intragroup_edges (Graph &g, utility::vector1< platform::Size > const &node_groups)

Variables

bool output_interaction_graph_memory_usage = false

Typedef Documentation


Function Documentation

bool core::graph::all_visited ( utility::vector1< bool > const &  visited)
void core::graph::delete_all_intragroup_edges ( Graph &  g,
utility::vector1< platform::Size > const &  node_groups 
)
utility::vector1< std::pair< platform::Size, platform::Size > > core::graph::find_connected_components ( Graph const &  g)

returns a vector1 of connected component descriptions: each entry holds the connected-component size and a representative vertex from that connected component. O( V+E ).

DFS search to identify connected components O(V) memory, O(V+E) time.

References all_visited(), core::graph::Node::const_edge_list_begin(), core::graph::Node::const_edge_list_end(), core::graph::Graph::get_node(), and core::graph::Graph::num_nodes().


Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines