![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
#include <algorithm>#include <cstddef>#include <cstdint>#include <cstdio>#include <cstdlib>#include <cstring>#include <iterator>#include <limits>#include <type_traits>#include <vector>#include "absl/base/attributes.h"#include "absl/debugging/leak_check.h"#include "absl/log/check.h"#include "absl/types/span.h"#include "ortools/base/constant_divisor.h"#include "ortools/base/logging.h"#include "ortools/graph/iterators.h"Go to the source code of this file.
Namespaces | |
| namespace | util |
| A collections of i/o utilities for the Graph classes in ./graph.h. | |
| namespace | util::internal |
Macros | |
| #define | DEFINE_RANGE_BASED_ARC_ITERATION(c, t) |
| #define | DEFINE_STL_ITERATOR_FUNCTIONS(iterator_class_name) |
Typedefs | |
| template<typename Graph, typename ArcIterator> | |
| using | util::ArcHeadIterator |
| An iterator that iterates on the heads of the arcs of another iterator. | |
| template<typename Graph, typename ArcIterator> | |
| using | util::ArcOppositeArcIterator |
| An iterator that iterates on the opposite arcs of another iterator. | |
| typedef ListGraph | util::Graph |
| Defining the simplest Graph interface as Graph for convenience. | |
Functions | |
| template<typename ArcIndexType> | |
| constexpr bool | util::internal::IsSigned () |
| template<class IntVector, class Array> | |
| void | util::Permute (const IntVector &permutation, Array *array_to_permute) |
| util::DEFINE_RANGE_BASED_ARC_ITERATION (ReverseArcListGraph, OutgoingOrOppositeIncoming) | |
| ReverseArcListGraph implementation ---------------------------------------—. | |
| util::DEFINE_RANGE_BASED_ARC_ITERATION (ReverseArcStaticGraph, OutgoingOrOppositeIncoming) | |
| ReverseArcStaticGraph implementation -------------------------------------—. | |
| #define DEFINE_RANGE_BASED_ARC_ITERATION | ( | c, | |
| t ) |
Macros to wrap old style iteration into the new range-based for loop style. The parameters are:
| #define DEFINE_STL_ITERATOR_FUNCTIONS | ( | iterator_class_name | ) |
Adapt our old iteration style to support range-based for loops. Add typedefs required by std::iterator_traits.