Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
util.h File Reference
#include <algorithm>
#include <cstdint>
#include <limits>
#include <memory>
#include <set>
#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/log/check.h"
#include "absl/types/span.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

Functions

template<class Graph>
bool util::GraphHasSelfArcs (const Graph &graph)
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< Graphutil::CopyGraph (const Graph &graph)
template<class Graph>
std::unique_ptr< Graphutil::RemapGraph (const Graph &graph, absl::Span< const int > new_node_index)
template<class Graph>
std::unique_ptr< Graphutil::GetSubgraphOfNodes (const Graph &graph, absl::Span< const int > nodes)
template<class Graph>
 util::UndirectedAdjacencyListsOfDirectedGraph (const Graph &) -> UndirectedAdjacencyListsOfDirectedGraph< Graph >
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)
template<class Graph>
std::unique_ptr< Graphutil::RemoveSelfArcsAndDuplicateArcs (const Graph &graph)
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)
template<class Graph>
std::vector< int > util::ComputeOnePossibleReverseArcMapping (const Graph &graph, bool die_if_not_symmetric)