14#ifndef OR_TOOLS_MATH_OPT_VALIDATORS_IDS_VALIDATOR_H_
15#define OR_TOOLS_MATH_OPT_VALIDATORS_IDS_VALIDATOR_H_
21#include "absl/status/status.h"
22#include "absl/strings/string_view.h"
23#include "absl/types/span.h"
41 std::optional<int64_t> upper_bound = std::nullopt);
47 absl::string_view ids_description,
48 absl::string_view universe_description);
53 absl::string_view first_description,
54 absl::string_view second_description);
An object oriented wrapper for quadratic constraints in ModelStorage.
absl::Status CheckIdsSubset(absl::Span< const int64_t > ids, const IdNameBiMap &universe, std::optional< int64_t > upper_bound)
absl::Status CheckIdsIdentical(absl::Span< const int64_t > first_ids, const IdNameBiMap &second_ids, absl::string_view first_description, absl::string_view second_description)
first_ids and second_ids must include distinct ids.
absl::Status CheckIdsRangeAndStrictlyIncreasing(absl::Span< const int64_t > ids)
In SWIG mode, we don't want anything besides these top-level includes.