Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
base_types.h File Reference
#include <cstddef>
#include <cstdint>
#include <type_traits>
#include <vector>
#include "absl/log/check.h"
#include "absl/time/time.h"
#include "absl/types/span.h"
#include "ortools/base/strong_int.h"
#include "ortools/base/strong_vector.h"
#include "ortools/base/timer.h"

Go to the source code of this file.

Classes

class  operations_research::CompressedStrongVector< EntryIndex, Index >
class  operations_research::CompressedStrongVectorIterator< EntryIndex, Index >
class  operations_research::IndexRange< Index >
class  operations_research::IndexRangeIterator< Index >
 The iterator for an IndexRange. More...
class  operations_research::IterableContainerBase< T, Derived >
class  operations_research::IterableContainer< T >
class  operations_research::StopWatch

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.

Typedefs

using operations_research::Cost = double
 Basic non-strict type for cost. The speed penalty for using double is ~2%.
using operations_research::BaseInt = int32_t
using operations_research::SubsetRange = util_intops::StrongIntRange<SubsetIndex>
using operations_research::ElementRange = util_intops::StrongIntRange<ElementIndex>
using operations_research::ColumnEntryRange = util_intops::StrongIntRange<ColumnEntryIndex>
using operations_research::SubsetCostVector = util_intops::StrongVector<SubsetIndex, Cost>
using operations_research::ElementCostVector = util_intops::StrongVector<ElementIndex, Cost>
using operations_research::SparseColumn = util_intops::StrongVector<ColumnEntryIndex, ElementIndex>
using operations_research::SparseRow = util_intops::StrongVector<RowEntryIndex, SubsetIndex>
using operations_research::ElementToIntVector = util_intops::StrongVector<ElementIndex, BaseInt>
using operations_research::SubsetToIntVector = util_intops::StrongVector<SubsetIndex, BaseInt>
using operations_research::SparseColumnView = util_intops::StrongVector<SubsetIndex, SparseColumn>
 Views of the sparse vectors.
using operations_research::SparseRowView = util_intops::StrongVector<ElementIndex, SparseRow>
using operations_research::SubsetBoolVector = util_intops::StrongVector<SubsetIndex, bool>
using operations_research::ElementBoolVector = util_intops::StrongVector<ElementIndex, bool>
using operations_research::ElementToSubsetVector
 Maps from element to subset. Useful to compress the sparse row view.
using operations_research::CompressedColumn = CompressedStrongVector<ColumnEntryIndex, ElementIndex>
using operations_research::CompressedRow = CompressedStrongVector<RowEntryIndex, SubsetIndex>
using operations_research::CompressedColumnView
using operations_research::CompressedRowView
using operations_research::CompressedColumnIterator
using operations_research::CompressedRowIterator

Functions

 operations_research::DEFINE_STRONG_INT_TYPE (SubsetIndex, BaseInt)
 operations_research::DEFINE_STRONG_INT_TYPE (ElementIndex, BaseInt)
 Element index.
 operations_research::DEFINE_STRONG_INT_TYPE (ColumnEntryIndex, BaseInt)
 operations_research::DEFINE_STRONG_INT_TYPE (RowEntryIndex, BaseInt)
template<class Index>
 operations_research::IndexRange (Index a, Index b) -> IndexRange< Index >
 Additional deduction guide.
template<typename T>
 operations_research::IterableContainer (const T &data_source) -> IterableContainer< T >
 Additional deduction guide.