Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Coperations_research::ArcFunctorOrderingByTailAndHead< GraphType >
 Coperations_research::ArcIndexOrderingByTailNode< GraphType >Logically this class should be defined inside OptimizeGraphLayout, but compilation fails if we do that because C++98 doesn't allow instantiation of member templates with function-scoped types as template parameters, which in turn is because those function-scoped types lack linkage
 Coperations_research::StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >::ArcIteratorIterator class for traversing the arcs in the graph
 CArcIterator
 Cutil::UndirectedAdjacencyListsOfDirectedGraph< Graph >::AdjacencyListIterator
 CArrayIndexCycleHandler
 Coperations_research::ForwardStaticGraph< NodeIndexType, ArcIndexType >::CycleHandlerForAnnotatedArcs
 Cutil::BaseGraph< NodeIndexType, ArcIndexType, HasReverseArcs >Base class of all Graphs implemented here
 Cutil::BaseGraph< NodeIndexType, ArcIndexType, false >
 Cutil::CompleteBipartiteGraph< NodeIndexType, ArcIndexType >CompleteBipartiteGraph implementation ------------------------------------— Nodes and arcs are implicit and not stored
 Cutil::CompleteGraph< NodeIndexType, ArcIndexType >CompleteGraph implementation ---------------------------------------------— Nodes and arcs are implicit and not stored
 Cutil::ListGraph< NodeIndexType, ArcIndexType >Basic graph implementation without reverse arc
 Cutil::StaticGraph< NodeIndexType, ArcIndexType >Most efficient implementation of a graph without reverse arcs:
 Cutil::BaseGraph< NodeIndexType, ArcIndexType, true >
 Cutil::ReverseArcListGraph< NodeIndexType, ArcIndexType >Extends the ListGraph by also storing the reverse arcs
 Cutil::ReverseArcMixedGraph< NodeIndexType, ArcIndexType >This graph is a mix between the ReverseArcListGraph and the ReverseArcStaticGraph
 Cutil::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >StaticGraph with reverse arc
 Coperations_research::LinearSumAssignment< GraphType >::BipartiteLeftNodeIterator
 Coperations_research::BronKerboschAlgorithm< NodeIndex >Implements the Bron-Kerbosch algorithm for finding maximal cliques
 Coperations_research::ChristofidesPathSolver< CostType, ArcIndex, NodeIndex, CostFunction >
 Coperations_research::ConnectedComponents< NodeIndex, ArcIndex >Template class implementing a Union-Find algorithm with path compression for maintaining the connected components of a graph
 CConnectedComponentsFinder< T, CompareOrHashT >Usage: ConnectedComponentsFinder<MyNodeType> cc; cc.AddNode(node1); cc.AddNode(node2); cc.AddEdge(node1, node2); ..
 CDenseConnectedComponentsFinderNOTE(user): The rest of the functions below should also be in namespace util, but for historical reasons it hasn't been done yet
 Coperations_research::ElementIterator< Set >
 Coperations_research::graph_traits< GraphType >Traits for EbertGraphBase types, for use in testing and clients that work with both forward-only and forward/reverse graphs
 Coperations_research::graph_traits< ForwardEbertGraph< NodeIndexType, ArcIndexType > >
 Coperations_research::graph_traits< ForwardStaticGraph< NodeIndexType, ArcIndexType > >
 Coperations_research::or_internal::GraphBuilderFromArcs< GraphType, graph_traits< GraphType >::is_dynamic >
 Coperations_research::AnnotatedGraphBuildManager< GraphType >
 Coperations_research::Graphs< Graph >Since StarGraph does not have exactly the same interface as the other graphs, we define a correspondence there
 Coperations_research::Graphs< operations_research::StarGraph >
 Coperations_research::HamiltonianPathSolver< CostType, CostFunction >
 Coperations_research::EbertGraph< NodeIndexType, ArcIndexType >::IncomingArcIteratorIterator class for traversing the incoming arcs associated to a given node
 CMutableVectorIteration< T >::Iterator
 Coperations_research::LatticeMemoryManager< Set, CostType >The Dynamic Programming (DP) algorithm memorizes the values f(set, node) for node in set, for all the subsets of cardinality <= max_card_
 Coperations_research::LatticeMemoryManager< operations_research::Set, CostType >
 Coperations_research::LinearSumAssignment< GraphType >This class does not take ownership of its underlying graph
 Coperations_research::MaxFlowStatusClassWe want an enum for the Status of a max flow run, and we want this enum to be scoped under GenericMaxFlow<>
 Coperations_research::GenericMaxFlow< StarGraph >
 Coperations_research::MaxFlowDefault instance MaxFlow that uses StarGraph
 Coperations_research::GenericMaxFlow< Graph >Forward declaration
 Coperations_research::MinCostFlowBaseDifferent statuses for a solved problem
 Coperations_research::GenericMinCostFlow< StarGraph >
 Coperations_research::MinCostFlowDefault MinCostFlow instance that uses StarGraph
 Coperations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >Forward declaration
 Coperations_research::SimpleMinCostFlowA simple and efficient min-cost flow interface
 Coperations_research::StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >::NodeIteratorIterator class for traversing all the nodes in the graph
 Cutil::ReverseArcListGraph< NodeIndexType, ArcIndexType >::OppositeIncomingArcIterator
 Cutil::ReverseArcListGraph< NodeIndexType, ArcIndexType >::IncomingArcIterator
 Cutil::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::OppositeIncomingArcIterator
 Cutil::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::IncomingArcIterator
 Cutil::ReverseArcMixedGraph< NodeIndexType, ArcIndexType >::OppositeIncomingArcIterator
 Cutil::ReverseArcMixedGraph< NodeIndexType, ArcIndexType >::IncomingArcIterator
 Coperations_research::StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >::OutgoingArcIteratorIterator class for traversing the outgoing arcs associated to a given node
 Cutil::ListGraph< NodeIndexType, ArcIndexType >::OutgoingArcIterator
 Cutil::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::OutgoingArcIterator
 Cutil::ReverseArcListGraph< NodeIndexType, ArcIndexType >::OutgoingArcIterator
 Cutil::ReverseArcMixedGraph< NodeIndexType, ArcIndexType >::OutgoingArcIterator
 Cutil::StaticGraph< NodeIndexType, ArcIndexType >::OutgoingArcIterator
 Cutil::CompleteBipartiteGraph< NodeIndexType, ArcIndexType >::OutgoingArcIterator
 Cutil::ListGraph< NodeIndexType, ArcIndexType >::OutgoingHeadIterator
 Cutil::ReverseArcListGraph< NodeIndexType, ArcIndexType >::OutgoingHeadIterator
 Coperations_research::EbertGraph< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcIteratorIterator class for traversing the arcs incident to a given node in the graph
 Cutil::ReverseArcMixedGraph< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcIterator
 Cutil::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcIterator
 Cutil::ReverseArcListGraph< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcIterator
 CPermutationCycleHandler
 Coperations_research::CostValueCycleHandler< ArcIndexType >
 Coperations_research::EbertGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >::CycleHandlerForAnnotatedArcs
 Coperations_research::PermutationIndexComparisonByArcHead< NodeIndexType, ArcIndexType >
 Coperations_research::PriorityQueueWithRestrictedPush< Element, IntegerPriority >Specific but efficient priority queue implementation
 Coperations_research::PriorityQueueWithRestrictedPush< NodeIndex, NodeHeight >
 Coperations_research::PruningHamiltonianSolver< CostType, CostFunction >
 CSccCounterOutput< NodeIndex >A simple custom output class that just counts the number of SCC
 Coperations_research::Set< Integer >
 Coperations_research::SetRangeIterator< SetRange >An iterator for sets of increasing corresponding values that have the same cardinality
 Coperations_research::SetRangeWithCardinality< Set >
 Coperations_research::SimpleMaxFlowA simple and efficient max-cost flow interface
 Coperations_research::StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >
 Coperations_research::EbertGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >A template for the base class that holds the functionality that exists in common between the EbertGraph<> template and the ForwardEbertGraph<> template
 Coperations_research::EbertGraph< NodeIndexType, ArcIndexType >Forward declarations
 Coperations_research::StarGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType > >
 Coperations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType > >
 Coperations_research::StarGraphBase< NodeIndexType, ArcIndexType, ForwardEbertGraph< NodeIndexType, ArcIndexType > >
 Coperations_research::EbertGraphBase< NodeIndexType, ArcIndexType, ForwardEbertGraph< NodeIndexType, ArcIndexType > >
 Coperations_research::ForwardEbertGraph< NodeIndexType, ArcIndexType >A forward-star-only graph representation for greater efficiency in those algorithms that don't need reverse arcs
 Coperations_research::StarGraphBase< NodeIndexType, ArcIndexType, ForwardStaticGraph< NodeIndexType, ArcIndexType > >
 Coperations_research::ForwardStaticGraph< NodeIndexType, ArcIndexType >
 Cutil::SVector< T >Forward declaration
 Cutil::SVector< ArcIndexType >
 Cutil::SVector< NodeIndexType >
 Coperations_research::TailArrayManager< GraphType >
 Cutil::UndirectedAdjacencyListsOfDirectedGraph< Graph >This can be used to view a directed graph (that supports reverse arcs) from graph.h as un undirected graph: operator[](node) returns a pseudo-container that iterates over all nodes adjacent to "node" (from outgoing or incoming arcs)