![]() |
Rosetta
2016.11
|
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 | ArrayPool |
class | ArrayPoolElement |
class | DisjointSets |
struct | DS_Node |
class | Edge |
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 | 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 | 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 | Graph |
A Graph with constant time edge insertion and deletion. Extensible. More... | |
class | NegSpaceElement |
NegSpaceElement represents a single element in the singly-linked list of negative space in an array pool. More... | |
class | Node |
class | UEEdge |
class | UEVertex |
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::shared_ptr < Graph > | GraphOP |
typedef utility::pointer::shared_ptr < Graph const > | GraphCOP |
Functions | |
std::string | neg_space_element_allocation_error_message (Size block_size, Size neg_space_element_size) |
std::string | block_allocation_error_message (Size block_size, Size array_size, Size t_size) |
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 ). More... | |
void | delete_all_intragroup_edges (Graph &g, utility::vector1< platform::Size > const &node_groups) |
Variables | |
bool | output_interaction_graph_memory_usage = false |
typedef utility::pointer::shared_ptr< Graph const > core::graph::GraphCOP |
typedef utility::pointer::shared_ptr< Graph > core::graph::GraphOP |
typedef utility::pointer::owning_ptr< ArrayPool< platform::Real > const > core::graph::RealArrayPoolCOP |
typedef utility::pointer::owning_ptr< ArrayPool< platform::Real > > core::graph::RealArrayPoolOP |
Referenced by find_connected_components().
std::string core::graph::block_allocation_error_message | ( | Size | block_size, |
Size | array_size, | ||
Size | t_size | ||
) |
References core::id::to_string().
Referenced by core::graph::ArrayPool< Real >::create_new_block().
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().
std::string core::graph::neg_space_element_allocation_error_message | ( | Size | block_size, |
Size | neg_space_element_size | ||
) |
References core::id::to_string().
Referenced by core::graph::ArrayPool< Real >::create_new_block().
bool core::graph::output_interaction_graph_memory_usage = false |