![]() |
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.