ebert_graph.h File Reference
#include <algorithm>
#include <limits>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "absl/strings/str_cat.h"
#include "ortools/base/integral_types.h"
#include "ortools/base/logging.h"
#include "ortools/base/macros.h"
#include "ortools/util/permutation.h"
#include "ortools/util/zvector.h"

Go to the source code of this file.

Classes

class  operations_research::EbertGraph< NodeIndexType, ArcIndexType >
 Forward declarations. More...
 
class  operations_research::ForwardEbertGraph< NodeIndexType, ArcIndexType >
 A forward-star-only graph representation for greater efficiency in those algorithms that don't need reverse arcs. More...
 
class  operations_research::ForwardStaticGraph< NodeIndexType, ArcIndexType >
 
class  operations_research::StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >
 
class  operations_research::StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >::NodeIterator
 Iterator class for traversing all the nodes in the graph. More...
 
class  operations_research::StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >::ArcIterator
 Iterator class for traversing the arcs in the graph. More...
 
class  operations_research::StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >::OutgoingArcIterator
 Iterator class for traversing the outgoing arcs associated to a given node. More...
 
class  operations_research::PermutationIndexComparisonByArcHead< NodeIndexType, ArcIndexType >
 
class  operations_research::ForwardStaticGraph< NodeIndexType, ArcIndexType >
 
class  operations_research::ForwardStaticGraph< NodeIndexType, ArcIndexType >::CycleHandlerForAnnotatedArcs
 
class  operations_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. More...
 
class  operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >::CycleHandlerForAnnotatedArcs
 
class  operations_research::EbertGraph< NodeIndexType, ArcIndexType >
 Forward declarations. More...
 
class  operations_research::EbertGraph< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcIterator
 Iterator class for traversing the arcs incident to a given node in the graph. More...
 
class  operations_research::EbertGraph< NodeIndexType, ArcIndexType >::IncomingArcIterator
 Iterator class for traversing the incoming arcs associated to a given node. More...
 
class  operations_research::ForwardEbertGraph< NodeIndexType, ArcIndexType >
 A forward-star-only graph representation for greater efficiency in those algorithms that don't need reverse arcs. More...
 
struct  operations_research::graph_traits< GraphType >
 Traits for EbertGraphBase types, for use in testing and clients that work with both forward-only and forward/reverse graphs. More...
 
struct  operations_research::graph_traits< ForwardEbertGraph< NodeIndexType, ArcIndexType > >
 
struct  operations_research::graph_traits< ForwardStaticGraph< NodeIndexType, ArcIndexType > >
 
class  operations_research::TailArrayManager< GraphType >
 
class  operations_research::ArcFunctorOrderingByTailAndHead< GraphType >
 
class  operations_research::AnnotatedGraphBuildManager< GraphType >
 

Namespaces

 operations_research
 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
 

Typedefs

typedef int32 operations_research::NodeIndex
 Standard instantiation of ForwardEbertGraph (named 'ForwardStarGraph') of EbertGraph (named 'StarGraph'); and relevant type shortcuts. More...
 
typedef int32 operations_research::ArcIndex
 
typedef int64 operations_research::FlowQuantity
 
typedef int64 operations_research::CostValue
 
typedef EbertGraph< NodeIndex, ArcIndex > operations_research::StarGraph
 
typedef ForwardEbertGraph< NodeIndex, ArcIndex > operations_research::ForwardStarGraph
 
typedef ForwardStaticGraph< NodeIndex, ArcIndex > operations_research::ForwardStarStaticGraph
 
typedef ZVector< NodeIndex > operations_research::NodeIndexArray
 
typedef ZVector< ArcIndex > operations_research::ArcIndexArray
 
typedef ZVector< FlowQuantity > operations_research::QuantityArray
 
typedef ZVector< CostValue > operations_research::CostArray
 

Functions

template<typename GraphType >
bool operations_research::BuildLineGraph (const GraphType &graph, GraphType *const line_graph)
 Builds a directed line graph for 'graph' (see "directed line graph" in http://en.wikipedia.org/wiki/Line_graph). More...