Rosetta
Classes | Namespaces
Graph.hh File Reference

generic graph class header More...

#include <utility/graph/Graph.fwd.hh>
#include <platform/types.hh>
#include <utility/VirtualBase.hh>
#include <iosfwd>
#include <array>
#include <utility/graph/unordered_object_pool.fwd.hpp>
#include <utility/vector1.hh>
#include <ObjexxFCL/FArray2D.fwd.hh>

Classes

class  utility::graph::EdgeListElement
 An extensible graph class. More...
 
class  utility::graph::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  utility::graph::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  utility::graph::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  utility::graph::Node
 
class  utility::graph::Edge
 
class  utility::graph::Graph
 A Graph with constant time edge insertion and deletion. Extensible. More...
 

Namespaces

 utility
 unresizable vector whose size is known at compile time, which may be allocated on the stack, and which indexes from 0.
 
 utility::graph
 

Detailed Description

generic graph class header

Author
Andrew Leaver-Fay (aleav.nosp@m.erfa.nosp@m.y@gma.nosp@m.il.c.nosp@m.om)