Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <algorithm>
#include <cstdint>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include "absl/container/btree_map.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/inlined_vector.h"
#include "absl/types/span.h"
#include "ortools/base/hash.h"
#include "ortools/base/map_util.h"
#include "ortools/graph/connected_components.h"
#include "ortools/graph/graph.h"
#include "ortools/graph/iterators.h"
Go to the source code of this file.
Classes | |
class | util::UndirectedAdjacencyListsOfDirectedGraph< Graph > |
class | util::UndirectedAdjacencyListsOfDirectedGraph< Graph >::AdjacencyListIterator |
Namespaces | |
namespace | util |
A collections of i/o utilities for the Graph classes in ./graph.h. | |
Functions | |
template<class Graph > | |
bool | util::GraphHasSelfArcs (const Graph &graph) |
Implementations of the templated methods. | |
template<class Graph > | |
bool | util::GraphHasDuplicateArcs (const Graph &graph) |
template<class Graph > | |
bool | util::GraphIsSymmetric (const Graph &graph) |
template<class Graph > | |
bool | util::GraphIsWeaklyConnected (const Graph &graph) |
template<class Graph > | |
std::unique_ptr< Graph > | util::CopyGraph (const Graph &graph) |
Returns a fresh copy of a given graph. | |
template<class Graph > | |
std::unique_ptr< Graph > | util::RemapGraph (const Graph &graph, absl::Span< const int > new_node_index) |
template<class Graph > | |
std::unique_ptr< Graph > | util::GetSubgraphOfNodes (const Graph &graph, absl::Span< const int > nodes) |
template<class Graph > | |
std::vector< int > | util::GetWeaklyConnectedComponents (const Graph &graph) |
bool | util::IsSubsetOf0N (absl::Span< const int > v, int n) |
bool | util::IsValidPermutation (absl::Span< const int > v) |
Returns true iff the given vector is a permutation of [0..size()-1]. | |
template<class Graph > | |
std::unique_ptr< Graph > | util::RemoveSelfArcsAndDuplicateArcs (const Graph &graph) |
Returns a copy of "graph", without self-arcs and duplicate arcs. | |
template<class Graph > | |
void | util::RemoveCyclesFromPath (const Graph &graph, std::vector< int > *arc_path) |
template<class Graph > | |
bool | util::PathHasCycle (const Graph &graph, absl::Span< const int > arc_path) |
Returns true iff the given path contains a cycle. | |
template<class Graph > | |
std::vector< int > | util::ComputeOnePossibleReverseArcMapping (const Graph &graph, bool die_if_not_symmetric) |