Google OR-Tools: util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>
class util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >

Definition at line 989 of file graph.h.

#include <graph.h>

util::BaseGraph< ReverseArcStaticGraph< int32_t, int32_t >, int32_t, int32_t, true >

Public Types

using OppositeIncomingArcIterator = IntegerRangeIterator<ArcIndexType>
using IncomingArcIterator
using OutgoingArcIterator = IntegerRangeIterator<ArcIndexType>
Public Types inherited from util::BaseGraph< ReverseArcStaticGraph< int32_t, int32_t >, int32_t, int32_t, true >
typedef int32_t NodeIndex
typedef int32_t ArcIndex

Public Member Functions

 ReverseArcStaticGraph ()
 ReverseArcStaticGraph (NodeIndexType num_nodes, ArcIndexType arc_capacity)
ArcIndexType OppositeArc (ArcIndexType arc) const
NodeIndexType Head (ArcIndexType arc) const
NodeIndexType Tail (ArcIndexType arc) const
ArcIndexType OutDegree (NodeIndexType node) const
ArcIndexType InDegree (NodeIndexType node) const
IntegerRange< ArcIndexType > OutgoingArcs (NodeIndexType node) const
IntegerRange< ArcIndexType > OutgoingArcsStartingFrom (NodeIndexType node, ArcIndexType from) const
IntegerRange< ArcIndexType > OppositeIncomingArcs (NodeIndexType node) const
IntegerRange< ArcIndexType > OppositeIncomingArcsStartingFrom (NodeIndexType node, ArcIndexType from) const
BeginEndWrapper< IncomingArcIteratorIncomingArcs (NodeIndexType node) const
BeginEndWrapper< IncomingArcIteratorIncomingArcsStartingFrom (NodeIndexType node, ArcIndexType from) const
BeginEndWrapper< OutgoingOrOppositeIncomingArcIteratorOutgoingOrOppositeIncomingArcs (NodeIndexType node) const
BeginEndWrapper< OutgoingOrOppositeIncomingArcIteratorOutgoingOrOppositeIncomingArcsStartingFrom (NodeIndexType node, ArcIndexType from) const
absl::Span< const NodeIndexType > operator[] (NodeIndexType node) const
void ReserveArcs (ArcIndexType bound) override
void AddNode (NodeIndexType node)
ArcIndexType AddArc (NodeIndexType tail, NodeIndexType head)
void Build (std::vector< ArcIndexType > *permutation) final
void Build ()
bool IsBuilt () const final
bool IsArcValid (ArcIndexType arc) const
Public Member Functions inherited from util::BaseGraph< ReverseArcStaticGraph< int32_t, int32_t >, int32_t, int32_t, true >
 BaseGraph ()
BaseGraphoperator= (const BaseGraph &)=default
virtual ~BaseGraph ()=default
int32_t num_nodes () const
int32_t size () const
int32_t num_arcs () const
IntegerRange< NodeIndexAllNodes () const
IntegerRange< ArcIndexAllForwardArcs () const
bool IsNodeValid (int32_t node) const
bool IsArcValid (int32_t arc) const
int32_t node_capacity () const
int32_t arc_capacity () const
virtual void ReserveNodes (int32_t bound)
virtual void ReserveArcs (int32_t bound)
void Reserve (int32_t node_capacity, int32_t arc_capacity)
void FreezeCapacities ()
virtual void Build (std::vector< int32_t > *permutation)

Additional Inherited Members

Static Public Attributes inherited from util::BaseGraph< ReverseArcStaticGraph< int32_t, int32_t >, int32_t, int32_t, true >
static constexpr bool kHasNegativeReverseArcs
static constexpr int32_t kNilNode
static constexpr int32_t kNilArc
Protected Member Functions inherited from util::BaseGraph< ReverseArcStaticGraph< int32_t, int32_t >, int32_t, int32_t, true >
void ComputeCumulativeSum (internal::Vector< int32_t, int32_t > *v)
void BuildStartAndForwardHead (internal::SVector< int32_t, int32_t > *head, internal::Vector< int32_t, int32_t > *start, std::vector< int32_t > *permutation)
Protected Attributes inherited from util::BaseGraph< ReverseArcStaticGraph< int32_t, int32_t >, int32_t, int32_t, true >
int32_t num_nodes_
int32_t node_capacity_
int32_t num_arcs_
int32_t arc_capacity_
bool const_capacities_

◆ IncomingArcIterator

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

Initial value:

IntegerRangeIterator< ArcIndexType > OppositeIncomingArcIterator

ArcPropertyIterator< Graph, ArcIterator, typename Graph::ArcIndex, &Graph::OppositeArc > ArcOppositeArcIterator

Definition at line 1028 of file graph.h.

◆ OppositeIncomingArcIterator

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ OutgoingArcIterator

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ ReverseArcStaticGraph() [2/2]

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::ReverseArcStaticGraph ( NodeIndexType num_nodes,
ArcIndexType arc_capacity )
inline

◆ AddArc()

template<typename NodeIndexType, typename ArcIndexType>

◆ AddNode()

template<typename NodeIndexType, typename ArcIndexType>

void util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::AddNode ( NodeIndexType node)

◆ Build() [1/2]

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ Build() [2/2]

template<typename NodeIndexType, typename ArcIndexType>

◆ Head()

template<typename NodeIndexType, typename ArcIndexType>

NodeIndexType util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::Head ( ArcIndexType arc) const

◆ IncomingArcs()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ IncomingArcsStartingFrom()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ InDegree()

template<typename NodeIndexType, typename ArcIndexType>

ArcIndexType util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::InDegree ( NodeIndexType node) const

◆ IsArcValid()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

bool util::BaseGraph< ReverseArcStaticGraph< NodeIndexType, ArcIndexType >, NodeIndexType, ArcIndexType, HasNegativeReverseArcs >::IsArcValid ( ArcIndexType arc) const
inline

◆ IsBuilt()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ operator[]()

template<typename NodeIndexType, typename ArcIndexType>

absl::Span< const NodeIndexType > util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::operator[] ( NodeIndexType node) const

◆ OppositeArc()

template<typename NodeIndexType, typename ArcIndexType>

ArcIndexType util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::OppositeArc ( ArcIndexType arc) const

◆ OppositeIncomingArcs()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ OppositeIncomingArcsStartingFrom()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ OutDegree()

template<typename NodeIndexType, typename ArcIndexType>

ArcIndexType util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::OutDegree ( NodeIndexType node) const

◆ OutgoingArcs()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ OutgoingArcsStartingFrom()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ OutgoingOrOppositeIncomingArcs()

◆ OutgoingOrOppositeIncomingArcsStartingFrom()

template<typename NodeIndexType = int32_t, typename ArcIndexType = int32_t>

◆ ReserveArcs()

template<typename NodeIndexType, typename ArcIndexType>

◆ Tail()

template<typename NodeIndexType, typename ArcIndexType>

NodeIndexType util::ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::Tail ( ArcIndexType arc) const

The documentation for this class was generated from the following file: