Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
cp_model.pb.h
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/sat/cp_model.proto
4// Protobuf C++ Version: 6.31.1
5
6#ifndef ortools_2fsat_2fcp_5fmodel_2eproto_2epb_2eh
7#define ortools_2fsat_2fcp_5fmodel_2eproto_2epb_2eh
8
9#include <limits>
10#include <string>
11#include <type_traits>
12#include <utility>
13
14#include "google/protobuf/runtime_version.h"
15#if PROTOBUF_VERSION != 6031001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
19#endif
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_tctable_decl.h"
24#include "google/protobuf/generated_message_util.h"
25#include "google/protobuf/metadata_lite.h"
26#include "google/protobuf/generated_message_reflection.h"
27#include "google/protobuf/message.h"
28#include "google/protobuf/message_lite.h"
29#include "google/protobuf/repeated_field.h" // IWYU pragma: export
30#include "google/protobuf/extension_set.h" // IWYU pragma: export
31#include "google/protobuf/generated_enum_reflection.h"
32#include "google/protobuf/unknown_field_set.h"
33// @@protoc_insertion_point(includes)
34
35// Must be included last.
36#include "google/protobuf/port_def.inc"
37
38#define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto OR_PROTO_DLL
39
40namespace google {
41namespace protobuf {
42namespace internal {
43template <typename T>
44::absl::string_view GetAnyMessageName();
45} // namespace internal
46} // namespace protobuf
47} // namespace google
48
49// Internal implementation detail -- do not use these members.
51 static const ::uint32_t offsets[];
52};
53extern "C" {
54OR_PROTO_DLL extern const ::google::protobuf::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto;
55} // extern "C"
56namespace operations_research {
57namespace sat {
58enum CpSolverStatus : int;
59OR_PROTO_DLL extern const uint32_t CpSolverStatus_internal_data_[];
61OR_PROTO_DLL extern const uint32_t DecisionStrategyProto_DomainReductionStrategy_internal_data_[];
67OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AllDifferentConstraintProto_class_data_;
71OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AutomatonConstraintProto_class_data_;
75OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BoolArgumentProto_class_data_;
79OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CircuitConstraintProto_class_data_;
80class ConstraintProto;
83OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ConstraintProto_class_data_;
84class CpModelProto;
87OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpModelProto_class_data_;
91OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpObjectiveProto_class_data_;
95OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpSolverResponse_class_data_;
99OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpSolverSolution_class_data_;
103OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CumulativeConstraintProto_class_data_;
107OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull DecisionStrategyProto_class_data_;
108class DenseMatrixProto;
111OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull DenseMatrixProto_class_data_;
115OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ElementConstraintProto_class_data_;
119OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull FloatObjectiveProto_class_data_;
123OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull IntegerVariableProto_class_data_;
127OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull IntervalConstraintProto_class_data_;
131OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull InverseConstraintProto_class_data_;
135OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearArgumentProto_class_data_;
139OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearConstraintProto_class_data_;
143OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearExpressionProto_class_data_;
147OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ListOfVariablesProto_class_data_;
151OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull NoOverlap2DConstraintProto_class_data_;
155OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull NoOverlapConstraintProto_class_data_;
159OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PartialVariableAssignment_class_data_;
163OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ReservoirConstraintProto_class_data_;
167OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutesConstraintProto_class_data_;
171OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutesConstraintProto_NodeExpressions_class_data_;
175OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SparsePermutationProto_class_data_;
176class SymmetryProto;
179OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SymmetryProto_class_data_;
183OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TableConstraintProto_class_data_;
184} // namespace sat
185} // namespace operations_research
186namespace google {
187namespace protobuf {
188template <>
189internal::EnumTraitsT<::operations_research::sat::CpSolverStatus_internal_data_>
190 internal::EnumTraitsImpl::value<::operations_research::sat::CpSolverStatus>;
191template <>
192internal::EnumTraitsT<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_internal_data_>
193 internal::EnumTraitsImpl::value<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>;
194template <>
195internal::EnumTraitsT<::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_internal_data_>
196 internal::EnumTraitsImpl::value<::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>;
197} // namespace protobuf
198} // namespace google
199
200namespace operations_research {
201namespace sat {
213
214OR_PROTO_DLL extern const uint32_t DecisionStrategyProto_VariableSelectionStrategy_internal_data_[];
220 return 0 <= value && value <= 4;
221}
223OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL DecisionStrategyProto_VariableSelectionStrategy_descriptor();
224template <typename T>
226 static_assert(::std::is_same<T, DecisionStrategyProto_VariableSelectionStrategy>::value ||
227 ::std::is_integral<T>::value,
228 "Incorrect type passed to VariableSelectionStrategy_Name().");
230}
231template <>
233 return ::google::protobuf::internal::NameOfDenseEnum<DecisionStrategyProto_VariableSelectionStrategy_descriptor, 0, 4>(
234 static_cast<int>(value));
235}
237 ::absl::string_view name, DecisionStrategyProto_VariableSelectionStrategy* PROTOBUF_NONNULL value) {
238 return ::google::protobuf::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(DecisionStrategyProto_VariableSelectionStrategy_descriptor(), name,
239 value);
240}
253
254OR_PROTO_DLL extern const uint32_t DecisionStrategyProto_DomainReductionStrategy_internal_data_[];
260 return 0 <= value && value <= 5;
261}
263OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL DecisionStrategyProto_DomainReductionStrategy_descriptor();
264template <typename T>
266 static_assert(::std::is_same<T, DecisionStrategyProto_DomainReductionStrategy>::value ||
267 ::std::is_integral<T>::value,
268 "Incorrect type passed to DomainReductionStrategy_Name().");
270}
271template <>
273 return ::google::protobuf::internal::NameOfDenseEnum<DecisionStrategyProto_DomainReductionStrategy_descriptor, 0, 5>(
274 static_cast<int>(value));
275}
277 ::absl::string_view name, DecisionStrategyProto_DomainReductionStrategy* PROTOBUF_NONNULL value) {
278 return ::google::protobuf::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(DecisionStrategyProto_DomainReductionStrategy_descriptor(), name,
279 value);
280}
281enum CpSolverStatus : int {
288 ::std::numeric_limits<::int32_t>::min(),
290 ::std::numeric_limits<::int32_t>::max(),
291};
292
293OR_PROTO_DLL extern const uint32_t CpSolverStatus_internal_data_[];
295 static_cast<CpSolverStatus>(0);
297 static_cast<CpSolverStatus>(4);
298inline bool CpSolverStatus_IsValid(int value) {
299 return 0 <= value && value <= 4;
300}
301inline constexpr int CpSolverStatus_ARRAYSIZE = 4 + 1;
302OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CpSolverStatus_descriptor();
303template <typename T>
304const ::std::string& CpSolverStatus_Name(T value) {
305 static_assert(::std::is_same<T, CpSolverStatus>::value ||
306 ::std::is_integral<T>::value,
307 "Incorrect type passed to CpSolverStatus_Name().");
308 return CpSolverStatus_Name(static_cast<CpSolverStatus>(value));
309}
310template <>
311inline const ::std::string& CpSolverStatus_Name(CpSolverStatus value) {
312 return ::google::protobuf::internal::NameOfDenseEnum<CpSolverStatus_descriptor, 0, 4>(
313 static_cast<int>(value));
314}
316 ::absl::string_view name, CpSolverStatus* PROTOBUF_NONNULL value) {
317 return ::google::protobuf::internal::ParseNamedEnum<CpSolverStatus>(CpSolverStatus_descriptor(), name,
318 value);
319}
320
321// ===================================================================
322
323
324// -------------------------------------------------------------------
325
326class OR_PROTO_DLL SparsePermutationProto final : public ::google::protobuf::Message
327/* @@protoc_insertion_point(class_definition:operations_research.sat.SparsePermutationProto) */ {
328 public:
330 ~SparsePermutationProto() PROTOBUF_FINAL;
332#if defined(PROTOBUF_CUSTOM_VTABLE)
333 void operator delete(SparsePermutationProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
334 SharedDtor(*msg);
335 ::google::protobuf::internal::SizedDelete(msg, sizeof(SparsePermutationProto));
336 }
337#endif
338
339 template <typename = void>
340 explicit PROTOBUF_CONSTEXPR SparsePermutationProto(::google::protobuf::internal::ConstantInitialized);
341
343 inline SparsePermutationProto(SparsePermutationProto&& from) noexcept
344 : SparsePermutationProto(nullptr, ::std::move(from)) {}
347 return *this;
348 }
349 inline SparsePermutationProto& operator=(SparsePermutationProto&& from) noexcept {
350 if (this == &from) return *this;
351 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
352 InternalSwap(&from);
353 } else {
354 CopyFrom(from);
355 }
356 return *this;
357 }
358
359 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
360 ABSL_ATTRIBUTE_LIFETIME_BOUND {
361 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
362 }
363 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
364 ABSL_ATTRIBUTE_LIFETIME_BOUND {
365 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
366 }
367
368 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
369 return GetDescriptor();
371 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
372 return default_instance().GetMetadata().descriptor;
374 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
375 return default_instance().GetMetadata().reflection;
377 static const SparsePermutationProto& default_instance() {
378 return *reinterpret_cast<const SparsePermutationProto*>(
380 }
381 static constexpr int kIndexInFileMessages = 24;
382 friend void swap(SparsePermutationProto& a, SparsePermutationProto& b) { a.Swap(&b); }
383 inline void Swap(SparsePermutationProto* PROTOBUF_NONNULL other) {
384 if (other == this) return;
385 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
386 InternalSwap(other);
387 } else {
388 ::google::protobuf::internal::GenericSwap(this, other);
389 }
390 }
391 void UnsafeArenaSwap(SparsePermutationProto* PROTOBUF_NONNULL other) {
392 if (other == this) return;
393 ABSL_DCHECK(GetArena() == other->GetArena());
394 InternalSwap(other);
395 }
396
397 // implements Message ----------------------------------------------
398
399 SparsePermutationProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
400 return ::google::protobuf::Message::DefaultConstruct<SparsePermutationProto>(arena);
402 using ::google::protobuf::Message::CopyFrom;
403 void CopyFrom(const SparsePermutationProto& from);
404 using ::google::protobuf::Message::MergeFrom;
405 void MergeFrom(const SparsePermutationProto& from) { SparsePermutationProto::MergeImpl(*this, from); }
406
407 private:
408 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
409 const ::google::protobuf::MessageLite& from_msg);
410
411 public:
412 bool IsInitialized() const {
413 return true;
415 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
416 #if defined(PROTOBUF_CUSTOM_VTABLE)
417 private:
418 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
419 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
420 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
421 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
422
423 public:
424 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
425 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
426 ::uint8_t* PROTOBUF_NONNULL target,
427 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
428 return _InternalSerialize(*this, target, stream);
429 }
430 #else // PROTOBUF_CUSTOM_VTABLE
431 ::size_t ByteSizeLong() const final;
432 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
433 ::uint8_t* PROTOBUF_NONNULL target,
434 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
435 #endif // PROTOBUF_CUSTOM_VTABLE
436 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
437
438 private:
439 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
440 static void SharedDtor(MessageLite& self);
441 void InternalSwap(SparsePermutationProto* PROTOBUF_NONNULL other);
442 private:
443 template <typename T>
444 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
445 static ::absl::string_view FullMessageName() { return "operations_research.sat.SparsePermutationProto"; }
446
447 protected:
448 explicit SparsePermutationProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
449 SparsePermutationProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SparsePermutationProto& from);
451 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SparsePermutationProto&& from) noexcept
453 *this = ::std::move(from);
454 }
455 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
456 static void* PROTOBUF_NONNULL PlacementNew_(
457 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
458 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
459 static constexpr auto InternalNewImpl_();
460
461 public:
462 static constexpr auto InternalGenerateClassData_();
463
464 ::google::protobuf::Metadata GetMetadata() const;
465 // nested types ----------------------------------------------------
466
467 // accessors -------------------------------------------------------
468 enum : int {
469 kSupportFieldNumber = 1,
470 kCycleSizesFieldNumber = 2,
471 };
472 // repeated int32 support = 1;
473 int support_size() const;
474 private:
475 int _internal_support_size() const;
476
477 public:
478 void clear_support() ;
479 ::int32_t support(int index) const;
480 void set_support(int index, ::int32_t value);
481 void add_support(::int32_t value);
482 const ::google::protobuf::RepeatedField<::int32_t>& support() const;
483 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_support();
484
485 private:
486 const ::google::protobuf::RepeatedField<::int32_t>& _internal_support() const;
487 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_support();
488
489 public:
490 // repeated int32 cycle_sizes = 2;
491 int cycle_sizes_size() const;
492 private:
493 int _internal_cycle_sizes_size() const;
494
495 public:
496 void clear_cycle_sizes() ;
497 ::int32_t cycle_sizes(int index) const;
498 void set_cycle_sizes(int index, ::int32_t value);
499 void add_cycle_sizes(::int32_t value);
500 const ::google::protobuf::RepeatedField<::int32_t>& cycle_sizes() const;
501 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_cycle_sizes();
502
503 private:
504 const ::google::protobuf::RepeatedField<::int32_t>& _internal_cycle_sizes() const;
505 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_cycle_sizes();
506
507 public:
508 // @@protoc_insertion_point(class_scope:operations_research.sat.SparsePermutationProto)
509 private:
510 class _Internal;
511 friend class ::google::protobuf::internal::TcParser;
512 static const ::google::protobuf::internal::TcParseTable<1, 2,
513 0, 0,
514 2>
515 _table_;
516
517 friend class ::google::protobuf::MessageLite;
518 friend class ::google::protobuf::Arena;
519 template <typename T>
520 friend class ::google::protobuf::Arena::InternalHelper;
521 using InternalArenaConstructable_ = void;
522 using DestructorSkippable_ = void;
523 struct Impl_ {
524 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
525 inline explicit Impl_(
526 ::google::protobuf::internal::InternalVisibility visibility,
527 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
528 inline explicit Impl_(
529 ::google::protobuf::internal::InternalVisibility visibility,
530 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
531 const SparsePermutationProto& from_msg);
532 ::google::protobuf::RepeatedField<::int32_t> support_;
533 ::google::protobuf::internal::CachedSize _support_cached_byte_size_;
534 ::google::protobuf::RepeatedField<::int32_t> cycle_sizes_;
535 ::google::protobuf::internal::CachedSize _cycle_sizes_cached_byte_size_;
536 ::google::protobuf::internal::CachedSize _cached_size_;
537 PROTOBUF_TSAN_DECLARE_MEMBER
538 };
539 union { Impl_ _impl_; };
540 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
543OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SparsePermutationProto_class_data_;
544// -------------------------------------------------------------------
545
546class OR_PROTO_DLL PartialVariableAssignment final : public ::google::protobuf::Message
547/* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
548 public:
550 ~PartialVariableAssignment() PROTOBUF_FINAL;
551
552#if defined(PROTOBUF_CUSTOM_VTABLE)
553 void operator delete(PartialVariableAssignment* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
554 SharedDtor(*msg);
555 ::google::protobuf::internal::SizedDelete(msg, sizeof(PartialVariableAssignment));
556 }
557#endif
558
559 template <typename = void>
560 explicit PROTOBUF_CONSTEXPR PartialVariableAssignment(::google::protobuf::internal::ConstantInitialized);
561
564 : PartialVariableAssignment(nullptr, ::std::move(from)) {}
566 CopyFrom(from);
567 return *this;
569 inline PartialVariableAssignment& operator=(PartialVariableAssignment&& from) noexcept {
570 if (this == &from) return *this;
571 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
572 InternalSwap(&from);
573 } else {
574 CopyFrom(from);
575 }
576 return *this;
577 }
578
579 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
580 ABSL_ATTRIBUTE_LIFETIME_BOUND {
581 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
583 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
584 ABSL_ATTRIBUTE_LIFETIME_BOUND {
585 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
587
588 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
589 return GetDescriptor();
590 }
591 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
592 return default_instance().GetMetadata().descriptor;
593 }
594 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
595 return default_instance().GetMetadata().reflection;
596 }
601 static constexpr int kIndexInFileMessages = 23;
602 friend void swap(PartialVariableAssignment& a, PartialVariableAssignment& b) { a.Swap(&b); }
603 inline void Swap(PartialVariableAssignment* PROTOBUF_NONNULL other) {
604 if (other == this) return;
605 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
606 InternalSwap(other);
607 } else {
608 ::google::protobuf::internal::GenericSwap(this, other);
609 }
610 }
611 void UnsafeArenaSwap(PartialVariableAssignment* PROTOBUF_NONNULL other) {
612 if (other == this) return;
613 ABSL_DCHECK(GetArena() == other->GetArena());
614 InternalSwap(other);
615 }
616
617 // implements Message ----------------------------------------------
618
619 PartialVariableAssignment* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
620 return ::google::protobuf::Message::DefaultConstruct<PartialVariableAssignment>(arena);
621 }
622 using ::google::protobuf::Message::CopyFrom;
623 void CopyFrom(const PartialVariableAssignment& from);
624 using ::google::protobuf::Message::MergeFrom;
625 void MergeFrom(const PartialVariableAssignment& from) { PartialVariableAssignment::MergeImpl(*this, from); }
626
627 private:
628 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
629 const ::google::protobuf::MessageLite& from_msg);
630
631 public:
632 bool IsInitialized() const {
633 return true;
634 }
635 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
636 #if defined(PROTOBUF_CUSTOM_VTABLE)
637 private:
638 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
639 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
640 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
641 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
642
643 public:
644 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
645 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
646 ::uint8_t* PROTOBUF_NONNULL target,
647 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
648 return _InternalSerialize(*this, target, stream);
649 }
650 #else // PROTOBUF_CUSTOM_VTABLE
651 ::size_t ByteSizeLong() const final;
652 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
653 ::uint8_t* PROTOBUF_NONNULL target,
654 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
655 #endif // PROTOBUF_CUSTOM_VTABLE
656 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
657
658 private:
659 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
660 static void SharedDtor(MessageLite& self);
661 void InternalSwap(PartialVariableAssignment* PROTOBUF_NONNULL other);
662 private:
663 template <typename T>
664 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
665 static ::absl::string_view FullMessageName() { return "operations_research.sat.PartialVariableAssignment"; }
666
667 protected:
668 explicit PartialVariableAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
669 PartialVariableAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PartialVariableAssignment& from);
671 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PartialVariableAssignment&& from) noexcept
673 *this = ::std::move(from);
674 }
675 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
676 static void* PROTOBUF_NONNULL PlacementNew_(
677 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
678 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
679 static constexpr auto InternalNewImpl_();
680
681 public:
682 static constexpr auto InternalGenerateClassData_();
683
684 ::google::protobuf::Metadata GetMetadata() const;
685 // nested types ----------------------------------------------------
686
687 // accessors -------------------------------------------------------
688 enum : int {
689 kVarsFieldNumber = 1,
690 kValuesFieldNumber = 2,
691 };
692 // repeated int32 vars = 1;
693 int vars_size() const;
694 private:
695 int _internal_vars_size() const;
696
697 public:
698 void clear_vars() ;
699 ::int32_t vars(int index) const;
700 void set_vars(int index, ::int32_t value);
701 void add_vars(::int32_t value);
702 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
703 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
704
705 private:
706 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
707 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
708
709 public:
710 // repeated int64 values = 2;
711 int values_size() const;
712 private:
713 int _internal_values_size() const;
714
715 public:
716 void clear_values() ;
717 ::int64_t values(int index) const;
718 void set_values(int index, ::int64_t value);
719 void add_values(::int64_t value);
720 const ::google::protobuf::RepeatedField<::int64_t>& values() const;
721 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_values();
722
723 private:
724 const ::google::protobuf::RepeatedField<::int64_t>& _internal_values() const;
725 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_values();
726
727 public:
728 // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
729 private:
730 class _Internal;
731 friend class ::google::protobuf::internal::TcParser;
732 static const ::google::protobuf::internal::TcParseTable<1, 2,
733 0, 0,
734 2>
735 _table_;
736
737 friend class ::google::protobuf::MessageLite;
738 friend class ::google::protobuf::Arena;
739 template <typename T>
740 friend class ::google::protobuf::Arena::InternalHelper;
741 using InternalArenaConstructable_ = void;
742 using DestructorSkippable_ = void;
743 struct Impl_ {
744 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
745 inline explicit Impl_(
746 ::google::protobuf::internal::InternalVisibility visibility,
747 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
748 inline explicit Impl_(
749 ::google::protobuf::internal::InternalVisibility visibility,
750 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
751 const PartialVariableAssignment& from_msg);
752 ::google::protobuf::RepeatedField<::int32_t> vars_;
753 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
754 ::google::protobuf::RepeatedField<::int64_t> values_;
755 ::google::protobuf::internal::CachedSize _values_cached_byte_size_;
756 ::google::protobuf::internal::CachedSize _cached_size_;
757 PROTOBUF_TSAN_DECLARE_MEMBER
758 };
759 union { Impl_ _impl_; };
760 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
761};
763OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PartialVariableAssignment_class_data_;
764// -------------------------------------------------------------------
765
766class OR_PROTO_DLL NoOverlapConstraintProto final : public ::google::protobuf::Message
767/* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
768 public:
771
772#if defined(PROTOBUF_CUSTOM_VTABLE)
773 void operator delete(NoOverlapConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
774 SharedDtor(*msg);
775 ::google::protobuf::internal::SizedDelete(msg, sizeof(NoOverlapConstraintProto));
776 }
777#endif
778
779 template <typename = void>
780 explicit PROTOBUF_CONSTEXPR NoOverlapConstraintProto(::google::protobuf::internal::ConstantInitialized);
781
783 inline NoOverlapConstraintProto(NoOverlapConstraintProto&& from) noexcept
784 : NoOverlapConstraintProto(nullptr, ::std::move(from)) {}
785 inline NoOverlapConstraintProto& operator=(const NoOverlapConstraintProto& from) {
786 CopyFrom(from);
787 return *this;
788 }
790 if (this == &from) return *this;
791 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
792 InternalSwap(&from);
793 } else {
794 CopyFrom(from);
795 }
796 return *this;
797 }
798
799 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
800 ABSL_ATTRIBUTE_LIFETIME_BOUND {
801 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
802 }
803 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
804 ABSL_ATTRIBUTE_LIFETIME_BOUND {
805 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
806 }
808 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
809 return GetDescriptor();
810 }
811 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
812 return default_instance().GetMetadata().descriptor;
813 }
814 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
815 return default_instance().GetMetadata().reflection;
816 }
817 static const NoOverlapConstraintProto& default_instance() {
818 return *reinterpret_cast<const NoOverlapConstraintProto*>(
820 }
821 static constexpr int kIndexInFileMessages = 8;
823 inline void Swap(NoOverlapConstraintProto* PROTOBUF_NONNULL other) {
824 if (other == this) return;
825 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
826 InternalSwap(other);
827 } else {
828 ::google::protobuf::internal::GenericSwap(this, other);
829 }
830 }
831 void UnsafeArenaSwap(NoOverlapConstraintProto* PROTOBUF_NONNULL other) {
832 if (other == this) return;
833 ABSL_DCHECK(GetArena() == other->GetArena());
834 InternalSwap(other);
836
837 // implements Message ----------------------------------------------
838
839 NoOverlapConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
840 return ::google::protobuf::Message::DefaultConstruct<NoOverlapConstraintProto>(arena);
841 }
842 using ::google::protobuf::Message::CopyFrom;
844 using ::google::protobuf::Message::MergeFrom;
845 void MergeFrom(const NoOverlapConstraintProto& from) { NoOverlapConstraintProto::MergeImpl(*this, from); }
846
847 private:
848 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
849 const ::google::protobuf::MessageLite& from_msg);
850
851 public:
852 bool IsInitialized() const {
853 return true;
854 }
855 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
856 #if defined(PROTOBUF_CUSTOM_VTABLE)
857 private:
858 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
859 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
860 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
861 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
862
863 public:
864 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
865 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
866 ::uint8_t* PROTOBUF_NONNULL target,
867 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
868 return _InternalSerialize(*this, target, stream);
869 }
870 #else // PROTOBUF_CUSTOM_VTABLE
871 ::size_t ByteSizeLong() const final;
872 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
873 ::uint8_t* PROTOBUF_NONNULL target,
874 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
875 #endif // PROTOBUF_CUSTOM_VTABLE
876 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
877
878 private:
879 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
880 static void SharedDtor(MessageLite& self);
881 void InternalSwap(NoOverlapConstraintProto* PROTOBUF_NONNULL other);
882 private:
883 template <typename T>
884 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
885 static ::absl::string_view FullMessageName() { return "operations_research.sat.NoOverlapConstraintProto"; }
886
887 protected:
888 explicit NoOverlapConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
889 NoOverlapConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NoOverlapConstraintProto& from);
891 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NoOverlapConstraintProto&& from) noexcept
892 : NoOverlapConstraintProto(arena) {
893 *this = ::std::move(from);
895 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
896 static void* PROTOBUF_NONNULL PlacementNew_(
897 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
898 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
899 static constexpr auto InternalNewImpl_();
900
901 public:
902 static constexpr auto InternalGenerateClassData_();
903
904 ::google::protobuf::Metadata GetMetadata() const;
905 // nested types ----------------------------------------------------
906
907 // accessors -------------------------------------------------------
908 enum : int {
909 kIntervalsFieldNumber = 1,
910 };
911 // repeated int32 intervals = 1;
912 int intervals_size() const;
913 private:
914 int _internal_intervals_size() const;
915
916 public:
917 void clear_intervals() ;
918 ::int32_t intervals(int index) const;
919 void set_intervals(int index, ::int32_t value);
920 void add_intervals(::int32_t value);
921 const ::google::protobuf::RepeatedField<::int32_t>& intervals() const;
922 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_intervals();
923
924 private:
925 const ::google::protobuf::RepeatedField<::int32_t>& _internal_intervals() const;
926 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_intervals();
927
928 public:
929 // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
930 private:
931 class _Internal;
932 friend class ::google::protobuf::internal::TcParser;
933 static const ::google::protobuf::internal::TcParseTable<0, 1,
934 0, 0,
935 2>
936 _table_;
937
938 friend class ::google::protobuf::MessageLite;
939 friend class ::google::protobuf::Arena;
940 template <typename T>
941 friend class ::google::protobuf::Arena::InternalHelper;
942 using InternalArenaConstructable_ = void;
943 using DestructorSkippable_ = void;
944 struct Impl_ {
945 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
946 inline explicit Impl_(
947 ::google::protobuf::internal::InternalVisibility visibility,
948 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
949 inline explicit Impl_(
950 ::google::protobuf::internal::InternalVisibility visibility,
951 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
952 const NoOverlapConstraintProto& from_msg);
953 ::google::protobuf::RepeatedField<::int32_t> intervals_;
954 ::google::protobuf::internal::CachedSize _intervals_cached_byte_size_;
955 ::google::protobuf::internal::CachedSize _cached_size_;
956 PROTOBUF_TSAN_DECLARE_MEMBER
957 };
958 union { Impl_ _impl_; };
959 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
960};
961
962OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull NoOverlapConstraintProto_class_data_;
963// -------------------------------------------------------------------
964
965class OR_PROTO_DLL NoOverlap2DConstraintProto final : public ::google::protobuf::Message
966/* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
967 public:
969 ~NoOverlap2DConstraintProto() PROTOBUF_FINAL;
971#if defined(PROTOBUF_CUSTOM_VTABLE)
972 void operator delete(NoOverlap2DConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
973 SharedDtor(*msg);
974 ::google::protobuf::internal::SizedDelete(msg, sizeof(NoOverlap2DConstraintProto));
975 }
976#endif
977
978 template <typename = void>
979 explicit PROTOBUF_CONSTEXPR NoOverlap2DConstraintProto(::google::protobuf::internal::ConstantInitialized);
980
982 inline NoOverlap2DConstraintProto(NoOverlap2DConstraintProto&& from) noexcept
983 : NoOverlap2DConstraintProto(nullptr, ::std::move(from)) {}
985 CopyFrom(from);
986 return *this;
988 inline NoOverlap2DConstraintProto& operator=(NoOverlap2DConstraintProto&& from) noexcept {
989 if (this == &from) return *this;
990 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
991 InternalSwap(&from);
992 } else {
993 CopyFrom(from);
994 }
995 return *this;
996 }
997
998 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
999 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1000 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1001 }
1002 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1003 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1004 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1005 }
1006
1007 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1008 return GetDescriptor();
1009 }
1010 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1011 return default_instance().GetMetadata().descriptor;
1013 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1014 return default_instance().GetMetadata().reflection;
1016 static const NoOverlap2DConstraintProto& default_instance() {
1017 return *reinterpret_cast<const NoOverlap2DConstraintProto*>(
1019 }
1020 static constexpr int kIndexInFileMessages = 9;
1022 inline void Swap(NoOverlap2DConstraintProto* PROTOBUF_NONNULL other) {
1023 if (other == this) return;
1024 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1025 InternalSwap(other);
1026 } else {
1027 ::google::protobuf::internal::GenericSwap(this, other);
1028 }
1029 }
1030 void UnsafeArenaSwap(NoOverlap2DConstraintProto* PROTOBUF_NONNULL other) {
1031 if (other == this) return;
1032 ABSL_DCHECK(GetArena() == other->GetArena());
1033 InternalSwap(other);
1034 }
1036 // implements Message ----------------------------------------------
1037
1038 NoOverlap2DConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1039 return ::google::protobuf::Message::DefaultConstruct<NoOverlap2DConstraintProto>(arena);
1040 }
1041 using ::google::protobuf::Message::CopyFrom;
1042 void CopyFrom(const NoOverlap2DConstraintProto& from);
1043 using ::google::protobuf::Message::MergeFrom;
1044 void MergeFrom(const NoOverlap2DConstraintProto& from) { NoOverlap2DConstraintProto::MergeImpl(*this, from); }
1045
1046 private:
1047 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1048 const ::google::protobuf::MessageLite& from_msg);
1050 public:
1051 bool IsInitialized() const {
1052 return true;
1053 }
1054 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1055 #if defined(PROTOBUF_CUSTOM_VTABLE)
1056 private:
1057 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1058 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1059 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1060 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1061
1062 public:
1063 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1064 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1065 ::uint8_t* PROTOBUF_NONNULL target,
1066 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1067 return _InternalSerialize(*this, target, stream);
1068 }
1069 #else // PROTOBUF_CUSTOM_VTABLE
1070 ::size_t ByteSizeLong() const final;
1071 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1072 ::uint8_t* PROTOBUF_NONNULL target,
1073 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1074 #endif // PROTOBUF_CUSTOM_VTABLE
1075 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1076
1077 private:
1078 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1079 static void SharedDtor(MessageLite& self);
1080 void InternalSwap(NoOverlap2DConstraintProto* PROTOBUF_NONNULL other);
1081 private:
1082 template <typename T>
1083 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1084 static ::absl::string_view FullMessageName() { return "operations_research.sat.NoOverlap2DConstraintProto"; }
1085
1086 protected:
1087 explicit NoOverlap2DConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1088 NoOverlap2DConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NoOverlap2DConstraintProto& from);
1090 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NoOverlap2DConstraintProto&& from) noexcept
1092 *this = ::std::move(from);
1093 }
1094 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1095 static void* PROTOBUF_NONNULL PlacementNew_(
1096 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1097 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1098 static constexpr auto InternalNewImpl_();
1099
1100 public:
1101 static constexpr auto InternalGenerateClassData_();
1102
1103 ::google::protobuf::Metadata GetMetadata() const;
1104 // nested types ----------------------------------------------------
1105
1106 // accessors -------------------------------------------------------
1107 enum : int {
1110 };
1111 // repeated int32 x_intervals = 1;
1112 int x_intervals_size() const;
1113 private:
1114 int _internal_x_intervals_size() const;
1115
1116 public:
1117 void clear_x_intervals() ;
1118 ::int32_t x_intervals(int index) const;
1119 void set_x_intervals(int index, ::int32_t value);
1120 void add_x_intervals(::int32_t value);
1121 const ::google::protobuf::RepeatedField<::int32_t>& x_intervals() const;
1122 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_x_intervals();
1123
1124 private:
1125 const ::google::protobuf::RepeatedField<::int32_t>& _internal_x_intervals() const;
1126 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_x_intervals();
1127
1128 public:
1129 // repeated int32 y_intervals = 2;
1130 int y_intervals_size() const;
1131 private:
1132 int _internal_y_intervals_size() const;
1133
1134 public:
1135 void clear_y_intervals() ;
1136 ::int32_t y_intervals(int index) const;
1137 void set_y_intervals(int index, ::int32_t value);
1138 void add_y_intervals(::int32_t value);
1139 const ::google::protobuf::RepeatedField<::int32_t>& y_intervals() const;
1140 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_y_intervals();
1141
1142 private:
1143 const ::google::protobuf::RepeatedField<::int32_t>& _internal_y_intervals() const;
1144 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_y_intervals();
1145
1146 public:
1147 // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
1148 private:
1149 class _Internal;
1150 friend class ::google::protobuf::internal::TcParser;
1151 static const ::google::protobuf::internal::TcParseTable<1, 2,
1152 0, 0,
1153 2>
1154 _table_;
1156 friend class ::google::protobuf::MessageLite;
1157 friend class ::google::protobuf::Arena;
1158 template <typename T>
1159 friend class ::google::protobuf::Arena::InternalHelper;
1160 using InternalArenaConstructable_ = void;
1161 using DestructorSkippable_ = void;
1162 struct Impl_ {
1163 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1164 inline explicit Impl_(
1165 ::google::protobuf::internal::InternalVisibility visibility,
1166 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1167 inline explicit Impl_(
1168 ::google::protobuf::internal::InternalVisibility visibility,
1169 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1170 const NoOverlap2DConstraintProto& from_msg);
1171 ::google::protobuf::RepeatedField<::int32_t> x_intervals_;
1172 ::google::protobuf::internal::CachedSize _x_intervals_cached_byte_size_;
1173 ::google::protobuf::RepeatedField<::int32_t> y_intervals_;
1174 ::google::protobuf::internal::CachedSize _y_intervals_cached_byte_size_;
1175 ::google::protobuf::internal::CachedSize _cached_size_;
1176 PROTOBUF_TSAN_DECLARE_MEMBER
1177 };
1178 union { Impl_ _impl_; };
1179 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1180};
1181
1182OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull NoOverlap2DConstraintProto_class_data_;
1183// -------------------------------------------------------------------
1185class OR_PROTO_DLL ListOfVariablesProto final : public ::google::protobuf::Message
1186/* @@protoc_insertion_point(class_definition:operations_research.sat.ListOfVariablesProto) */ {
1187 public:
1188 inline ListOfVariablesProto() : ListOfVariablesProto(nullptr) {}
1189 ~ListOfVariablesProto() PROTOBUF_FINAL;
1190
1191#if defined(PROTOBUF_CUSTOM_VTABLE)
1192 void operator delete(ListOfVariablesProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1193 SharedDtor(*msg);
1194 ::google::protobuf::internal::SizedDelete(msg, sizeof(ListOfVariablesProto));
1195 }
1196#endif
1197
1198 template <typename = void>
1199 explicit PROTOBUF_CONSTEXPR ListOfVariablesProto(::google::protobuf::internal::ConstantInitialized);
1200
1201 inline ListOfVariablesProto(const ListOfVariablesProto& from) : ListOfVariablesProto(nullptr, from) {}
1202 inline ListOfVariablesProto(ListOfVariablesProto&& from) noexcept
1203 : ListOfVariablesProto(nullptr, ::std::move(from)) {}
1204 inline ListOfVariablesProto& operator=(const ListOfVariablesProto& from) {
1206 return *this;
1209 if (this == &from) return *this;
1210 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1211 InternalSwap(&from);
1212 } else {
1213 CopyFrom(from);
1215 return *this;
1216 }
1217
1218 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1219 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1220 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1221 }
1222 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1223 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1224 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1225 }
1226
1227 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1229 }
1230 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1231 return default_instance().GetMetadata().descriptor;
1232 }
1233 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1234 return default_instance().GetMetadata().reflection;
1235 }
1237 return *reinterpret_cast<const ListOfVariablesProto*>(
1240 static constexpr int kIndexInFileMessages = 18;
1241 friend void swap(ListOfVariablesProto& a, ListOfVariablesProto& b) { a.Swap(&b); }
1242 inline void Swap(ListOfVariablesProto* PROTOBUF_NONNULL other) {
1243 if (other == this) return;
1244 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1245 InternalSwap(other);
1246 } else {
1247 ::google::protobuf::internal::GenericSwap(this, other);
1249 }
1250 void UnsafeArenaSwap(ListOfVariablesProto* PROTOBUF_NONNULL other) {
1251 if (other == this) return;
1252 ABSL_DCHECK(GetArena() == other->GetArena());
1253 InternalSwap(other);
1254 }
1255
1256 // implements Message ----------------------------------------------
1257
1258 ListOfVariablesProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1259 return ::google::protobuf::Message::DefaultConstruct<ListOfVariablesProto>(arena);
1260 }
1261 using ::google::protobuf::Message::CopyFrom;
1262 void CopyFrom(const ListOfVariablesProto& from);
1263 using ::google::protobuf::Message::MergeFrom;
1264 void MergeFrom(const ListOfVariablesProto& from) { ListOfVariablesProto::MergeImpl(*this, from); }
1265
1266 private:
1267 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1268 const ::google::protobuf::MessageLite& from_msg);
1269
1270 public:
1271 bool IsInitialized() const {
1272 return true;
1273 }
1274 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1275 #if defined(PROTOBUF_CUSTOM_VTABLE)
1276 private:
1277 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1278 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1279 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1280 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1281
1282 public:
1283 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1284 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1285 ::uint8_t* PROTOBUF_NONNULL target,
1286 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1287 return _InternalSerialize(*this, target, stream);
1288 }
1289 #else // PROTOBUF_CUSTOM_VTABLE
1290 ::size_t ByteSizeLong() const final;
1291 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1292 ::uint8_t* PROTOBUF_NONNULL target,
1293 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1294 #endif // PROTOBUF_CUSTOM_VTABLE
1295 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1296
1297 private:
1298 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1299 static void SharedDtor(MessageLite& self);
1300 void InternalSwap(ListOfVariablesProto* PROTOBUF_NONNULL other);
1301 private:
1302 template <typename T>
1303 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1304 static ::absl::string_view FullMessageName() { return "operations_research.sat.ListOfVariablesProto"; }
1305
1306 protected:
1307 explicit ListOfVariablesProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1308 ListOfVariablesProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListOfVariablesProto& from);
1310 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListOfVariablesProto&& from) noexcept
1311 : ListOfVariablesProto(arena) {
1312 *this = ::std::move(from);
1313 }
1314 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1315 static void* PROTOBUF_NONNULL PlacementNew_(
1316 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1317 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1318 static constexpr auto InternalNewImpl_();
1319
1320 public:
1321 static constexpr auto InternalGenerateClassData_();
1322
1323 ::google::protobuf::Metadata GetMetadata() const;
1324 // nested types ----------------------------------------------------
1325
1326 // accessors -------------------------------------------------------
1327 enum : int {
1328 kVarsFieldNumber = 1,
1329 };
1330 // repeated int32 vars = 1;
1331 int vars_size() const;
1332 private:
1333 int _internal_vars_size() const;
1335 public:
1336 void clear_vars() ;
1337 ::int32_t vars(int index) const;
1338 void set_vars(int index, ::int32_t value);
1339 void add_vars(::int32_t value);
1340 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
1341 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
1342
1343 private:
1344 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
1345 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
1346
1347 public:
1348 // @@protoc_insertion_point(class_scope:operations_research.sat.ListOfVariablesProto)
1349 private:
1350 class _Internal;
1351 friend class ::google::protobuf::internal::TcParser;
1352 static const ::google::protobuf::internal::TcParseTable<0, 1,
1353 0, 0,
1354 2>
1355 _table_;
1356
1357 friend class ::google::protobuf::MessageLite;
1358 friend class ::google::protobuf::Arena;
1359 template <typename T>
1360 friend class ::google::protobuf::Arena::InternalHelper;
1361 using InternalArenaConstructable_ = void;
1362 using DestructorSkippable_ = void;
1363 struct Impl_ {
1364 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1365 inline explicit Impl_(
1366 ::google::protobuf::internal::InternalVisibility visibility,
1367 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1368 inline explicit Impl_(
1369 ::google::protobuf::internal::InternalVisibility visibility,
1370 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1371 const ListOfVariablesProto& from_msg);
1372 ::google::protobuf::RepeatedField<::int32_t> vars_;
1373 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
1374 ::google::protobuf::internal::CachedSize _cached_size_;
1375 PROTOBUF_TSAN_DECLARE_MEMBER
1376 };
1377 union { Impl_ _impl_; };
1378 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1379};
1380
1381OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ListOfVariablesProto_class_data_;
1382// -------------------------------------------------------------------
1384class OR_PROTO_DLL LinearExpressionProto final : public ::google::protobuf::Message
1385/* @@protoc_insertion_point(class_definition:operations_research.sat.LinearExpressionProto) */ {
1386 public:
1387 inline LinearExpressionProto() : LinearExpressionProto(nullptr) {}
1388 ~LinearExpressionProto() PROTOBUF_FINAL;
1389
1390#if defined(PROTOBUF_CUSTOM_VTABLE)
1391 void operator delete(LinearExpressionProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1392 SharedDtor(*msg);
1393 ::google::protobuf::internal::SizedDelete(msg, sizeof(LinearExpressionProto));
1395#endif
1396
1397 template <typename = void>
1398 explicit PROTOBUF_CONSTEXPR LinearExpressionProto(::google::protobuf::internal::ConstantInitialized);
1399
1400 inline LinearExpressionProto(const LinearExpressionProto& from) : LinearExpressionProto(nullptr, from) {}
1401 inline LinearExpressionProto(LinearExpressionProto&& from) noexcept
1402 : LinearExpressionProto(nullptr, ::std::move(from)) {}
1403 inline LinearExpressionProto& operator=(const LinearExpressionProto& from) {
1404 CopyFrom(from);
1405 return *this;
1406 }
1408 if (this == &from) return *this;
1409 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1410 InternalSwap(&from);
1411 } else {
1412 CopyFrom(from);
1413 }
1414 return *this;
1415 }
1416
1417 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1418 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1419 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1420 }
1421 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1422 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1423 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1425
1426 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1427 return GetDescriptor();
1429 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1430 return default_instance().GetMetadata().descriptor;
1431 }
1432 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1433 return default_instance().GetMetadata().reflection;
1434 }
1435 static const LinearExpressionProto& default_instance() {
1436 return *reinterpret_cast<const LinearExpressionProto*>(
1438 }
1439 static constexpr int kIndexInFileMessages = 2;
1440 friend void swap(LinearExpressionProto& a, LinearExpressionProto& b) { a.Swap(&b); }
1441 inline void Swap(LinearExpressionProto* PROTOBUF_NONNULL other) {
1442 if (other == this) return;
1443 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1444 InternalSwap(other);
1445 } else {
1446 ::google::protobuf::internal::GenericSwap(this, other);
1449 void UnsafeArenaSwap(LinearExpressionProto* PROTOBUF_NONNULL other) {
1450 if (other == this) return;
1451 ABSL_DCHECK(GetArena() == other->GetArena());
1452 InternalSwap(other);
1453 }
1454
1455 // implements Message ----------------------------------------------
1457 LinearExpressionProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1458 return ::google::protobuf::Message::DefaultConstruct<LinearExpressionProto>(arena);
1459 }
1460 using ::google::protobuf::Message::CopyFrom;
1461 void CopyFrom(const LinearExpressionProto& from);
1462 using ::google::protobuf::Message::MergeFrom;
1463 void MergeFrom(const LinearExpressionProto& from) { LinearExpressionProto::MergeImpl(*this, from); }
1465 private:
1466 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1467 const ::google::protobuf::MessageLite& from_msg);
1468
1469 public:
1470 bool IsInitialized() const {
1471 return true;
1472 }
1473 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1474 #if defined(PROTOBUF_CUSTOM_VTABLE)
1475 private:
1476 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1477 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1478 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1479 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1480
1481 public:
1482 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1483 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1484 ::uint8_t* PROTOBUF_NONNULL target,
1485 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1486 return _InternalSerialize(*this, target, stream);
1487 }
1488 #else // PROTOBUF_CUSTOM_VTABLE
1489 ::size_t ByteSizeLong() const final;
1490 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1491 ::uint8_t* PROTOBUF_NONNULL target,
1492 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1493 #endif // PROTOBUF_CUSTOM_VTABLE
1494 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1495
1496 private:
1497 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1498 static void SharedDtor(MessageLite& self);
1499 void InternalSwap(LinearExpressionProto* PROTOBUF_NONNULL other);
1500 private:
1501 template <typename T>
1502 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1503 static ::absl::string_view FullMessageName() { return "operations_research.sat.LinearExpressionProto"; }
1504
1505 protected:
1506 explicit LinearExpressionProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1507 LinearExpressionProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LinearExpressionProto& from);
1509 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LinearExpressionProto&& from) noexcept
1510 : LinearExpressionProto(arena) {
1511 *this = ::std::move(from);
1512 }
1513 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1514 static void* PROTOBUF_NONNULL PlacementNew_(
1515 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1516 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1517 static constexpr auto InternalNewImpl_();
1518
1519 public:
1520 static constexpr auto InternalGenerateClassData_();
1521
1522 ::google::protobuf::Metadata GetMetadata() const;
1523 // nested types ----------------------------------------------------
1524
1525 // accessors -------------------------------------------------------
1526 enum : int {
1527 kVarsFieldNumber = 1,
1530 };
1531 // repeated int32 vars = 1;
1532 int vars_size() const;
1533 private:
1534 int _internal_vars_size() const;
1536 public:
1537 void clear_vars() ;
1538 ::int32_t vars(int index) const;
1539 void set_vars(int index, ::int32_t value);
1540 void add_vars(::int32_t value);
1541 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
1542 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
1543
1544 private:
1545 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
1546 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
1547
1548 public:
1549 // repeated int64 coeffs = 2;
1550 int coeffs_size() const;
1551 private:
1552 int _internal_coeffs_size() const;
1553
1554 public:
1555 void clear_coeffs() ;
1556 ::int64_t coeffs(int index) const;
1557 void set_coeffs(int index, ::int64_t value);
1558 void add_coeffs(::int64_t value);
1559 const ::google::protobuf::RepeatedField<::int64_t>& coeffs() const;
1560 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_coeffs();
1561
1562 private:
1563 const ::google::protobuf::RepeatedField<::int64_t>& _internal_coeffs() const;
1564 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_coeffs();
1565
1566 public:
1567 // int64 offset = 3;
1568 void clear_offset() ;
1569 ::int64_t offset() const;
1570 void set_offset(::int64_t value);
1571
1572 private:
1573 ::int64_t _internal_offset() const;
1574 void _internal_set_offset(::int64_t value);
1575
1576 public:
1577 // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
1578 private:
1579 class _Internal;
1580 friend class ::google::protobuf::internal::TcParser;
1581 static const ::google::protobuf::internal::TcParseTable<2, 3,
1582 0, 0,
1583 2>
1584 _table_;
1585
1586 friend class ::google::protobuf::MessageLite;
1587 friend class ::google::protobuf::Arena;
1588 template <typename T>
1589 friend class ::google::protobuf::Arena::InternalHelper;
1590 using InternalArenaConstructable_ = void;
1591 using DestructorSkippable_ = void;
1592 struct Impl_ {
1593 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1594 inline explicit Impl_(
1595 ::google::protobuf::internal::InternalVisibility visibility,
1596 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1597 inline explicit Impl_(
1598 ::google::protobuf::internal::InternalVisibility visibility,
1599 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1600 const LinearExpressionProto& from_msg);
1601 ::google::protobuf::internal::HasBits<1> _has_bits_;
1602 ::google::protobuf::internal::CachedSize _cached_size_;
1603 ::google::protobuf::RepeatedField<::int32_t> vars_;
1604 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
1605 ::google::protobuf::RepeatedField<::int64_t> coeffs_;
1606 ::google::protobuf::internal::CachedSize _coeffs_cached_byte_size_;
1607 ::int64_t offset_;
1608 PROTOBUF_TSAN_DECLARE_MEMBER
1609 };
1610 union { Impl_ _impl_; };
1611 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1612};
1613
1614OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearExpressionProto_class_data_;
1615// -------------------------------------------------------------------
1616
1617class OR_PROTO_DLL LinearConstraintProto final : public ::google::protobuf::Message
1618/* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1619 public:
1620 inline LinearConstraintProto() : LinearConstraintProto(nullptr) {}
1621 ~LinearConstraintProto() PROTOBUF_FINAL;
1622
1623#if defined(PROTOBUF_CUSTOM_VTABLE)
1624 void operator delete(LinearConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1625 SharedDtor(*msg);
1626 ::google::protobuf::internal::SizedDelete(msg, sizeof(LinearConstraintProto));
1627 }
1628#endif
1629
1630 template <typename = void>
1631 explicit PROTOBUF_CONSTEXPR LinearConstraintProto(::google::protobuf::internal::ConstantInitialized);
1632
1633 inline LinearConstraintProto(const LinearConstraintProto& from) : LinearConstraintProto(nullptr, from) {}
1634 inline LinearConstraintProto(LinearConstraintProto&& from) noexcept
1635 : LinearConstraintProto(nullptr, ::std::move(from)) {}
1636 inline LinearConstraintProto& operator=(const LinearConstraintProto& from) {
1637 CopyFrom(from);
1638 return *this;
1640 inline LinearConstraintProto& operator=(LinearConstraintProto&& from) noexcept {
1641 if (this == &from) return *this;
1642 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1643 InternalSwap(&from);
1644 } else {
1645 CopyFrom(from);
1646 }
1647 return *this;
1649
1650 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1651 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1652 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1653 }
1654 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1655 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1656 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1657 }
1659 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1660 return GetDescriptor();
1661 }
1662 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1663 return default_instance().GetMetadata().descriptor;
1664 }
1665 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1666 return default_instance().GetMetadata().reflection;
1668 static const LinearConstraintProto& default_instance() {
1669 return *reinterpret_cast<const LinearConstraintProto*>(
1671 }
1672 static constexpr int kIndexInFileMessages = 5;
1674 inline void Swap(LinearConstraintProto* PROTOBUF_NONNULL other) {
1675 if (other == this) return;
1676 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1677 InternalSwap(other);
1678 } else {
1679 ::google::protobuf::internal::GenericSwap(this, other);
1682 void UnsafeArenaSwap(LinearConstraintProto* PROTOBUF_NONNULL other) {
1683 if (other == this) return;
1684 ABSL_DCHECK(GetArena() == other->GetArena());
1685 InternalSwap(other);
1686 }
1687
1688 // implements Message ----------------------------------------------
1689
1690 LinearConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1691 return ::google::protobuf::Message::DefaultConstruct<LinearConstraintProto>(arena);
1692 }
1693 using ::google::protobuf::Message::CopyFrom;
1694 void CopyFrom(const LinearConstraintProto& from);
1695 using ::google::protobuf::Message::MergeFrom;
1696 void MergeFrom(const LinearConstraintProto& from) { LinearConstraintProto::MergeImpl(*this, from); }
1697
1698 private:
1699 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1700 const ::google::protobuf::MessageLite& from_msg);
1701
1702 public:
1703 bool IsInitialized() const {
1704 return true;
1705 }
1706 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1707 #if defined(PROTOBUF_CUSTOM_VTABLE)
1708 private:
1709 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1710 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1711 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1712 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1713
1714 public:
1715 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1716 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1717 ::uint8_t* PROTOBUF_NONNULL target,
1718 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1719 return _InternalSerialize(*this, target, stream);
1720 }
1721 #else // PROTOBUF_CUSTOM_VTABLE
1722 ::size_t ByteSizeLong() const final;
1723 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1724 ::uint8_t* PROTOBUF_NONNULL target,
1725 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1726 #endif // PROTOBUF_CUSTOM_VTABLE
1727 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1728
1729 private:
1730 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1731 static void SharedDtor(MessageLite& self);
1732 void InternalSwap(LinearConstraintProto* PROTOBUF_NONNULL other);
1733 private:
1734 template <typename T>
1736 static ::absl::string_view FullMessageName() { return "operations_research.sat.LinearConstraintProto"; }
1737
1738 protected:
1739 explicit LinearConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1740 LinearConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LinearConstraintProto& from);
1742 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LinearConstraintProto&& from) noexcept
1743 : LinearConstraintProto(arena) {
1744 *this = ::std::move(from);
1745 }
1746 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1747 static void* PROTOBUF_NONNULL PlacementNew_(
1748 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1749 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1750 static constexpr auto InternalNewImpl_();
1751
1752 public:
1753 static constexpr auto InternalGenerateClassData_();
1754
1755 ::google::protobuf::Metadata GetMetadata() const;
1756 // nested types ----------------------------------------------------
1757
1758 // accessors -------------------------------------------------------
1759 enum : int {
1760 kVarsFieldNumber = 1,
1763 };
1764 // repeated int32 vars = 1;
1765 int vars_size() const;
1766 private:
1767 int _internal_vars_size() const;
1769 public:
1770 void clear_vars() ;
1771 ::int32_t vars(int index) const;
1772 void set_vars(int index, ::int32_t value);
1773 void add_vars(::int32_t value);
1774 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
1775 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
1776
1777 private:
1778 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
1779 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
1780
1781 public:
1782 // repeated int64 coeffs = 2;
1783 int coeffs_size() const;
1784 private:
1785 int _internal_coeffs_size() const;
1786
1787 public:
1788 void clear_coeffs() ;
1789 ::int64_t coeffs(int index) const;
1790 void set_coeffs(int index, ::int64_t value);
1791 void add_coeffs(::int64_t value);
1792 const ::google::protobuf::RepeatedField<::int64_t>& coeffs() const;
1793 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_coeffs();
1794
1795 private:
1796 const ::google::protobuf::RepeatedField<::int64_t>& _internal_coeffs() const;
1797 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_coeffs();
1798
1799 public:
1800 // repeated int64 domain = 3;
1801 int domain_size() const;
1802 private:
1803 int _internal_domain_size() const;
1804
1805 public:
1806 void clear_domain() ;
1807 ::int64_t domain(int index) const;
1808 void set_domain(int index, ::int64_t value);
1809 void add_domain(::int64_t value);
1810 const ::google::protobuf::RepeatedField<::int64_t>& domain() const;
1811 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_domain();
1812
1813 private:
1814 const ::google::protobuf::RepeatedField<::int64_t>& _internal_domain() const;
1815 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_domain();
1816
1817 public:
1818 // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1819 private:
1820 class _Internal;
1821 friend class ::google::protobuf::internal::TcParser;
1822 static const ::google::protobuf::internal::TcParseTable<2, 3,
1823 0, 0,
1824 2>
1825 _table_;
1826
1827 friend class ::google::protobuf::MessageLite;
1828 friend class ::google::protobuf::Arena;
1829 template <typename T>
1830 friend class ::google::protobuf::Arena::InternalHelper;
1831 using InternalArenaConstructable_ = void;
1832 using DestructorSkippable_ = void;
1833 struct Impl_ {
1834 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1835 inline explicit Impl_(
1836 ::google::protobuf::internal::InternalVisibility visibility,
1837 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1838 inline explicit Impl_(
1839 ::google::protobuf::internal::InternalVisibility visibility,
1840 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1841 const LinearConstraintProto& from_msg);
1842 ::google::protobuf::RepeatedField<::int32_t> vars_;
1843 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
1844 ::google::protobuf::RepeatedField<::int64_t> coeffs_;
1845 ::google::protobuf::internal::CachedSize _coeffs_cached_byte_size_;
1846 ::google::protobuf::RepeatedField<::int64_t> domain_;
1847 ::google::protobuf::internal::CachedSize _domain_cached_byte_size_;
1848 ::google::protobuf::internal::CachedSize _cached_size_;
1849 PROTOBUF_TSAN_DECLARE_MEMBER
1850 };
1851 union { Impl_ _impl_; };
1852 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1853};
1854
1855OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearConstraintProto_class_data_;
1856// -------------------------------------------------------------------
1857
1858class OR_PROTO_DLL InverseConstraintProto final : public ::google::protobuf::Message
1859/* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
1860 public:
1861 inline InverseConstraintProto() : InverseConstraintProto(nullptr) {}
1862 ~InverseConstraintProto() PROTOBUF_FINAL;
1863
1864#if defined(PROTOBUF_CUSTOM_VTABLE)
1865 void operator delete(InverseConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1866 SharedDtor(*msg);
1867 ::google::protobuf::internal::SizedDelete(msg, sizeof(InverseConstraintProto));
1868 }
1869#endif
1871 template <typename = void>
1872 explicit PROTOBUF_CONSTEXPR InverseConstraintProto(::google::protobuf::internal::ConstantInitialized);
1873
1874 inline InverseConstraintProto(const InverseConstraintProto& from) : InverseConstraintProto(nullptr, from) {}
1875 inline InverseConstraintProto(InverseConstraintProto&& from) noexcept
1876 : InverseConstraintProto(nullptr, ::std::move(from)) {}
1877 inline InverseConstraintProto& operator=(const InverseConstraintProto& from) {
1878 CopyFrom(from);
1879 return *this;
1880 }
1882 if (this == &from) return *this;
1883 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1884 InternalSwap(&from);
1885 } else {
1887 }
1888 return *this;
1889 }
1891 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1892 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1893 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1894 }
1895 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1896 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1897 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1898 }
1899
1900 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1901 return GetDescriptor();
1902 }
1903 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1904 return default_instance().GetMetadata().descriptor;
1905 }
1906 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1907 return default_instance().GetMetadata().reflection;
1908 }
1913 static constexpr int kIndexInFileMessages = 16;
1914 friend void swap(InverseConstraintProto& a, InverseConstraintProto& b) { a.Swap(&b); }
1915 inline void Swap(InverseConstraintProto* PROTOBUF_NONNULL other) {
1916 if (other == this) return;
1917 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1918 InternalSwap(other);
1919 } else {
1920 ::google::protobuf::internal::GenericSwap(this, other);
1921 }
1923 void UnsafeArenaSwap(InverseConstraintProto* PROTOBUF_NONNULL other) {
1924 if (other == this) return;
1925 ABSL_DCHECK(GetArena() == other->GetArena());
1926 InternalSwap(other);
1927 }
1928
1929 // implements Message ----------------------------------------------
1930
1931 InverseConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1932 return ::google::protobuf::Message::DefaultConstruct<InverseConstraintProto>(arena);
1933 }
1934 using ::google::protobuf::Message::CopyFrom;
1935 void CopyFrom(const InverseConstraintProto& from);
1936 using ::google::protobuf::Message::MergeFrom;
1937 void MergeFrom(const InverseConstraintProto& from) { InverseConstraintProto::MergeImpl(*this, from); }
1938
1939 private:
1940 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1941 const ::google::protobuf::MessageLite& from_msg);
1942
1943 public:
1944 bool IsInitialized() const {
1945 return true;
1947 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1948 #if defined(PROTOBUF_CUSTOM_VTABLE)
1949 private:
1950 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1951 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1952 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1953 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1954
1955 public:
1956 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1957 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1958 ::uint8_t* PROTOBUF_NONNULL target,
1959 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1960 return _InternalSerialize(*this, target, stream);
1961 }
1962 #else // PROTOBUF_CUSTOM_VTABLE
1963 ::size_t ByteSizeLong() const final;
1964 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1965 ::uint8_t* PROTOBUF_NONNULL target,
1966 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1967 #endif // PROTOBUF_CUSTOM_VTABLE
1968 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1969
1970 private:
1971 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1972 static void SharedDtor(MessageLite& self);
1973 void InternalSwap(InverseConstraintProto* PROTOBUF_NONNULL other);
1974 private:
1975 template <typename T>
1976 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1977 static ::absl::string_view FullMessageName() { return "operations_research.sat.InverseConstraintProto"; }
1978
1979 protected:
1980 explicit InverseConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1981 InverseConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const InverseConstraintProto& from);
1983 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, InverseConstraintProto&& from) noexcept
1984 : InverseConstraintProto(arena) {
1985 *this = ::std::move(from);
1986 }
1987 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1988 static void* PROTOBUF_NONNULL PlacementNew_(
1989 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1990 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1991 static constexpr auto InternalNewImpl_();
1992
1993 public:
1994 static constexpr auto InternalGenerateClassData_();
1995
1996 ::google::protobuf::Metadata GetMetadata() const;
1997 // nested types ----------------------------------------------------
1998
1999 // accessors -------------------------------------------------------
2000 enum : int {
2003 };
2004 // repeated int32 f_direct = 1;
2005 int f_direct_size() const;
2006 private:
2007 int _internal_f_direct_size() const;
2008
2009 public:
2011 ::int32_t f_direct(int index) const;
2012 void set_f_direct(int index, ::int32_t value);
2013 void add_f_direct(::int32_t value);
2014 const ::google::protobuf::RepeatedField<::int32_t>& f_direct() const;
2015 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_f_direct();
2016
2017 private:
2018 const ::google::protobuf::RepeatedField<::int32_t>& _internal_f_direct() const;
2019 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_f_direct();
2020
2021 public:
2022 // repeated int32 f_inverse = 2;
2023 int f_inverse_size() const;
2024 private:
2025 int _internal_f_inverse_size() const;
2026
2027 public:
2028 void clear_f_inverse() ;
2029 ::int32_t f_inverse(int index) const;
2030 void set_f_inverse(int index, ::int32_t value);
2031 void add_f_inverse(::int32_t value);
2032 const ::google::protobuf::RepeatedField<::int32_t>& f_inverse() const;
2033 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_f_inverse();
2034
2035 private:
2036 const ::google::protobuf::RepeatedField<::int32_t>& _internal_f_inverse() const;
2037 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_f_inverse();
2038
2039 public:
2040 // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
2041 private:
2042 class _Internal;
2043 friend class ::google::protobuf::internal::TcParser;
2044 static const ::google::protobuf::internal::TcParseTable<1, 2,
2045 0, 0,
2046 2>
2047 _table_;
2048
2049 friend class ::google::protobuf::MessageLite;
2050 friend class ::google::protobuf::Arena;
2051 template <typename T>
2052 friend class ::google::protobuf::Arena::InternalHelper;
2053 using InternalArenaConstructable_ = void;
2054 using DestructorSkippable_ = void;
2055 struct Impl_ {
2056 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2057 inline explicit Impl_(
2058 ::google::protobuf::internal::InternalVisibility visibility,
2059 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2060 inline explicit Impl_(
2061 ::google::protobuf::internal::InternalVisibility visibility,
2062 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2063 const InverseConstraintProto& from_msg);
2064 ::google::protobuf::RepeatedField<::int32_t> f_direct_;
2065 ::google::protobuf::internal::CachedSize _f_direct_cached_byte_size_;
2066 ::google::protobuf::RepeatedField<::int32_t> f_inverse_;
2067 ::google::protobuf::internal::CachedSize _f_inverse_cached_byte_size_;
2068 ::google::protobuf::internal::CachedSize _cached_size_;
2069 PROTOBUF_TSAN_DECLARE_MEMBER
2070 };
2071 union { Impl_ _impl_; };
2072 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2073};
2074
2075OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull InverseConstraintProto_class_data_;
2076// -------------------------------------------------------------------
2077
2078class OR_PROTO_DLL IntegerVariableProto final : public ::google::protobuf::Message
2079/* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
2080 public:
2082 ~IntegerVariableProto() PROTOBUF_FINAL;
2083
2084#if defined(PROTOBUF_CUSTOM_VTABLE)
2085 void operator delete(IntegerVariableProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
2086 SharedDtor(*msg);
2087 ::google::protobuf::internal::SizedDelete(msg, sizeof(IntegerVariableProto));
2089#endif
2090
2091 template <typename = void>
2092 explicit PROTOBUF_CONSTEXPR IntegerVariableProto(::google::protobuf::internal::ConstantInitialized);
2093
2094 inline IntegerVariableProto(const IntegerVariableProto& from) : IntegerVariableProto(nullptr, from) {}
2095 inline IntegerVariableProto(IntegerVariableProto&& from) noexcept
2096 : IntegerVariableProto(nullptr, ::std::move(from)) {}
2097 inline IntegerVariableProto& operator=(const IntegerVariableProto& from) {
2098 CopyFrom(from);
2099 return *this;
2100 }
2101 inline IntegerVariableProto& operator=(IntegerVariableProto&& from) noexcept {
2102 if (this == &from) return *this;
2103 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2104 InternalSwap(&from);
2105 } else {
2106 CopyFrom(from);
2108 return *this;
2109 }
2110
2111 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2112 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2113 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2114 }
2115 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2116 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2117 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2118 }
2119
2120 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2122 }
2123 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2124 return default_instance().GetMetadata().descriptor;
2126 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2127 return default_instance().GetMetadata().reflection;
2128 }
2129 static const IntegerVariableProto& default_instance() {
2130 return *reinterpret_cast<const IntegerVariableProto*>(
2132 }
2133 static constexpr int kIndexInFileMessages = 0;
2134 friend void swap(IntegerVariableProto& a, IntegerVariableProto& b) { a.Swap(&b); }
2135 inline void Swap(IntegerVariableProto* PROTOBUF_NONNULL other) {
2136 if (other == this) return;
2137 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2138 InternalSwap(other);
2139 } else {
2140 ::google::protobuf::internal::GenericSwap(this, other);
2141 }
2142 }
2143 void UnsafeArenaSwap(IntegerVariableProto* PROTOBUF_NONNULL other) {
2144 if (other == this) return;
2145 ABSL_DCHECK(GetArena() == other->GetArena());
2146 InternalSwap(other);
2147 }
2148
2149 // implements Message ----------------------------------------------
2150
2151 IntegerVariableProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2152 return ::google::protobuf::Message::DefaultConstruct<IntegerVariableProto>(arena);
2154 using ::google::protobuf::Message::CopyFrom;
2155 void CopyFrom(const IntegerVariableProto& from);
2156 using ::google::protobuf::Message::MergeFrom;
2157 void MergeFrom(const IntegerVariableProto& from) { IntegerVariableProto::MergeImpl(*this, from); }
2158
2159 private:
2160 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2161 const ::google::protobuf::MessageLite& from_msg);
2162
2163 public:
2164 bool IsInitialized() const {
2165 return true;
2166 }
2167 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2168 #if defined(PROTOBUF_CUSTOM_VTABLE)
2169 private:
2170 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2171 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2172 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2173 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2175 public:
2176 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2177 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2178 ::uint8_t* PROTOBUF_NONNULL target,
2179 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2180 return _InternalSerialize(*this, target, stream);
2181 }
2182 #else // PROTOBUF_CUSTOM_VTABLE
2183 ::size_t ByteSizeLong() const final;
2184 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2185 ::uint8_t* PROTOBUF_NONNULL target,
2186 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2187 #endif // PROTOBUF_CUSTOM_VTABLE
2188 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2189
2190 private:
2191 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2192 static void SharedDtor(MessageLite& self);
2193 void InternalSwap(IntegerVariableProto* PROTOBUF_NONNULL other);
2194 private:
2195 template <typename T>
2196 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2197 static ::absl::string_view FullMessageName() { return "operations_research.sat.IntegerVariableProto"; }
2199 protected:
2200 explicit IntegerVariableProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2201 IntegerVariableProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IntegerVariableProto& from);
2203 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, IntegerVariableProto&& from) noexcept
2204 : IntegerVariableProto(arena) {
2205 *this = ::std::move(from);
2206 }
2207 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2208 static void* PROTOBUF_NONNULL PlacementNew_(
2209 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2210 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2211 static constexpr auto InternalNewImpl_();
2213 public:
2214 static constexpr auto InternalGenerateClassData_();
2215
2216 ::google::protobuf::Metadata GetMetadata() const;
2217 // nested types ----------------------------------------------------
2218
2219 // accessors -------------------------------------------------------
2220 enum : int {
2222 kNameFieldNumber = 1,
2223 };
2224 // repeated int64 domain = 2;
2225 int domain_size() const;
2226 private:
2227 int _internal_domain_size() const;
2228
2229 public:
2230 void clear_domain() ;
2231 ::int64_t domain(int index) const;
2232 void set_domain(int index, ::int64_t value);
2233 void add_domain(::int64_t value);
2234 const ::google::protobuf::RepeatedField<::int64_t>& domain() const;
2235 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_domain();
2236
2237 private:
2238 const ::google::protobuf::RepeatedField<::int64_t>& _internal_domain() const;
2239 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_domain();
2240
2241 public:
2242 // string name = 1;
2243 void clear_name() ;
2244 const ::std::string& name() const;
2245 template <typename Arg_ = const ::std::string&, typename... Args_>
2246 void set_name(Arg_&& arg, Args_... args);
2247 ::std::string* PROTOBUF_NONNULL mutable_name();
2248 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
2249 void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
2250
2251 private:
2252 const ::std::string& _internal_name() const;
2253 PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
2254 ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
2255
2256 public:
2257 // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
2258 private:
2259 class _Internal;
2260 friend class ::google::protobuf::internal::TcParser;
2261 static const ::google::protobuf::internal::TcParseTable<1, 2,
2262 0, 57,
2263 2>
2264 _table_;
2265
2266 friend class ::google::protobuf::MessageLite;
2267 friend class ::google::protobuf::Arena;
2268 template <typename T>
2269 friend class ::google::protobuf::Arena::InternalHelper;
2270 using InternalArenaConstructable_ = void;
2271 using DestructorSkippable_ = void;
2272 struct Impl_ {
2273 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2274 inline explicit Impl_(
2275 ::google::protobuf::internal::InternalVisibility visibility,
2276 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2277 inline explicit Impl_(
2278 ::google::protobuf::internal::InternalVisibility visibility,
2279 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2280 const IntegerVariableProto& from_msg);
2281 ::google::protobuf::internal::HasBits<1> _has_bits_;
2282 ::google::protobuf::internal::CachedSize _cached_size_;
2283 ::google::protobuf::RepeatedField<::int64_t> domain_;
2284 ::google::protobuf::internal::CachedSize _domain_cached_byte_size_;
2285 ::google::protobuf::internal::ArenaStringPtr name_;
2286 PROTOBUF_TSAN_DECLARE_MEMBER
2287 };
2288 union { Impl_ _impl_; };
2289 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2290};
2291
2292OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull IntegerVariableProto_class_data_;
2293// -------------------------------------------------------------------
2294
2295class OR_PROTO_DLL FloatObjectiveProto final : public ::google::protobuf::Message
2296/* @@protoc_insertion_point(class_definition:operations_research.sat.FloatObjectiveProto) */ {
2297 public:
2299 ~FloatObjectiveProto() PROTOBUF_FINAL;
2300
2301#if defined(PROTOBUF_CUSTOM_VTABLE)
2302 void operator delete(FloatObjectiveProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
2303 SharedDtor(*msg);
2304 ::google::protobuf::internal::SizedDelete(msg, sizeof(FloatObjectiveProto));
2305 }
2306#endif
2307
2308 template <typename = void>
2309 explicit PROTOBUF_CONSTEXPR FloatObjectiveProto(::google::protobuf::internal::ConstantInitialized);
2310
2311 inline FloatObjectiveProto(const FloatObjectiveProto& from) : FloatObjectiveProto(nullptr, from) {}
2312 inline FloatObjectiveProto(FloatObjectiveProto&& from) noexcept
2313 : FloatObjectiveProto(nullptr, ::std::move(from)) {}
2314 inline FloatObjectiveProto& operator=(const FloatObjectiveProto& from) {
2315 CopyFrom(from);
2316 return *this;
2317 }
2318 inline FloatObjectiveProto& operator=(FloatObjectiveProto&& from) noexcept {
2319 if (this == &from) return *this;
2320 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2321 InternalSwap(&from);
2322 } else {
2324 }
2325 return *this;
2326 }
2327
2328 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2329 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2330 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2331 }
2332 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2333 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2334 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2335 }
2336
2337 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2338 return GetDescriptor();
2340 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2341 return default_instance().GetMetadata().descriptor;
2342 }
2343 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2344 return default_instance().GetMetadata().reflection;
2345 }
2346 static const FloatObjectiveProto& default_instance() {
2347 return *reinterpret_cast<const FloatObjectiveProto*>(
2349 }
2350 static constexpr int kIndexInFileMessages = 21;
2352 inline void Swap(FloatObjectiveProto* PROTOBUF_NONNULL other) {
2353 if (other == this) return;
2354 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2355 InternalSwap(other);
2356 } else {
2357 ::google::protobuf::internal::GenericSwap(this, other);
2358 }
2359 }
2360 void UnsafeArenaSwap(FloatObjectiveProto* PROTOBUF_NONNULL other) {
2361 if (other == this) return;
2362 ABSL_DCHECK(GetArena() == other->GetArena());
2363 InternalSwap(other);
2364 }
2365
2366 // implements Message ----------------------------------------------
2367
2368 FloatObjectiveProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2369 return ::google::protobuf::Message::DefaultConstruct<FloatObjectiveProto>(arena);
2370 }
2371 using ::google::protobuf::Message::CopyFrom;
2372 void CopyFrom(const FloatObjectiveProto& from);
2373 using ::google::protobuf::Message::MergeFrom;
2374 void MergeFrom(const FloatObjectiveProto& from) { FloatObjectiveProto::MergeImpl(*this, from); }
2375
2376 private:
2377 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2378 const ::google::protobuf::MessageLite& from_msg);
2380 public:
2381 bool IsInitialized() const {
2382 return true;
2383 }
2384 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2385 #if defined(PROTOBUF_CUSTOM_VTABLE)
2386 private:
2387 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2388 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2389 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2390 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2391
2392 public:
2393 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2394 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2395 ::uint8_t* PROTOBUF_NONNULL target,
2396 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2397 return _InternalSerialize(*this, target, stream);
2398 }
2399 #else // PROTOBUF_CUSTOM_VTABLE
2400 ::size_t ByteSizeLong() const final;
2401 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2402 ::uint8_t* PROTOBUF_NONNULL target,
2403 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2404 #endif // PROTOBUF_CUSTOM_VTABLE
2405 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2406
2407 private:
2408 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2409 static void SharedDtor(MessageLite& self);
2410 void InternalSwap(FloatObjectiveProto* PROTOBUF_NONNULL other);
2411 private:
2412 template <typename T>
2413 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2414 static ::absl::string_view FullMessageName() { return "operations_research.sat.FloatObjectiveProto"; }
2415
2416 protected:
2417 explicit FloatObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2418 FloatObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FloatObjectiveProto& from);
2420 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FloatObjectiveProto&& from) noexcept
2421 : FloatObjectiveProto(arena) {
2422 *this = ::std::move(from);
2423 }
2424 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2425 static void* PROTOBUF_NONNULL PlacementNew_(
2426 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2427 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2428 static constexpr auto InternalNewImpl_();
2429
2430 public:
2431 static constexpr auto InternalGenerateClassData_();
2432
2433 ::google::protobuf::Metadata GetMetadata() const;
2434 // nested types ----------------------------------------------------
2435
2436 // accessors -------------------------------------------------------
2437 enum : int {
2438 kVarsFieldNumber = 1,
2442 };
2443 // repeated int32 vars = 1;
2444 int vars_size() const;
2445 private:
2446 int _internal_vars_size() const;
2447
2448 public:
2449 void clear_vars() ;
2450 ::int32_t vars(int index) const;
2451 void set_vars(int index, ::int32_t value);
2452 void add_vars(::int32_t value);
2453 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
2454 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
2455
2456 private:
2457 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
2458 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
2459
2460 public:
2461 // repeated double coeffs = 2;
2462 int coeffs_size() const;
2463 private:
2464 int _internal_coeffs_size() const;
2465
2466 public:
2467 void clear_coeffs() ;
2468 double coeffs(int index) const;
2469 void set_coeffs(int index, double value);
2470 void add_coeffs(double value);
2471 const ::google::protobuf::RepeatedField<double>& coeffs() const;
2472 ::google::protobuf::RepeatedField<double>* PROTOBUF_NONNULL mutable_coeffs();
2473
2474 private:
2475 const ::google::protobuf::RepeatedField<double>& _internal_coeffs() const;
2476 ::google::protobuf::RepeatedField<double>* PROTOBUF_NONNULL _internal_mutable_coeffs();
2477
2478 public:
2479 // double offset = 3;
2480 void clear_offset() ;
2481 double offset() const;
2482 void set_offset(double value);
2483
2484 private:
2485 double _internal_offset() const;
2486 void _internal_set_offset(double value);
2487
2488 public:
2489 // bool maximize = 4;
2490 void clear_maximize() ;
2491 bool maximize() const;
2492 void set_maximize(bool value);
2493
2494 private:
2495 bool _internal_maximize() const;
2496 void _internal_set_maximize(bool value);
2497
2498 public:
2499 // @@protoc_insertion_point(class_scope:operations_research.sat.FloatObjectiveProto)
2500 private:
2501 class _Internal;
2502 friend class ::google::protobuf::internal::TcParser;
2503 static const ::google::protobuf::internal::TcParseTable<2, 4,
2504 0, 0,
2505 2>
2506 _table_;
2507
2508 friend class ::google::protobuf::MessageLite;
2509 friend class ::google::protobuf::Arena;
2510 template <typename T>
2511 friend class ::google::protobuf::Arena::InternalHelper;
2512 using InternalArenaConstructable_ = void;
2513 using DestructorSkippable_ = void;
2514 struct Impl_ {
2515 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2516 inline explicit Impl_(
2517 ::google::protobuf::internal::InternalVisibility visibility,
2518 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2519 inline explicit Impl_(
2520 ::google::protobuf::internal::InternalVisibility visibility,
2521 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2522 const FloatObjectiveProto& from_msg);
2523 ::google::protobuf::internal::HasBits<1> _has_bits_;
2524 ::google::protobuf::internal::CachedSize _cached_size_;
2525 ::google::protobuf::RepeatedField<::int32_t> vars_;
2526 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
2527 ::google::protobuf::RepeatedField<double> coeffs_;
2528 double offset_;
2529 bool maximize_;
2530 PROTOBUF_TSAN_DECLARE_MEMBER
2531 };
2532 union { Impl_ _impl_; };
2533 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2534};
2535
2536OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull FloatObjectiveProto_class_data_;
2537// -------------------------------------------------------------------
2538
2539class OR_PROTO_DLL DenseMatrixProto final : public ::google::protobuf::Message
2540/* @@protoc_insertion_point(class_definition:operations_research.sat.DenseMatrixProto) */ {
2541 public:
2542 inline DenseMatrixProto() : DenseMatrixProto(nullptr) {}
2543 ~DenseMatrixProto() PROTOBUF_FINAL;
2545#if defined(PROTOBUF_CUSTOM_VTABLE)
2546 void operator delete(DenseMatrixProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
2547 SharedDtor(*msg);
2548 ::google::protobuf::internal::SizedDelete(msg, sizeof(DenseMatrixProto));
2549 }
2550#endif
2552 template <typename = void>
2553 explicit PROTOBUF_CONSTEXPR DenseMatrixProto(::google::protobuf::internal::ConstantInitialized);
2555 inline DenseMatrixProto(const DenseMatrixProto& from) : DenseMatrixProto(nullptr, from) {}
2556 inline DenseMatrixProto(DenseMatrixProto&& from) noexcept
2557 : DenseMatrixProto(nullptr, ::std::move(from)) {}
2558 inline DenseMatrixProto& operator=(const DenseMatrixProto& from) {
2559 CopyFrom(from);
2560 return *this;
2561 }
2562 inline DenseMatrixProto& operator=(DenseMatrixProto&& from) noexcept {
2563 if (this == &from) return *this;
2564 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2565 InternalSwap(&from);
2566 } else {
2569 return *this;
2571
2572 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2573 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2574 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2575 }
2576 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2577 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2578 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2579 }
2580
2581 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2582 return GetDescriptor();
2583 }
2584 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2585 return default_instance().GetMetadata().descriptor;
2586 }
2587 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2588 return default_instance().GetMetadata().reflection;
2589 }
2590 static const DenseMatrixProto& default_instance() {
2591 return *reinterpret_cast<const DenseMatrixProto*>(
2594 static constexpr int kIndexInFileMessages = 25;
2595 friend void swap(DenseMatrixProto& a, DenseMatrixProto& b) { a.Swap(&b); }
2596 inline void Swap(DenseMatrixProto* PROTOBUF_NONNULL other) {
2597 if (other == this) return;
2598 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2599 InternalSwap(other);
2600 } else {
2601 ::google::protobuf::internal::GenericSwap(this, other);
2603 }
2604 void UnsafeArenaSwap(DenseMatrixProto* PROTOBUF_NONNULL other) {
2605 if (other == this) return;
2606 ABSL_DCHECK(GetArena() == other->GetArena());
2607 InternalSwap(other);
2609
2610 // implements Message ----------------------------------------------
2611
2612 DenseMatrixProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2613 return ::google::protobuf::Message::DefaultConstruct<DenseMatrixProto>(arena);
2614 }
2615 using ::google::protobuf::Message::CopyFrom;
2616 void CopyFrom(const DenseMatrixProto& from);
2617 using ::google::protobuf::Message::MergeFrom;
2618 void MergeFrom(const DenseMatrixProto& from) { DenseMatrixProto::MergeImpl(*this, from); }
2619
2620 private:
2621 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2622 const ::google::protobuf::MessageLite& from_msg);
2623
2624 public:
2625 bool IsInitialized() const {
2626 return true;
2627 }
2628 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2629 #if defined(PROTOBUF_CUSTOM_VTABLE)
2630 private:
2631 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2632 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2633 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2634 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2635
2636 public:
2637 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2638 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2639 ::uint8_t* PROTOBUF_NONNULL target,
2640 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2641 return _InternalSerialize(*this, target, stream);
2642 }
2643 #else // PROTOBUF_CUSTOM_VTABLE
2644 ::size_t ByteSizeLong() const final;
2645 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2646 ::uint8_t* PROTOBUF_NONNULL target,
2647 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2648 #endif // PROTOBUF_CUSTOM_VTABLE
2649 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2650
2651 private:
2652 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2653 static void SharedDtor(MessageLite& self);
2654 void InternalSwap(DenseMatrixProto* PROTOBUF_NONNULL other);
2655 private:
2656 template <typename T>
2657 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2658 static ::absl::string_view FullMessageName() { return "operations_research.sat.DenseMatrixProto"; }
2659
2660 protected:
2661 explicit DenseMatrixProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2662 DenseMatrixProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DenseMatrixProto& from);
2664 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DenseMatrixProto&& from) noexcept
2665 : DenseMatrixProto(arena) {
2666 *this = ::std::move(from);
2667 }
2668 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2669 static void* PROTOBUF_NONNULL PlacementNew_(
2670 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2671 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2672 static constexpr auto InternalNewImpl_();
2673
2674 public:
2675 static constexpr auto InternalGenerateClassData_();
2676
2677 ::google::protobuf::Metadata GetMetadata() const;
2678 // nested types ----------------------------------------------------
2679
2680 // accessors -------------------------------------------------------
2681 enum : int {
2685 };
2686 // repeated int32 entries = 3;
2687 int entries_size() const;
2688 private:
2689 int _internal_entries_size() const;
2690
2691 public:
2692 void clear_entries() ;
2693 ::int32_t entries(int index) const;
2694 void set_entries(int index, ::int32_t value);
2695 void add_entries(::int32_t value);
2696 const ::google::protobuf::RepeatedField<::int32_t>& entries() const;
2697 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_entries();
2698
2699 private:
2700 const ::google::protobuf::RepeatedField<::int32_t>& _internal_entries() const;
2701 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_entries();
2702
2703 public:
2704 // int32 num_rows = 1;
2705 void clear_num_rows() ;
2706 ::int32_t num_rows() const;
2707 void set_num_rows(::int32_t value);
2708
2709 private:
2710 ::int32_t _internal_num_rows() const;
2711 void _internal_set_num_rows(::int32_t value);
2712
2713 public:
2714 // int32 num_cols = 2;
2715 void clear_num_cols() ;
2716 ::int32_t num_cols() const;
2717 void set_num_cols(::int32_t value);
2718
2719 private:
2720 ::int32_t _internal_num_cols() const;
2721 void _internal_set_num_cols(::int32_t value);
2722
2723 public:
2724 // @@protoc_insertion_point(class_scope:operations_research.sat.DenseMatrixProto)
2725 private:
2726 class _Internal;
2727 friend class ::google::protobuf::internal::TcParser;
2728 static const ::google::protobuf::internal::TcParseTable<2, 3,
2729 0, 0,
2730 2>
2731 _table_;
2732
2733 friend class ::google::protobuf::MessageLite;
2734 friend class ::google::protobuf::Arena;
2735 template <typename T>
2736 friend class ::google::protobuf::Arena::InternalHelper;
2737 using InternalArenaConstructable_ = void;
2738 using DestructorSkippable_ = void;
2739 struct Impl_ {
2740 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2741 inline explicit Impl_(
2742 ::google::protobuf::internal::InternalVisibility visibility,
2743 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2744 inline explicit Impl_(
2745 ::google::protobuf::internal::InternalVisibility visibility,
2746 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2747 const DenseMatrixProto& from_msg);
2748 ::google::protobuf::internal::HasBits<1> _has_bits_;
2749 ::google::protobuf::internal::CachedSize _cached_size_;
2750 ::google::protobuf::RepeatedField<::int32_t> entries_;
2751 ::google::protobuf::internal::CachedSize _entries_cached_byte_size_;
2752 ::int32_t num_rows_;
2753 ::int32_t num_cols_;
2754 PROTOBUF_TSAN_DECLARE_MEMBER
2755 };
2756 union { Impl_ _impl_; };
2757 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2758};
2759
2760OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull DenseMatrixProto_class_data_;
2761// -------------------------------------------------------------------
2762
2763class OR_PROTO_DLL CpSolverSolution final : public ::google::protobuf::Message
2764/* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverSolution) */ {
2765 public:
2766 inline CpSolverSolution() : CpSolverSolution(nullptr) {}
2767 ~CpSolverSolution() PROTOBUF_FINAL;
2769#if defined(PROTOBUF_CUSTOM_VTABLE)
2770 void operator delete(CpSolverSolution* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
2771 SharedDtor(*msg);
2772 ::google::protobuf::internal::SizedDelete(msg, sizeof(CpSolverSolution));
2773 }
2774#endif
2775
2776 template <typename = void>
2777 explicit PROTOBUF_CONSTEXPR CpSolverSolution(::google::protobuf::internal::ConstantInitialized);
2778
2779 inline CpSolverSolution(const CpSolverSolution& from) : CpSolverSolution(nullptr, from) {}
2780 inline CpSolverSolution(CpSolverSolution&& from) noexcept
2781 : CpSolverSolution(nullptr, ::std::move(from)) {}
2782 inline CpSolverSolution& operator=(const CpSolverSolution& from) {
2783 CopyFrom(from);
2784 return *this;
2785 }
2786 inline CpSolverSolution& operator=(CpSolverSolution&& from) noexcept {
2787 if (this == &from) return *this;
2788 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2789 InternalSwap(&from);
2790 } else {
2791 CopyFrom(from);
2793 return *this;
2794 }
2796 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2797 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2798 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2800 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2801 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2802 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2803 }
2804
2805 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2806 return GetDescriptor();
2807 }
2808 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2809 return default_instance().GetMetadata().descriptor;
2810 }
2811 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2812 return default_instance().GetMetadata().reflection;
2814 static const CpSolverSolution& default_instance() {
2815 return *reinterpret_cast<const CpSolverSolution*>(
2817 }
2818 static constexpr int kIndexInFileMessages = 28;
2819 friend void swap(CpSolverSolution& a, CpSolverSolution& b) { a.Swap(&b); }
2820 inline void Swap(CpSolverSolution* PROTOBUF_NONNULL other) {
2821 if (other == this) return;
2822 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2823 InternalSwap(other);
2824 } else {
2825 ::google::protobuf::internal::GenericSwap(this, other);
2826 }
2828 void UnsafeArenaSwap(CpSolverSolution* PROTOBUF_NONNULL other) {
2829 if (other == this) return;
2830 ABSL_DCHECK(GetArena() == other->GetArena());
2831 InternalSwap(other);
2834 // implements Message ----------------------------------------------
2835
2836 CpSolverSolution* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2837 return ::google::protobuf::Message::DefaultConstruct<CpSolverSolution>(arena);
2838 }
2839 using ::google::protobuf::Message::CopyFrom;
2840 void CopyFrom(const CpSolverSolution& from);
2841 using ::google::protobuf::Message::MergeFrom;
2842 void MergeFrom(const CpSolverSolution& from) { CpSolverSolution::MergeImpl(*this, from); }
2843
2844 private:
2845 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2846 const ::google::protobuf::MessageLite& from_msg);
2847
2848 public:
2849 bool IsInitialized() const {
2850 return true;
2851 }
2852 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2853 #if defined(PROTOBUF_CUSTOM_VTABLE)
2854 private:
2855 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2856 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2857 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2858 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2859
2860 public:
2861 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2862 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2863 ::uint8_t* PROTOBUF_NONNULL target,
2864 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2865 return _InternalSerialize(*this, target, stream);
2866 }
2867 #else // PROTOBUF_CUSTOM_VTABLE
2868 ::size_t ByteSizeLong() const final;
2869 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2870 ::uint8_t* PROTOBUF_NONNULL target,
2871 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2872 #endif // PROTOBUF_CUSTOM_VTABLE
2873 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2874
2875 private:
2876 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2877 static void SharedDtor(MessageLite& self);
2878 void InternalSwap(CpSolverSolution* PROTOBUF_NONNULL other);
2879 private:
2880 template <typename T>
2881 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2882 static ::absl::string_view FullMessageName() { return "operations_research.sat.CpSolverSolution"; }
2883
2884 protected:
2885 explicit CpSolverSolution(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2886 CpSolverSolution(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CpSolverSolution& from);
2888 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CpSolverSolution&& from) noexcept
2889 : CpSolverSolution(arena) {
2890 *this = ::std::move(from);
2891 }
2892 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2893 static void* PROTOBUF_NONNULL PlacementNew_(
2894 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2895 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2896 static constexpr auto InternalNewImpl_();
2897
2898 public:
2899 static constexpr auto InternalGenerateClassData_();
2901 ::google::protobuf::Metadata GetMetadata() const;
2902 // nested types ----------------------------------------------------
2903
2904 // accessors -------------------------------------------------------
2905 enum : int {
2907 };
2908 // repeated int64 values = 1;
2909 int values_size() const;
2910 private:
2911 int _internal_values_size() const;
2912
2913 public:
2914 void clear_values() ;
2915 ::int64_t values(int index) const;
2916 void set_values(int index, ::int64_t value);
2917 void add_values(::int64_t value);
2918 const ::google::protobuf::RepeatedField<::int64_t>& values() const;
2919 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_values();
2920
2921 private:
2922 const ::google::protobuf::RepeatedField<::int64_t>& _internal_values() const;
2923 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_values();
2924
2925 public:
2926 // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverSolution)
2927 private:
2928 class _Internal;
2929 friend class ::google::protobuf::internal::TcParser;
2930 static const ::google::protobuf::internal::TcParseTable<0, 1,
2931 0, 0,
2932 2>
2933 _table_;
2934
2935 friend class ::google::protobuf::MessageLite;
2936 friend class ::google::protobuf::Arena;
2937 template <typename T>
2938 friend class ::google::protobuf::Arena::InternalHelper;
2939 using InternalArenaConstructable_ = void;
2940 using DestructorSkippable_ = void;
2941 struct Impl_ {
2942 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2943 inline explicit Impl_(
2944 ::google::protobuf::internal::InternalVisibility visibility,
2945 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2946 inline explicit Impl_(
2947 ::google::protobuf::internal::InternalVisibility visibility,
2948 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2949 const CpSolverSolution& from_msg);
2950 ::google::protobuf::RepeatedField<::int64_t> values_;
2951 ::google::protobuf::internal::CachedSize _values_cached_byte_size_;
2952 ::google::protobuf::internal::CachedSize _cached_size_;
2953 PROTOBUF_TSAN_DECLARE_MEMBER
2954 };
2955 union { Impl_ _impl_; };
2956 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2957};
2958
2959OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpSolverSolution_class_data_;
2960// -------------------------------------------------------------------
2961
2962class OR_PROTO_DLL CpObjectiveProto final : public ::google::protobuf::Message
2963/* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
2964 public:
2965 inline CpObjectiveProto() : CpObjectiveProto(nullptr) {}
2966 ~CpObjectiveProto() PROTOBUF_FINAL;
2967
2968#if defined(PROTOBUF_CUSTOM_VTABLE)
2969 void operator delete(CpObjectiveProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
2970 SharedDtor(*msg);
2971 ::google::protobuf::internal::SizedDelete(msg, sizeof(CpObjectiveProto));
2972 }
2973#endif
2974
2975 template <typename = void>
2976 explicit PROTOBUF_CONSTEXPR CpObjectiveProto(::google::protobuf::internal::ConstantInitialized);
2977
2978 inline CpObjectiveProto(const CpObjectiveProto& from) : CpObjectiveProto(nullptr, from) {}
2979 inline CpObjectiveProto(CpObjectiveProto&& from) noexcept
2980 : CpObjectiveProto(nullptr, ::std::move(from)) {}
2981 inline CpObjectiveProto& operator=(const CpObjectiveProto& from) {
2982 CopyFrom(from);
2983 return *this;
2984 }
2985 inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
2986 if (this == &from) return *this;
2987 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2988 InternalSwap(&from);
2989 } else {
2991 }
2992 return *this;
2994
2995 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2996 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2997 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2998 }
2999 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3000 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3001 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3002 }
3003
3004 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3005 return GetDescriptor();
3006 }
3007 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3008 return default_instance().GetMetadata().descriptor;
3010 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3011 return default_instance().GetMetadata().reflection;
3012 }
3014 return *reinterpret_cast<const CpObjectiveProto*>(
3016 }
3017 static constexpr int kIndexInFileMessages = 20;
3018 friend void swap(CpObjectiveProto& a, CpObjectiveProto& b) { a.Swap(&b); }
3019 inline void Swap(CpObjectiveProto* PROTOBUF_NONNULL other) {
3020 if (other == this) return;
3021 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3022 InternalSwap(other);
3023 } else {
3024 ::google::protobuf::internal::GenericSwap(this, other);
3025 }
3026 }
3027 void UnsafeArenaSwap(CpObjectiveProto* PROTOBUF_NONNULL other) {
3028 if (other == this) return;
3029 ABSL_DCHECK(GetArena() == other->GetArena());
3030 InternalSwap(other);
3033 // implements Message ----------------------------------------------
3034
3035 CpObjectiveProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3036 return ::google::protobuf::Message::DefaultConstruct<CpObjectiveProto>(arena);
3037 }
3038 using ::google::protobuf::Message::CopyFrom;
3039 void CopyFrom(const CpObjectiveProto& from);
3040 using ::google::protobuf::Message::MergeFrom;
3041 void MergeFrom(const CpObjectiveProto& from) { CpObjectiveProto::MergeImpl(*this, from); }
3042
3043 private:
3044 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3045 const ::google::protobuf::MessageLite& from_msg);
3046
3047 public:
3048 bool IsInitialized() const {
3049 return true;
3050 }
3051 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3052 #if defined(PROTOBUF_CUSTOM_VTABLE)
3053 private:
3054 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3055 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3056 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3057 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3058
3059 public:
3060 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3061 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3062 ::uint8_t* PROTOBUF_NONNULL target,
3063 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3064 return _InternalSerialize(*this, target, stream);
3065 }
3066 #else // PROTOBUF_CUSTOM_VTABLE
3067 ::size_t ByteSizeLong() const final;
3068 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3069 ::uint8_t* PROTOBUF_NONNULL target,
3070 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3071 #endif // PROTOBUF_CUSTOM_VTABLE
3072 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3073
3074 private:
3075 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3076 static void SharedDtor(MessageLite& self);
3077 void InternalSwap(CpObjectiveProto* PROTOBUF_NONNULL other);
3078 private:
3079 template <typename T>
3080 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3081 static ::absl::string_view FullMessageName() { return "operations_research.sat.CpObjectiveProto"; }
3082
3083 protected:
3084 explicit CpObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3085 CpObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CpObjectiveProto& from);
3087 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CpObjectiveProto&& from) noexcept
3088 : CpObjectiveProto(arena) {
3089 *this = ::std::move(from);
3090 }
3091 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3092 static void* PROTOBUF_NONNULL PlacementNew_(
3093 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3094 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3095 static constexpr auto InternalNewImpl_();
3096
3097 public:
3098 static constexpr auto InternalGenerateClassData_();
3099
3100 ::google::protobuf::Metadata GetMetadata() const;
3101 // nested types ----------------------------------------------------
3102
3103 // accessors -------------------------------------------------------
3104 enum : int {
3105 kVarsFieldNumber = 1,
3114 };
3115 // repeated int32 vars = 1;
3116 int vars_size() const;
3117 private:
3118 int _internal_vars_size() const;
3120 public:
3121 void clear_vars() ;
3122 ::int32_t vars(int index) const;
3123 void set_vars(int index, ::int32_t value);
3124 void add_vars(::int32_t value);
3125 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
3126 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
3128 private:
3129 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
3130 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
3131
3132 public:
3133 // repeated int64 coeffs = 4;
3134 int coeffs_size() const;
3135 private:
3136 int _internal_coeffs_size() const;
3137
3138 public:
3139 void clear_coeffs() ;
3140 ::int64_t coeffs(int index) const;
3141 void set_coeffs(int index, ::int64_t value);
3142 void add_coeffs(::int64_t value);
3143 const ::google::protobuf::RepeatedField<::int64_t>& coeffs() const;
3144 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_coeffs();
3145
3146 private:
3147 const ::google::protobuf::RepeatedField<::int64_t>& _internal_coeffs() const;
3148 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_coeffs();
3149
3150 public:
3151 // repeated int64 domain = 5;
3152 int domain_size() const;
3153 private:
3154 int _internal_domain_size() const;
3155
3156 public:
3157 void clear_domain() ;
3158 ::int64_t domain(int index) const;
3159 void set_domain(int index, ::int64_t value);
3160 void add_domain(::int64_t value);
3161 const ::google::protobuf::RepeatedField<::int64_t>& domain() const;
3162 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_domain();
3163
3164 private:
3165 const ::google::protobuf::RepeatedField<::int64_t>& _internal_domain() const;
3166 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_domain();
3167
3168 public:
3169 // double offset = 2;
3170 void clear_offset() ;
3171 double offset() const;
3172 void set_offset(double value);
3173
3174 private:
3175 double _internal_offset() const;
3176 void _internal_set_offset(double value);
3177
3178 public:
3179 // double scaling_factor = 3;
3180 void clear_scaling_factor() ;
3181 double scaling_factor() const;
3182 void set_scaling_factor(double value);
3183
3184 private:
3185 double _internal_scaling_factor() const;
3186 void _internal_set_scaling_factor(double value);
3187
3188 public:
3189 // int64 integer_before_offset = 7;
3191 ::int64_t integer_before_offset() const;
3192 void set_integer_before_offset(::int64_t value);
3193
3194 private:
3195 ::int64_t _internal_integer_before_offset() const;
3196 void _internal_set_integer_before_offset(::int64_t value);
3197
3198 public:
3199 // int64 integer_scaling_factor = 8;
3201 ::int64_t integer_scaling_factor() const;
3202 void set_integer_scaling_factor(::int64_t value);
3203
3204 private:
3205 ::int64_t _internal_integer_scaling_factor() const;
3206 void _internal_set_integer_scaling_factor(::int64_t value);
3207
3208 public:
3209 // int64 integer_after_offset = 9;
3211 ::int64_t integer_after_offset() const;
3212 void set_integer_after_offset(::int64_t value);
3213
3214 private:
3215 ::int64_t _internal_integer_after_offset() const;
3216 void _internal_set_integer_after_offset(::int64_t value);
3217
3218 public:
3219 // bool scaling_was_exact = 6;
3221 bool scaling_was_exact() const;
3222 void set_scaling_was_exact(bool value);
3223
3224 private:
3225 bool _internal_scaling_was_exact() const;
3226 void _internal_set_scaling_was_exact(bool value);
3227
3228 public:
3229 // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
3230 private:
3231 class _Internal;
3232 friend class ::google::protobuf::internal::TcParser;
3233 static const ::google::protobuf::internal::TcParseTable<4, 9,
3234 0, 0,
3235 2>
3236 _table_;
3237
3238 friend class ::google::protobuf::MessageLite;
3239 friend class ::google::protobuf::Arena;
3240 template <typename T>
3241 friend class ::google::protobuf::Arena::InternalHelper;
3242 using InternalArenaConstructable_ = void;
3243 using DestructorSkippable_ = void;
3244 struct Impl_ {
3245 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3246 inline explicit Impl_(
3247 ::google::protobuf::internal::InternalVisibility visibility,
3248 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3249 inline explicit Impl_(
3250 ::google::protobuf::internal::InternalVisibility visibility,
3251 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3252 const CpObjectiveProto& from_msg);
3253 ::google::protobuf::internal::HasBits<1> _has_bits_;
3254 ::google::protobuf::internal::CachedSize _cached_size_;
3255 ::google::protobuf::RepeatedField<::int32_t> vars_;
3256 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
3257 ::google::protobuf::RepeatedField<::int64_t> coeffs_;
3258 ::google::protobuf::internal::CachedSize _coeffs_cached_byte_size_;
3259 ::google::protobuf::RepeatedField<::int64_t> domain_;
3260 ::google::protobuf::internal::CachedSize _domain_cached_byte_size_;
3261 double offset_;
3262 double scaling_factor_;
3263 ::int64_t integer_before_offset_;
3264 ::int64_t integer_scaling_factor_;
3265 ::int64_t integer_after_offset_;
3266 bool scaling_was_exact_;
3267 PROTOBUF_TSAN_DECLARE_MEMBER
3268 };
3269 union { Impl_ _impl_; };
3270 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3271};
3272
3273OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpObjectiveProto_class_data_;
3274// -------------------------------------------------------------------
3275
3276class OR_PROTO_DLL CircuitConstraintProto final : public ::google::protobuf::Message
3277/* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
3278 public:
3279 inline CircuitConstraintProto() : CircuitConstraintProto(nullptr) {}
3280 ~CircuitConstraintProto() PROTOBUF_FINAL;
3281
3282#if defined(PROTOBUF_CUSTOM_VTABLE)
3283 void operator delete(CircuitConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
3284 SharedDtor(*msg);
3285 ::google::protobuf::internal::SizedDelete(msg, sizeof(CircuitConstraintProto));
3286 }
3287#endif
3288
3289 template <typename = void>
3290 explicit PROTOBUF_CONSTEXPR CircuitConstraintProto(::google::protobuf::internal::ConstantInitialized);
3292 inline CircuitConstraintProto(const CircuitConstraintProto& from) : CircuitConstraintProto(nullptr, from) {}
3293 inline CircuitConstraintProto(CircuitConstraintProto&& from) noexcept
3294 : CircuitConstraintProto(nullptr, ::std::move(from)) {}
3295 inline CircuitConstraintProto& operator=(const CircuitConstraintProto& from) {
3296 CopyFrom(from);
3297 return *this;
3298 }
3299 inline CircuitConstraintProto& operator=(CircuitConstraintProto&& from) noexcept {
3300 if (this == &from) return *this;
3301 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3302 InternalSwap(&from);
3303 } else {
3304 CopyFrom(from);
3306 return *this;
3309 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3310 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3311 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3312 }
3313 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3314 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3315 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3316 }
3317
3318 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3319 return GetDescriptor();
3320 }
3321 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3322 return default_instance().GetMetadata().descriptor;
3323 }
3324 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3325 return default_instance().GetMetadata().reflection;
3326 }
3327 static const CircuitConstraintProto& default_instance() {
3328 return *reinterpret_cast<const CircuitConstraintProto*>(
3330 }
3331 static constexpr int kIndexInFileMessages = 12;
3332 friend void swap(CircuitConstraintProto& a, CircuitConstraintProto& b) { a.Swap(&b); }
3333 inline void Swap(CircuitConstraintProto* PROTOBUF_NONNULL other) {
3334 if (other == this) return;
3335 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3336 InternalSwap(other);
3337 } else {
3338 ::google::protobuf::internal::GenericSwap(this, other);
3340 }
3341 void UnsafeArenaSwap(CircuitConstraintProto* PROTOBUF_NONNULL other) {
3342 if (other == this) return;
3343 ABSL_DCHECK(GetArena() == other->GetArena());
3344 InternalSwap(other);
3345 }
3347 // implements Message ----------------------------------------------
3349 CircuitConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3350 return ::google::protobuf::Message::DefaultConstruct<CircuitConstraintProto>(arena);
3351 }
3352 using ::google::protobuf::Message::CopyFrom;
3353 void CopyFrom(const CircuitConstraintProto& from);
3354 using ::google::protobuf::Message::MergeFrom;
3355 void MergeFrom(const CircuitConstraintProto& from) { CircuitConstraintProto::MergeImpl(*this, from); }
3357 private:
3358 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3359 const ::google::protobuf::MessageLite& from_msg);
3360
3361 public:
3362 bool IsInitialized() const {
3363 return true;
3365 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3366 #if defined(PROTOBUF_CUSTOM_VTABLE)
3367 private:
3368 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3369 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3370 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3371 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3372
3373 public:
3374 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3375 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3376 ::uint8_t* PROTOBUF_NONNULL target,
3377 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3378 return _InternalSerialize(*this, target, stream);
3379 }
3380 #else // PROTOBUF_CUSTOM_VTABLE
3381 ::size_t ByteSizeLong() const final;
3382 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3383 ::uint8_t* PROTOBUF_NONNULL target,
3384 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3385 #endif // PROTOBUF_CUSTOM_VTABLE
3386 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3387
3388 private:
3389 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3390 static void SharedDtor(MessageLite& self);
3391 void InternalSwap(CircuitConstraintProto* PROTOBUF_NONNULL other);
3392 private:
3393 template <typename T>
3394 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3395 static ::absl::string_view FullMessageName() { return "operations_research.sat.CircuitConstraintProto"; }
3396
3397 protected:
3398 explicit CircuitConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3399 CircuitConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CircuitConstraintProto& from);
3400 CircuitConstraintProto(
3401 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CircuitConstraintProto&& from) noexcept
3402 : CircuitConstraintProto(arena) {
3403 *this = ::std::move(from);
3404 }
3405 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3406 static void* PROTOBUF_NONNULL PlacementNew_(
3407 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3408 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3409 static constexpr auto InternalNewImpl_();
3410
3411 public:
3412 static constexpr auto InternalGenerateClassData_();
3413
3414 ::google::protobuf::Metadata GetMetadata() const;
3415 // nested types ----------------------------------------------------
3416
3417 // accessors -------------------------------------------------------
3418 enum : int {
3422 };
3423 // repeated int32 tails = 3;
3424 int tails_size() const;
3425 private:
3426 int _internal_tails_size() const;
3427
3428 public:
3429 void clear_tails() ;
3430 ::int32_t tails(int index) const;
3431 void set_tails(int index, ::int32_t value);
3432 void add_tails(::int32_t value);
3433 const ::google::protobuf::RepeatedField<::int32_t>& tails() const;
3434 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_tails();
3436 private:
3437 const ::google::protobuf::RepeatedField<::int32_t>& _internal_tails() const;
3438 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_tails();
3439
3440 public:
3441 // repeated int32 heads = 4;
3442 int heads_size() const;
3443 private:
3444 int _internal_heads_size() const;
3445
3446 public:
3447 void clear_heads() ;
3448 ::int32_t heads(int index) const;
3449 void set_heads(int index, ::int32_t value);
3450 void add_heads(::int32_t value);
3451 const ::google::protobuf::RepeatedField<::int32_t>& heads() const;
3452 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_heads();
3453
3454 private:
3455 const ::google::protobuf::RepeatedField<::int32_t>& _internal_heads() const;
3456 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_heads();
3457
3458 public:
3459 // repeated int32 literals = 5;
3460 int literals_size() const;
3461 private:
3462 int _internal_literals_size() const;
3463
3464 public:
3465 void clear_literals() ;
3466 ::int32_t literals(int index) const;
3467 void set_literals(int index, ::int32_t value);
3468 void add_literals(::int32_t value);
3469 const ::google::protobuf::RepeatedField<::int32_t>& literals() const;
3470 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_literals();
3471
3472 private:
3473 const ::google::protobuf::RepeatedField<::int32_t>& _internal_literals() const;
3474 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_literals();
3475
3476 public:
3477 // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
3478 private:
3479 class _Internal;
3480 friend class ::google::protobuf::internal::TcParser;
3481 static const ::google::protobuf::internal::TcParseTable<2, 3,
3482 0, 0,
3483 2>
3484 _table_;
3485
3486 friend class ::google::protobuf::MessageLite;
3487 friend class ::google::protobuf::Arena;
3488 template <typename T>
3489 friend class ::google::protobuf::Arena::InternalHelper;
3490 using InternalArenaConstructable_ = void;
3491 using DestructorSkippable_ = void;
3492 struct Impl_ {
3493 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3494 inline explicit Impl_(
3495 ::google::protobuf::internal::InternalVisibility visibility,
3496 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3497 inline explicit Impl_(
3498 ::google::protobuf::internal::InternalVisibility visibility,
3499 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3500 const CircuitConstraintProto& from_msg);
3501 ::google::protobuf::RepeatedField<::int32_t> tails_;
3502 ::google::protobuf::internal::CachedSize _tails_cached_byte_size_;
3503 ::google::protobuf::RepeatedField<::int32_t> heads_;
3504 ::google::protobuf::internal::CachedSize _heads_cached_byte_size_;
3505 ::google::protobuf::RepeatedField<::int32_t> literals_;
3506 ::google::protobuf::internal::CachedSize _literals_cached_byte_size_;
3507 ::google::protobuf::internal::CachedSize _cached_size_;
3508 PROTOBUF_TSAN_DECLARE_MEMBER
3509 };
3510 union { Impl_ _impl_; };
3511 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3512};
3513
3514OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CircuitConstraintProto_class_data_;
3515// -------------------------------------------------------------------
3516
3517class OR_PROTO_DLL BoolArgumentProto final : public ::google::protobuf::Message
3518/* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
3519 public:
3520 inline BoolArgumentProto() : BoolArgumentProto(nullptr) {}
3521 ~BoolArgumentProto() PROTOBUF_FINAL;
3522
3523#if defined(PROTOBUF_CUSTOM_VTABLE)
3524 void operator delete(BoolArgumentProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
3525 SharedDtor(*msg);
3526 ::google::protobuf::internal::SizedDelete(msg, sizeof(BoolArgumentProto));
3527 }
3528#endif
3529
3530 template <typename = void>
3531 explicit PROTOBUF_CONSTEXPR BoolArgumentProto(::google::protobuf::internal::ConstantInitialized);
3532
3533 inline BoolArgumentProto(const BoolArgumentProto& from) : BoolArgumentProto(nullptr, from) {}
3534 inline BoolArgumentProto(BoolArgumentProto&& from) noexcept
3535 : BoolArgumentProto(nullptr, ::std::move(from)) {}
3537 CopyFrom(from);
3538 return *this;
3539 }
3540 inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
3541 if (this == &from) return *this;
3542 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3543 InternalSwap(&from);
3544 } else {
3545 CopyFrom(from);
3546 }
3547 return *this;
3548 }
3550 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3551 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3552 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3553 }
3554 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3555 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3556 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3557 }
3558
3559 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3560 return GetDescriptor();
3561 }
3562 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3563 return default_instance().GetMetadata().descriptor;
3564 }
3565 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3566 return default_instance().GetMetadata().reflection;
3567 }
3568 static const BoolArgumentProto& default_instance() {
3569 return *reinterpret_cast<const BoolArgumentProto*>(
3571 }
3572 static constexpr int kIndexInFileMessages = 1;
3573 friend void swap(BoolArgumentProto& a, BoolArgumentProto& b) { a.Swap(&b); }
3574 inline void Swap(BoolArgumentProto* PROTOBUF_NONNULL other) {
3575 if (other == this) return;
3576 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3577 InternalSwap(other);
3578 } else {
3579 ::google::protobuf::internal::GenericSwap(this, other);
3580 }
3582 void UnsafeArenaSwap(BoolArgumentProto* PROTOBUF_NONNULL other) {
3583 if (other == this) return;
3584 ABSL_DCHECK(GetArena() == other->GetArena());
3585 InternalSwap(other);
3586 }
3587
3588 // implements Message ----------------------------------------------
3590 BoolArgumentProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3591 return ::google::protobuf::Message::DefaultConstruct<BoolArgumentProto>(arena);
3592 }
3593 using ::google::protobuf::Message::CopyFrom;
3594 void CopyFrom(const BoolArgumentProto& from);
3595 using ::google::protobuf::Message::MergeFrom;
3596 void MergeFrom(const BoolArgumentProto& from) { BoolArgumentProto::MergeImpl(*this, from); }
3597
3598 private:
3599 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3600 const ::google::protobuf::MessageLite& from_msg);
3601
3602 public:
3603 bool IsInitialized() const {
3604 return true;
3605 }
3606 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3607 #if defined(PROTOBUF_CUSTOM_VTABLE)
3608 private:
3609 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3610 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3611 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3612 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3613
3614 public:
3615 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3616 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3617 ::uint8_t* PROTOBUF_NONNULL target,
3618 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3619 return _InternalSerialize(*this, target, stream);
3620 }
3621 #else // PROTOBUF_CUSTOM_VTABLE
3622 ::size_t ByteSizeLong() const final;
3623 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3624 ::uint8_t* PROTOBUF_NONNULL target,
3625 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3626 #endif // PROTOBUF_CUSTOM_VTABLE
3627 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3628
3629 private:
3630 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3631 static void SharedDtor(MessageLite& self);
3632 void InternalSwap(BoolArgumentProto* PROTOBUF_NONNULL other);
3633 private:
3634 template <typename T>
3635 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3636 static ::absl::string_view FullMessageName() { return "operations_research.sat.BoolArgumentProto"; }
3637
3638 protected:
3639 explicit BoolArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3640 BoolArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BoolArgumentProto& from);
3641 BoolArgumentProto(
3642 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BoolArgumentProto&& from) noexcept
3644 *this = ::std::move(from);
3645 }
3646 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3647 static void* PROTOBUF_NONNULL PlacementNew_(
3648 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3649 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3650 static constexpr auto InternalNewImpl_();
3651
3652 public:
3653 static constexpr auto InternalGenerateClassData_();
3654
3655 ::google::protobuf::Metadata GetMetadata() const;
3656 // nested types ----------------------------------------------------
3658 // accessors -------------------------------------------------------
3659 enum : int {
3661 };
3662 // repeated int32 literals = 1;
3663 int literals_size() const;
3664 private:
3665 int _internal_literals_size() const;
3666
3667 public:
3668 void clear_literals() ;
3669 ::int32_t literals(int index) const;
3670 void set_literals(int index, ::int32_t value);
3671 void add_literals(::int32_t value);
3672 const ::google::protobuf::RepeatedField<::int32_t>& literals() const;
3673 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_literals();
3674
3675 private:
3676 const ::google::protobuf::RepeatedField<::int32_t>& _internal_literals() const;
3677 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_literals();
3678
3679 public:
3680 // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
3681 private:
3682 class _Internal;
3683 friend class ::google::protobuf::internal::TcParser;
3684 static const ::google::protobuf::internal::TcParseTable<0, 1,
3685 0, 0,
3686 2>
3687 _table_;
3688
3689 friend class ::google::protobuf::MessageLite;
3690 friend class ::google::protobuf::Arena;
3691 template <typename T>
3692 friend class ::google::protobuf::Arena::InternalHelper;
3693 using InternalArenaConstructable_ = void;
3694 using DestructorSkippable_ = void;
3695 struct Impl_ {
3696 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3697 inline explicit Impl_(
3698 ::google::protobuf::internal::InternalVisibility visibility,
3699 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3700 inline explicit Impl_(
3701 ::google::protobuf::internal::InternalVisibility visibility,
3702 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3703 const BoolArgumentProto& from_msg);
3704 ::google::protobuf::RepeatedField<::int32_t> literals_;
3705 ::google::protobuf::internal::CachedSize _literals_cached_byte_size_;
3706 ::google::protobuf::internal::CachedSize _cached_size_;
3707 PROTOBUF_TSAN_DECLARE_MEMBER
3709 union { Impl_ _impl_; };
3710 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3711};
3712
3713OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BoolArgumentProto_class_data_;
3714// -------------------------------------------------------------------
3715
3716class OR_PROTO_DLL TableConstraintProto final : public ::google::protobuf::Message
3717/* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
3718 public:
3719 inline TableConstraintProto() : TableConstraintProto(nullptr) {}
3720 ~TableConstraintProto() PROTOBUF_FINAL;
3721
3722#if defined(PROTOBUF_CUSTOM_VTABLE)
3723 void operator delete(TableConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
3724 SharedDtor(*msg);
3725 ::google::protobuf::internal::SizedDelete(msg, sizeof(TableConstraintProto));
3727#endif
3728
3729 template <typename = void>
3730 explicit PROTOBUF_CONSTEXPR TableConstraintProto(::google::protobuf::internal::ConstantInitialized);
3731
3732 inline TableConstraintProto(const TableConstraintProto& from) : TableConstraintProto(nullptr, from) {}
3734 : TableConstraintProto(nullptr, ::std::move(from)) {}
3735 inline TableConstraintProto& operator=(const TableConstraintProto& from) {
3737 return *this;
3738 }
3739 inline TableConstraintProto& operator=(TableConstraintProto&& from) noexcept {
3740 if (this == &from) return *this;
3741 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3742 InternalSwap(&from);
3743 } else {
3744 CopyFrom(from);
3745 }
3746 return *this;
3748
3749 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3750 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3751 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3753 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3754 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3755 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3757
3758 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3759 return GetDescriptor();
3760 }
3761 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3762 return default_instance().GetMetadata().descriptor;
3763 }
3764 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3765 return default_instance().GetMetadata().reflection;
3767 static const TableConstraintProto& default_instance() {
3768 return *reinterpret_cast<const TableConstraintProto*>(
3771 static constexpr int kIndexInFileMessages = 15;
3772 friend void swap(TableConstraintProto& a, TableConstraintProto& b) { a.Swap(&b); }
3773 inline void Swap(TableConstraintProto* PROTOBUF_NONNULL other) {
3774 if (other == this) return;
3775 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3776 InternalSwap(other);
3777 } else {
3778 ::google::protobuf::internal::GenericSwap(this, other);
3779 }
3780 }
3781 void UnsafeArenaSwap(TableConstraintProto* PROTOBUF_NONNULL other) {
3782 if (other == this) return;
3783 ABSL_DCHECK(GetArena() == other->GetArena());
3784 InternalSwap(other);
3785 }
3786
3787 // implements Message ----------------------------------------------
3789 TableConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3790 return ::google::protobuf::Message::DefaultConstruct<TableConstraintProto>(arena);
3791 }
3792 using ::google::protobuf::Message::CopyFrom;
3793 void CopyFrom(const TableConstraintProto& from);
3794 using ::google::protobuf::Message::MergeFrom;
3795 void MergeFrom(const TableConstraintProto& from) { TableConstraintProto::MergeImpl(*this, from); }
3796
3797 private:
3798 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3799 const ::google::protobuf::MessageLite& from_msg);
3800
3801 public:
3802 bool IsInitialized() const {
3803 return true;
3804 }
3805 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3806 #if defined(PROTOBUF_CUSTOM_VTABLE)
3807 private:
3808 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3809 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3810 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3811 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3813 public:
3814 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3815 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3816 ::uint8_t* PROTOBUF_NONNULL target,
3817 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3818 return _InternalSerialize(*this, target, stream);
3820 #else // PROTOBUF_CUSTOM_VTABLE
3821 ::size_t ByteSizeLong() const final;
3822 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3823 ::uint8_t* PROTOBUF_NONNULL target,
3824 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3825 #endif // PROTOBUF_CUSTOM_VTABLE
3826 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3827
3828 private:
3829 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3830 static void SharedDtor(MessageLite& self);
3831 void InternalSwap(TableConstraintProto* PROTOBUF_NONNULL other);
3832 private:
3833 template <typename T>
3834 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3835 static ::absl::string_view FullMessageName() { return "operations_research.sat.TableConstraintProto"; }
3836
3837 protected:
3838 explicit TableConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3839 TableConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TableConstraintProto& from);
3840 TableConstraintProto(
3841 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TableConstraintProto&& from) noexcept
3842 : TableConstraintProto(arena) {
3843 *this = ::std::move(from);
3844 }
3845 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3846 static void* PROTOBUF_NONNULL PlacementNew_(
3847 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3848 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3849 static constexpr auto InternalNewImpl_();
3850
3851 public:
3852 static constexpr auto InternalGenerateClassData_();
3853
3854 ::google::protobuf::Metadata GetMetadata() const;
3855 // nested types ----------------------------------------------------
3856
3857 // accessors -------------------------------------------------------
3858 enum : int {
3859 kVarsFieldNumber = 1,
3863 };
3864 // repeated int32 vars = 1;
3865 int vars_size() const;
3866 private:
3867 int _internal_vars_size() const;
3868
3869 public:
3870 void clear_vars() ;
3871 ::int32_t vars(int index) const;
3872 void set_vars(int index, ::int32_t value);
3873 void add_vars(::int32_t value);
3874 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
3875 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
3877 private:
3878 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
3879 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
3880
3881 public:
3882 // repeated int64 values = 2;
3883 int values_size() const;
3884 private:
3885 int _internal_values_size() const;
3886
3887 public:
3888 void clear_values() ;
3889 ::int64_t values(int index) const;
3890 void set_values(int index, ::int64_t value);
3891 void add_values(::int64_t value);
3892 const ::google::protobuf::RepeatedField<::int64_t>& values() const;
3893 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_values();
3894
3895 private:
3896 const ::google::protobuf::RepeatedField<::int64_t>& _internal_values() const;
3897 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_values();
3898
3899 public:
3900 // repeated .operations_research.sat.LinearExpressionProto exprs = 4;
3901 int exprs_size() const;
3902 private:
3903 int _internal_exprs_size() const;
3904
3905 public:
3906 void clear_exprs() ;
3908 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
3909
3910 private:
3911 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
3912 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
3913 public:
3914 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
3916 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
3917 // bool negated = 3;
3918 void clear_negated() ;
3919 bool negated() const;
3920 void set_negated(bool value);
3921
3922 private:
3923 bool _internal_negated() const;
3924 void _internal_set_negated(bool value);
3925
3926 public:
3927 // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3928 private:
3929 class _Internal;
3930 friend class ::google::protobuf::internal::TcParser;
3931 static const ::google::protobuf::internal::TcParseTable<2, 4,
3932 1, 0,
3933 2>
3934 _table_;
3935
3936 friend class ::google::protobuf::MessageLite;
3937 friend class ::google::protobuf::Arena;
3938 template <typename T>
3939 friend class ::google::protobuf::Arena::InternalHelper;
3940 using InternalArenaConstructable_ = void;
3941 using DestructorSkippable_ = void;
3942 struct Impl_ {
3943 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3944 inline explicit Impl_(
3945 ::google::protobuf::internal::InternalVisibility visibility,
3946 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3947 inline explicit Impl_(
3948 ::google::protobuf::internal::InternalVisibility visibility,
3949 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3950 const TableConstraintProto& from_msg);
3951 ::google::protobuf::internal::HasBits<1> _has_bits_;
3952 ::google::protobuf::internal::CachedSize _cached_size_;
3953 ::google::protobuf::RepeatedField<::int32_t> vars_;
3954 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
3955 ::google::protobuf::RepeatedField<::int64_t> values_;
3956 ::google::protobuf::internal::CachedSize _values_cached_byte_size_;
3957 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
3958 bool negated_;
3959 PROTOBUF_TSAN_DECLARE_MEMBER
3960 };
3961 union { Impl_ _impl_; };
3962 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3963};
3964
3965OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TableConstraintProto_class_data_;
3966// -------------------------------------------------------------------
3967
3968class OR_PROTO_DLL SymmetryProto final : public ::google::protobuf::Message
3969/* @@protoc_insertion_point(class_definition:operations_research.sat.SymmetryProto) */ {
3970 public:
3971 inline SymmetryProto() : SymmetryProto(nullptr) {}
3972 ~SymmetryProto() PROTOBUF_FINAL;
3973
3974#if defined(PROTOBUF_CUSTOM_VTABLE)
3975 void operator delete(SymmetryProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
3976 SharedDtor(*msg);
3977 ::google::protobuf::internal::SizedDelete(msg, sizeof(SymmetryProto));
3979#endif
3980
3981 template <typename = void>
3982 explicit PROTOBUF_CONSTEXPR SymmetryProto(::google::protobuf::internal::ConstantInitialized);
3983
3984 inline SymmetryProto(const SymmetryProto& from) : SymmetryProto(nullptr, from) {}
3985 inline SymmetryProto(SymmetryProto&& from) noexcept
3986 : SymmetryProto(nullptr, ::std::move(from)) {}
3987 inline SymmetryProto& operator=(const SymmetryProto& from) {
3988 CopyFrom(from);
3989 return *this;
3990 }
3991 inline SymmetryProto& operator=(SymmetryProto&& from) noexcept {
3992 if (this == &from) return *this;
3993 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3994 InternalSwap(&from);
3995 } else {
3996 CopyFrom(from);
3997 }
3998 return *this;
3999 }
4001 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4002 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4003 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4004 }
4005 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4006 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4007 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4008 }
4010 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4011 return GetDescriptor();
4012 }
4013 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4014 return default_instance().GetMetadata().descriptor;
4015 }
4016 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4017 return default_instance().GetMetadata().reflection;
4018 }
4020 return *reinterpret_cast<const SymmetryProto*>(
4022 }
4023 static constexpr int kIndexInFileMessages = 26;
4024 friend void swap(SymmetryProto& a, SymmetryProto& b) { a.Swap(&b); }
4025 inline void Swap(SymmetryProto* PROTOBUF_NONNULL other) {
4026 if (other == this) return;
4027 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4028 InternalSwap(other);
4029 } else {
4030 ::google::protobuf::internal::GenericSwap(this, other);
4032 }
4033 void UnsafeArenaSwap(SymmetryProto* PROTOBUF_NONNULL other) {
4034 if (other == this) return;
4035 ABSL_DCHECK(GetArena() == other->GetArena());
4036 InternalSwap(other);
4038
4039 // implements Message ----------------------------------------------
4040
4041 SymmetryProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4042 return ::google::protobuf::Message::DefaultConstruct<SymmetryProto>(arena);
4044 using ::google::protobuf::Message::CopyFrom;
4045 void CopyFrom(const SymmetryProto& from);
4046 using ::google::protobuf::Message::MergeFrom;
4047 void MergeFrom(const SymmetryProto& from) { SymmetryProto::MergeImpl(*this, from); }
4048
4049 private:
4050 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4051 const ::google::protobuf::MessageLite& from_msg);
4052
4053 public:
4054 bool IsInitialized() const {
4055 return true;
4056 }
4057 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4058 #if defined(PROTOBUF_CUSTOM_VTABLE)
4059 private:
4060 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4061 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4062 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4063 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4064
4065 public:
4066 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4067 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4068 ::uint8_t* PROTOBUF_NONNULL target,
4069 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4070 return _InternalSerialize(*this, target, stream);
4071 }
4072 #else // PROTOBUF_CUSTOM_VTABLE
4073 ::size_t ByteSizeLong() const final;
4074 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4075 ::uint8_t* PROTOBUF_NONNULL target,
4076 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4077 #endif // PROTOBUF_CUSTOM_VTABLE
4078 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4079
4080 private:
4081 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4082 static void SharedDtor(MessageLite& self);
4083 void InternalSwap(SymmetryProto* PROTOBUF_NONNULL other);
4084 private:
4085 template <typename T>
4086 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4087 static ::absl::string_view FullMessageName() { return "operations_research.sat.SymmetryProto"; }
4088
4089 protected:
4090 explicit SymmetryProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4091 SymmetryProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SymmetryProto& from);
4092 SymmetryProto(
4093 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SymmetryProto&& from) noexcept
4094 : SymmetryProto(arena) {
4095 *this = ::std::move(from);
4097 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4098 static void* PROTOBUF_NONNULL PlacementNew_(
4099 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4100 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4101 static constexpr auto InternalNewImpl_();
4102
4103 public:
4104 static constexpr auto InternalGenerateClassData_();
4105
4106 ::google::protobuf::Metadata GetMetadata() const;
4107 // nested types ----------------------------------------------------
4108
4109 // accessors -------------------------------------------------------
4110 enum : int {
4113 };
4114 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
4115 int permutations_size() const;
4116 private:
4117 int _internal_permutations_size() const;
4118
4119 public:
4120 void clear_permutations() ;
4121 ::operations_research::sat::SparsePermutationProto* PROTOBUF_NONNULL mutable_permutations(int index);
4122 ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>* PROTOBUF_NONNULL mutable_permutations();
4123
4124 private:
4125 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>& _internal_permutations() const;
4126 ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>* PROTOBUF_NONNULL _internal_mutable_permutations();
4127 public:
4128 const ::operations_research::sat::SparsePermutationProto& permutations(int index) const;
4130 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>& permutations() const;
4131 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
4132 int orbitopes_size() const;
4133 private:
4134 int _internal_orbitopes_size() const;
4135
4136 public:
4137 void clear_orbitopes() ;
4139 ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>* PROTOBUF_NONNULL mutable_orbitopes();
4140
4141 private:
4142 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>& _internal_orbitopes() const;
4143 ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>* PROTOBUF_NONNULL _internal_mutable_orbitopes();
4144 public:
4145 const ::operations_research::sat::DenseMatrixProto& orbitopes(int index) const;
4147 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>& orbitopes() const;
4148 // @@protoc_insertion_point(class_scope:operations_research.sat.SymmetryProto)
4149 private:
4150 class _Internal;
4151 friend class ::google::protobuf::internal::TcParser;
4152 static const ::google::protobuf::internal::TcParseTable<1, 2,
4153 2, 0,
4154 2>
4155 _table_;
4156
4157 friend class ::google::protobuf::MessageLite;
4158 friend class ::google::protobuf::Arena;
4159 template <typename T>
4160 friend class ::google::protobuf::Arena::InternalHelper;
4161 using InternalArenaConstructable_ = void;
4162 using DestructorSkippable_ = void;
4163 struct Impl_ {
4164 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4165 inline explicit Impl_(
4166 ::google::protobuf::internal::InternalVisibility visibility,
4167 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4168 inline explicit Impl_(
4169 ::google::protobuf::internal::InternalVisibility visibility,
4170 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4171 const SymmetryProto& from_msg);
4172 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > permutations_;
4173 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > orbitopes_;
4174 ::google::protobuf::internal::CachedSize _cached_size_;
4175 PROTOBUF_TSAN_DECLARE_MEMBER
4177 union { Impl_ _impl_; };
4178 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4179};
4180
4181OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SymmetryProto_class_data_;
4182// -------------------------------------------------------------------
4183
4184class OR_PROTO_DLL RoutesConstraintProto_NodeExpressions final : public ::google::protobuf::Message
4185/* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto.NodeExpressions) */ {
4186 public:
4188 ~RoutesConstraintProto_NodeExpressions() PROTOBUF_FINAL;
4189
4190#if defined(PROTOBUF_CUSTOM_VTABLE)
4191 void operator delete(RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
4192 SharedDtor(*msg);
4193 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutesConstraintProto_NodeExpressions));
4194 }
4195#endif
4197 template <typename = void>
4198 explicit PROTOBUF_CONSTEXPR RoutesConstraintProto_NodeExpressions(::google::protobuf::internal::ConstantInitialized);
4199
4202 : RoutesConstraintProto_NodeExpressions(nullptr, ::std::move(from)) {}
4204 CopyFrom(from);
4205 return *this;
4208 if (this == &from) return *this;
4209 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4210 InternalSwap(&from);
4211 } else {
4212 CopyFrom(from);
4213 }
4214 return *this;
4215 }
4216
4217 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4218 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4219 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4221 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4222 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4223 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4224 }
4225
4226 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4227 return GetDescriptor();
4228 }
4229 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4230 return default_instance().GetMetadata().descriptor;
4231 }
4232 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4233 return default_instance().GetMetadata().reflection;
4234 }
4235 static const RoutesConstraintProto_NodeExpressions& default_instance() {
4236 return *reinterpret_cast<const RoutesConstraintProto_NodeExpressions*>(
4238 }
4239 static constexpr int kIndexInFileMessages = 13;
4241 inline void Swap(RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL other) {
4242 if (other == this) return;
4243 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4244 InternalSwap(other);
4245 } else {
4246 ::google::protobuf::internal::GenericSwap(this, other);
4247 }
4249 void UnsafeArenaSwap(RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL other) {
4250 if (other == this) return;
4251 ABSL_DCHECK(GetArena() == other->GetArena());
4252 InternalSwap(other);
4253 }
4255 // implements Message ----------------------------------------------
4256
4257 RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4258 return ::google::protobuf::Message::DefaultConstruct<RoutesConstraintProto_NodeExpressions>(arena);
4260 using ::google::protobuf::Message::CopyFrom;
4262 using ::google::protobuf::Message::MergeFrom;
4263 void MergeFrom(const RoutesConstraintProto_NodeExpressions& from) { RoutesConstraintProto_NodeExpressions::MergeImpl(*this, from); }
4264
4265 private:
4266 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4267 const ::google::protobuf::MessageLite& from_msg);
4269 public:
4270 bool IsInitialized() const {
4271 return true;
4272 }
4273 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4274 #if defined(PROTOBUF_CUSTOM_VTABLE)
4275 private:
4276 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4277 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4278 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4279 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4280
4281 public:
4282 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4283 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4284 ::uint8_t* PROTOBUF_NONNULL target,
4285 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4286 return _InternalSerialize(*this, target, stream);
4287 }
4288 #else // PROTOBUF_CUSTOM_VTABLE
4289 ::size_t ByteSizeLong() const final;
4290 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4291 ::uint8_t* PROTOBUF_NONNULL target,
4292 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4293 #endif // PROTOBUF_CUSTOM_VTABLE
4294 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4295
4296 private:
4297 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4298 static void SharedDtor(MessageLite& self);
4299 void InternalSwap(RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL other);
4300 private:
4301 template <typename T>
4302 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4303 static ::absl::string_view FullMessageName() { return "operations_research.sat.RoutesConstraintProto.NodeExpressions"; }
4304
4305 protected:
4306 explicit RoutesConstraintProto_NodeExpressions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4307 RoutesConstraintProto_NodeExpressions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoutesConstraintProto_NodeExpressions& from);
4308 RoutesConstraintProto_NodeExpressions(
4309 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutesConstraintProto_NodeExpressions&& from) noexcept
4310 : RoutesConstraintProto_NodeExpressions(arena) {
4311 *this = ::std::move(from);
4312 }
4313 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4314 static void* PROTOBUF_NONNULL PlacementNew_(
4315 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4316 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4317 static constexpr auto InternalNewImpl_();
4318
4319 public:
4320 static constexpr auto InternalGenerateClassData_();
4321
4322 ::google::protobuf::Metadata GetMetadata() const;
4323 // nested types ----------------------------------------------------
4324
4325 // accessors -------------------------------------------------------
4326 enum : int {
4328 };
4329 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
4330 int exprs_size() const;
4331 private:
4332 int _internal_exprs_size() const;
4333
4334 public:
4335 void clear_exprs() ;
4336 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_exprs(int index);
4337 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
4338
4339 private:
4340 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
4341 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
4342 public:
4343 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
4344 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL add_exprs();
4345 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
4346 // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto.NodeExpressions)
4347 private:
4348 class _Internal;
4349 friend class ::google::protobuf::internal::TcParser;
4350 static const ::google::protobuf::internal::TcParseTable<0, 1,
4351 1, 0,
4352 2>
4353 _table_;
4354
4355 friend class ::google::protobuf::MessageLite;
4356 friend class ::google::protobuf::Arena;
4357 template <typename T>
4358 friend class ::google::protobuf::Arena::InternalHelper;
4359 using InternalArenaConstructable_ = void;
4360 using DestructorSkippable_ = void;
4361 struct Impl_ {
4362 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4363 inline explicit Impl_(
4364 ::google::protobuf::internal::InternalVisibility visibility,
4365 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4366 inline explicit Impl_(
4367 ::google::protobuf::internal::InternalVisibility visibility,
4368 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4370 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
4371 ::google::protobuf::internal::CachedSize _cached_size_;
4372 PROTOBUF_TSAN_DECLARE_MEMBER
4373 };
4374 union { Impl_ _impl_; };
4375 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4376};
4378OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutesConstraintProto_NodeExpressions_class_data_;
4379// -------------------------------------------------------------------
4380
4381class OR_PROTO_DLL ReservoirConstraintProto final : public ::google::protobuf::Message
4382/* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
4383 public:
4385 ~ReservoirConstraintProto() PROTOBUF_FINAL;
4386
4387#if defined(PROTOBUF_CUSTOM_VTABLE)
4388 void operator delete(ReservoirConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
4389 SharedDtor(*msg);
4390 ::google::protobuf::internal::SizedDelete(msg, sizeof(ReservoirConstraintProto));
4391 }
4392#endif
4394 template <typename = void>
4395 explicit PROTOBUF_CONSTEXPR ReservoirConstraintProto(::google::protobuf::internal::ConstantInitialized);
4396
4397 inline ReservoirConstraintProto(const ReservoirConstraintProto& from) : ReservoirConstraintProto(nullptr, from) {}
4399 : ReservoirConstraintProto(nullptr, ::std::move(from)) {}
4400 inline ReservoirConstraintProto& operator=(const ReservoirConstraintProto& from) {
4402 return *this;
4403 }
4405 if (this == &from) return *this;
4406 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4407 InternalSwap(&from);
4408 } else {
4409 CopyFrom(from);
4410 }
4411 return *this;
4412 }
4413
4414 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4415 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4416 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4418 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4419 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4420 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4421 }
4422
4423 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4425 }
4426 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4427 return default_instance().GetMetadata().descriptor;
4428 }
4429 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4430 return default_instance().GetMetadata().reflection;
4431 }
4432 static const ReservoirConstraintProto& default_instance() {
4433 return *reinterpret_cast<const ReservoirConstraintProto*>(
4435 }
4436 static constexpr int kIndexInFileMessages = 11;
4437 friend void swap(ReservoirConstraintProto& a, ReservoirConstraintProto& b) { a.Swap(&b); }
4438 inline void Swap(ReservoirConstraintProto* PROTOBUF_NONNULL other) {
4439 if (other == this) return;
4440 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4441 InternalSwap(other);
4442 } else {
4443 ::google::protobuf::internal::GenericSwap(this, other);
4444 }
4445 }
4446 void UnsafeArenaSwap(ReservoirConstraintProto* PROTOBUF_NONNULL other) {
4447 if (other == this) return;
4448 ABSL_DCHECK(GetArena() == other->GetArena());
4449 InternalSwap(other);
4450 }
4451
4452 // implements Message ----------------------------------------------
4453
4454 ReservoirConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4455 return ::google::protobuf::Message::DefaultConstruct<ReservoirConstraintProto>(arena);
4457 using ::google::protobuf::Message::CopyFrom;
4459 using ::google::protobuf::Message::MergeFrom;
4460 void MergeFrom(const ReservoirConstraintProto& from) { ReservoirConstraintProto::MergeImpl(*this, from); }
4461
4462 private:
4463 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4464 const ::google::protobuf::MessageLite& from_msg);
4465
4466 public:
4467 bool IsInitialized() const {
4468 return true;
4469 }
4470 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4471 #if defined(PROTOBUF_CUSTOM_VTABLE)
4472 private:
4473 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4474 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4475 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4476 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4477
4478 public:
4479 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4480 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4481 ::uint8_t* PROTOBUF_NONNULL target,
4482 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4483 return _InternalSerialize(*this, target, stream);
4484 }
4485 #else // PROTOBUF_CUSTOM_VTABLE
4486 ::size_t ByteSizeLong() const final;
4487 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4488 ::uint8_t* PROTOBUF_NONNULL target,
4489 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4490 #endif // PROTOBUF_CUSTOM_VTABLE
4491 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4492
4493 private:
4494 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4495 static void SharedDtor(MessageLite& self);
4496 void InternalSwap(ReservoirConstraintProto* PROTOBUF_NONNULL other);
4497 private:
4498 template <typename T>
4499 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4500 static ::absl::string_view FullMessageName() { return "operations_research.sat.ReservoirConstraintProto"; }
4501
4502 protected:
4503 explicit ReservoirConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4504 ReservoirConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReservoirConstraintProto& from);
4505 ReservoirConstraintProto(
4506 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReservoirConstraintProto&& from) noexcept
4507 : ReservoirConstraintProto(arena) {
4508 *this = ::std::move(from);
4509 }
4510 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4511 static void* PROTOBUF_NONNULL PlacementNew_(
4512 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4513 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4514 static constexpr auto InternalNewImpl_();
4515
4516 public:
4517 static constexpr auto InternalGenerateClassData_();
4518
4519 ::google::protobuf::Metadata GetMetadata() const;
4520 // nested types ----------------------------------------------------
4521
4522 // accessors -------------------------------------------------------
4523 enum : int {
4530 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
4531 int time_exprs_size() const;
4532 private:
4533 int _internal_time_exprs_size() const;
4534
4535 public:
4536 void clear_time_exprs() ;
4537 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_time_exprs(int index);
4538 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_time_exprs();
4539
4540 private:
4541 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_time_exprs() const;
4542 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_time_exprs();
4543 public:
4544 const ::operations_research::sat::LinearExpressionProto& time_exprs(int index) const;
4546 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& time_exprs() const;
4547 // repeated int32 active_literals = 5;
4549 private:
4550 int _internal_active_literals_size() const;
4551
4552 public:
4553 void clear_active_literals() ;
4554 ::int32_t active_literals(int index) const;
4555 void set_active_literals(int index, ::int32_t value);
4556 void add_active_literals(::int32_t value);
4557 const ::google::protobuf::RepeatedField<::int32_t>& active_literals() const;
4558 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_active_literals();
4559
4560 private:
4561 const ::google::protobuf::RepeatedField<::int32_t>& _internal_active_literals() const;
4562 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_active_literals();
4563
4564 public:
4565 // repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
4566 int level_changes_size() const;
4567 private:
4568 int _internal_level_changes_size() const;
4569
4570 public:
4571 void clear_level_changes() ;
4573 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_level_changes();
4574
4575 private:
4576 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_level_changes() const;
4577 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_level_changes();
4578 public:
4579 const ::operations_research::sat::LinearExpressionProto& level_changes(int index) const;
4581 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& level_changes() const;
4582 // int64 min_level = 1;
4583 void clear_min_level() ;
4584 ::int64_t min_level() const;
4585 void set_min_level(::int64_t value);
4586
4587 private:
4588 ::int64_t _internal_min_level() const;
4589 void _internal_set_min_level(::int64_t value);
4590
4591 public:
4592 // int64 max_level = 2;
4593 void clear_max_level() ;
4594 ::int64_t max_level() const;
4595 void set_max_level(::int64_t value);
4596
4597 private:
4598 ::int64_t _internal_max_level() const;
4599 void _internal_set_max_level(::int64_t value);
4600
4601 public:
4602 // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
4603 private:
4604 class _Internal;
4605 friend class ::google::protobuf::internal::TcParser;
4606 static const ::google::protobuf::internal::TcParseTable<3, 5,
4607 2, 0,
4608 2>
4609 _table_;
4610
4611 friend class ::google::protobuf::MessageLite;
4612 friend class ::google::protobuf::Arena;
4613 template <typename T>
4614 friend class ::google::protobuf::Arena::InternalHelper;
4615 using InternalArenaConstructable_ = void;
4616 using DestructorSkippable_ = void;
4617 struct Impl_ {
4618 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4619 inline explicit Impl_(
4620 ::google::protobuf::internal::InternalVisibility visibility,
4621 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4622 inline explicit Impl_(
4623 ::google::protobuf::internal::InternalVisibility visibility,
4624 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4626 ::google::protobuf::internal::HasBits<1> _has_bits_;
4627 ::google::protobuf::internal::CachedSize _cached_size_;
4628 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > time_exprs_;
4629 ::google::protobuf::RepeatedField<::int32_t> active_literals_;
4630 ::google::protobuf::internal::CachedSize _active_literals_cached_byte_size_;
4631 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > level_changes_;
4632 ::int64_t min_level_;
4633 ::int64_t max_level_;
4634 PROTOBUF_TSAN_DECLARE_MEMBER
4635 };
4636 union { Impl_ _impl_; };
4637 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4638};
4639
4640OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ReservoirConstraintProto_class_data_;
4641// -------------------------------------------------------------------
4642
4643class OR_PROTO_DLL LinearArgumentProto final : public ::google::protobuf::Message
4644/* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
4645 public:
4646 inline LinearArgumentProto() : LinearArgumentProto(nullptr) {}
4647 ~LinearArgumentProto() PROTOBUF_FINAL;
4648
4649#if defined(PROTOBUF_CUSTOM_VTABLE)
4650 void operator delete(LinearArgumentProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
4651 SharedDtor(*msg);
4652 ::google::protobuf::internal::SizedDelete(msg, sizeof(LinearArgumentProto));
4653 }
4654#endif
4655
4656 template <typename = void>
4657 explicit PROTOBUF_CONSTEXPR LinearArgumentProto(::google::protobuf::internal::ConstantInitialized);
4658
4659 inline LinearArgumentProto(const LinearArgumentProto& from) : LinearArgumentProto(nullptr, from) {}
4660 inline LinearArgumentProto(LinearArgumentProto&& from) noexcept
4661 : LinearArgumentProto(nullptr, ::std::move(from)) {}
4662 inline LinearArgumentProto& operator=(const LinearArgumentProto& from) {
4663 CopyFrom(from);
4664 return *this;
4665 }
4666 inline LinearArgumentProto& operator=(LinearArgumentProto&& from) noexcept {
4667 if (this == &from) return *this;
4668 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4669 InternalSwap(&from);
4670 } else {
4671 CopyFrom(from);
4672 }
4673 return *this;
4674 }
4675
4676 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4677 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4678 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4679 }
4680 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4681 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4682 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4684
4685 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4686 return GetDescriptor();
4688 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4689 return default_instance().GetMetadata().descriptor;
4690 }
4691 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4692 return default_instance().GetMetadata().reflection;
4693 }
4694 static const LinearArgumentProto& default_instance() {
4695 return *reinterpret_cast<const LinearArgumentProto*>(
4696 &_LinearArgumentProto_default_instance_);
4698 static constexpr int kIndexInFileMessages = 3;
4699 friend void swap(LinearArgumentProto& a, LinearArgumentProto& b) { a.Swap(&b); }
4700 inline void Swap(LinearArgumentProto* PROTOBUF_NONNULL other) {
4701 if (other == this) return;
4702 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4703 InternalSwap(other);
4704 } else {
4705 ::google::protobuf::internal::GenericSwap(this, other);
4707 }
4708 void UnsafeArenaSwap(LinearArgumentProto* PROTOBUF_NONNULL other) {
4709 if (other == this) return;
4710 ABSL_DCHECK(GetArena() == other->GetArena());
4711 InternalSwap(other);
4713
4714 // implements Message ----------------------------------------------
4716 LinearArgumentProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4717 return ::google::protobuf::Message::DefaultConstruct<LinearArgumentProto>(arena);
4718 }
4719 using ::google::protobuf::Message::CopyFrom;
4721 using ::google::protobuf::Message::MergeFrom;
4722 void MergeFrom(const LinearArgumentProto& from) { LinearArgumentProto::MergeImpl(*this, from); }
4723
4724 private:
4725 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4726 const ::google::protobuf::MessageLite& from_msg);
4727
4728 public:
4729 bool IsInitialized() const {
4730 return true;
4731 }
4732 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4733 #if defined(PROTOBUF_CUSTOM_VTABLE)
4734 private:
4735 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4736 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4737 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4738 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4739
4740 public:
4741 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4742 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4743 ::uint8_t* PROTOBUF_NONNULL target,
4744 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4745 return _InternalSerialize(*this, target, stream);
4746 }
4747 #else // PROTOBUF_CUSTOM_VTABLE
4748 ::size_t ByteSizeLong() const final;
4749 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4750 ::uint8_t* PROTOBUF_NONNULL target,
4751 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4752 #endif // PROTOBUF_CUSTOM_VTABLE
4753 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4754
4755 private:
4756 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4757 static void SharedDtor(MessageLite& self);
4758 void InternalSwap(LinearArgumentProto* PROTOBUF_NONNULL other);
4759 private:
4760 template <typename T>
4761 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4762 static ::absl::string_view FullMessageName() { return "operations_research.sat.LinearArgumentProto"; }
4763
4764 protected:
4765 explicit LinearArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4766 LinearArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LinearArgumentProto& from);
4767 LinearArgumentProto(
4768 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LinearArgumentProto&& from) noexcept
4769 : LinearArgumentProto(arena) {
4770 *this = ::std::move(from);
4771 }
4772 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4773 static void* PROTOBUF_NONNULL PlacementNew_(
4774 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4775 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4776 static constexpr auto InternalNewImpl_();
4777
4778 public:
4779 static constexpr auto InternalGenerateClassData_();
4780
4781 ::google::protobuf::Metadata GetMetadata() const;
4782 // nested types ----------------------------------------------------
4783
4784 // accessors -------------------------------------------------------
4785 enum : int {
4789 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
4790 int exprs_size() const;
4791 private:
4792 int _internal_exprs_size() const;
4793
4794 public:
4795 void clear_exprs() ;
4796 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_exprs(int index);
4797 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
4798
4799 private:
4800 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
4801 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
4802 public:
4803 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
4804 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL add_exprs();
4805 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
4806 // .operations_research.sat.LinearExpressionProto target = 1;
4807 bool has_target() const;
4809 const ::operations_research::sat::LinearExpressionProto& target() const;
4810 [[nodiscard]] ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE release_target();
4815
4816 private:
4817 const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
4818 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_target();
4819
4820 public:
4821 // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
4822 private:
4823 class _Internal;
4824 friend class ::google::protobuf::internal::TcParser;
4825 static const ::google::protobuf::internal::TcParseTable<1, 2,
4826 2, 0,
4827 2>
4828 _table_;
4829
4830 friend class ::google::protobuf::MessageLite;
4831 friend class ::google::protobuf::Arena;
4832 template <typename T>
4833 friend class ::google::protobuf::Arena::InternalHelper;
4834 using InternalArenaConstructable_ = void;
4835 using DestructorSkippable_ = void;
4836 struct Impl_ {
4837 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4838 inline explicit Impl_(
4839 ::google::protobuf::internal::InternalVisibility visibility,
4840 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4841 inline explicit Impl_(
4842 ::google::protobuf::internal::InternalVisibility visibility,
4843 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4844 const LinearArgumentProto& from_msg);
4845 ::google::protobuf::internal::HasBits<1> _has_bits_;
4846 ::google::protobuf::internal::CachedSize _cached_size_;
4847 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
4848 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE target_;
4849 PROTOBUF_TSAN_DECLARE_MEMBER
4850 };
4851 union { Impl_ _impl_; };
4852 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4853};
4855OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearArgumentProto_class_data_;
4856// -------------------------------------------------------------------
4857
4858class OR_PROTO_DLL IntervalConstraintProto final : public ::google::protobuf::Message
4859/* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
4860 public:
4862 ~IntervalConstraintProto() PROTOBUF_FINAL;
4863
4864#if defined(PROTOBUF_CUSTOM_VTABLE)
4865 void operator delete(IntervalConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
4866 SharedDtor(*msg);
4867 ::google::protobuf::internal::SizedDelete(msg, sizeof(IntervalConstraintProto));
4868 }
4869#endif
4870
4871 template <typename = void>
4872 explicit PROTOBUF_CONSTEXPR IntervalConstraintProto(::google::protobuf::internal::ConstantInitialized);
4874 inline IntervalConstraintProto(const IntervalConstraintProto& from) : IntervalConstraintProto(nullptr, from) {}
4875 inline IntervalConstraintProto(IntervalConstraintProto&& from) noexcept
4876 : IntervalConstraintProto(nullptr, ::std::move(from)) {}
4877 inline IntervalConstraintProto& operator=(const IntervalConstraintProto& from) {
4878 CopyFrom(from);
4879 return *this;
4881 inline IntervalConstraintProto& operator=(IntervalConstraintProto&& from) noexcept {
4882 if (this == &from) return *this;
4883 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4884 InternalSwap(&from);
4885 } else {
4886 CopyFrom(from);
4887 }
4888 return *this;
4889 }
4890
4891 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4892 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4893 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4895 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4896 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4897 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4898 }
4900 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4901 return GetDescriptor();
4902 }
4903 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4904 return default_instance().GetMetadata().descriptor;
4905 }
4906 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4907 return default_instance().GetMetadata().reflection;
4908 }
4909 static const IntervalConstraintProto& default_instance() {
4910 return *reinterpret_cast<const IntervalConstraintProto*>(
4911 &_IntervalConstraintProto_default_instance_);
4912 }
4913 static constexpr int kIndexInFileMessages = 7;
4914 friend void swap(IntervalConstraintProto& a, IntervalConstraintProto& b) { a.Swap(&b); }
4915 inline void Swap(IntervalConstraintProto* PROTOBUF_NONNULL other) {
4916 if (other == this) return;
4917 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4918 InternalSwap(other);
4919 } else {
4920 ::google::protobuf::internal::GenericSwap(this, other);
4921 }
4923 void UnsafeArenaSwap(IntervalConstraintProto* PROTOBUF_NONNULL other) {
4924 if (other == this) return;
4925 ABSL_DCHECK(GetArena() == other->GetArena());
4926 InternalSwap(other);
4927 }
4929 // implements Message ----------------------------------------------
4930
4931 IntervalConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4932 return ::google::protobuf::Message::DefaultConstruct<IntervalConstraintProto>(arena);
4933 }
4934 using ::google::protobuf::Message::CopyFrom;
4936 using ::google::protobuf::Message::MergeFrom;
4937 void MergeFrom(const IntervalConstraintProto& from) { IntervalConstraintProto::MergeImpl(*this, from); }
4938
4939 private:
4940 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4941 const ::google::protobuf::MessageLite& from_msg);
4942
4943 public:
4944 bool IsInitialized() const {
4945 return true;
4946 }
4947 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4948 #if defined(PROTOBUF_CUSTOM_VTABLE)
4949 private:
4950 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4951 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4952 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4953 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4954
4955 public:
4956 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4957 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4958 ::uint8_t* PROTOBUF_NONNULL target,
4959 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4960 return _InternalSerialize(*this, target, stream);
4961 }
4962 #else // PROTOBUF_CUSTOM_VTABLE
4963 ::size_t ByteSizeLong() const final;
4964 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4965 ::uint8_t* PROTOBUF_NONNULL target,
4966 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4967 #endif // PROTOBUF_CUSTOM_VTABLE
4968 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4969
4970 private:
4971 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4972 static void SharedDtor(MessageLite& self);
4973 void InternalSwap(IntervalConstraintProto* PROTOBUF_NONNULL other);
4974 private:
4975 template <typename T>
4976 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4977 static ::absl::string_view FullMessageName() { return "operations_research.sat.IntervalConstraintProto"; }
4978
4979 protected:
4980 explicit IntervalConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4981 IntervalConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IntervalConstraintProto& from);
4982 IntervalConstraintProto(
4983 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, IntervalConstraintProto&& from) noexcept
4984 : IntervalConstraintProto(arena) {
4985 *this = ::std::move(from);
4986 }
4987 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4988 static void* PROTOBUF_NONNULL PlacementNew_(
4989 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4990 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4991 static constexpr auto InternalNewImpl_();
4992
4993 public:
4994 static constexpr auto InternalGenerateClassData_();
4995
4996 ::google::protobuf::Metadata GetMetadata() const;
4997 // nested types ----------------------------------------------------
4998
4999 // accessors -------------------------------------------------------
5000 enum : int {
5002 kEndFieldNumber = 5,
5003 kSizeFieldNumber = 6,
5005 // .operations_research.sat.LinearExpressionProto start = 4;
5006 bool has_start() const;
5007 void clear_start() ;
5008 const ::operations_research::sat::LinearExpressionProto& start() const;
5009 [[nodiscard]] ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE release_start();
5010 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_start();
5011 void set_allocated_start(::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value);
5012 void unsafe_arena_set_allocated_start(::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value);
5013 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE unsafe_arena_release_start();
5014
5015 private:
5016 const ::operations_research::sat::LinearExpressionProto& _internal_start() const;
5017 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_start();
5018
5019 public:
5020 // .operations_research.sat.LinearExpressionProto end = 5;
5021 bool has_end() const;
5022 void clear_end() ;
5023 const ::operations_research::sat::LinearExpressionProto& end() const;
5029
5030 private:
5031 const ::operations_research::sat::LinearExpressionProto& _internal_end() const;
5032 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_end();
5033
5034 public:
5035 // .operations_research.sat.LinearExpressionProto size = 6;
5036 bool has_size() const;
5037 void clear_size() ;
5038 const ::operations_research::sat::LinearExpressionProto& size() const;
5039 [[nodiscard]] ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE release_size();
5044
5045 private:
5046 const ::operations_research::sat::LinearExpressionProto& _internal_size() const;
5047 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_size();
5048
5049 public:
5050 // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
5051 private:
5052 class _Internal;
5053 friend class ::google::protobuf::internal::TcParser;
5054 static const ::google::protobuf::internal::TcParseTable<2, 3,
5055 3, 0,
5056 2>
5057 _table_;
5058
5059 friend class ::google::protobuf::MessageLite;
5060 friend class ::google::protobuf::Arena;
5061 template <typename T>
5062 friend class ::google::protobuf::Arena::InternalHelper;
5063 using InternalArenaConstructable_ = void;
5064 using DestructorSkippable_ = void;
5065 struct Impl_ {
5066 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5067 inline explicit Impl_(
5068 ::google::protobuf::internal::InternalVisibility visibility,
5069 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5070 inline explicit Impl_(
5071 ::google::protobuf::internal::InternalVisibility visibility,
5072 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5073 const IntervalConstraintProto& from_msg);
5074 ::google::protobuf::internal::HasBits<1> _has_bits_;
5075 ::google::protobuf::internal::CachedSize _cached_size_;
5076 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE start_;
5079 PROTOBUF_TSAN_DECLARE_MEMBER
5080 };
5081 union { Impl_ _impl_; };
5082 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5083};
5085OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull IntervalConstraintProto_class_data_;
5086// -------------------------------------------------------------------
5087
5088class OR_PROTO_DLL ElementConstraintProto final : public ::google::protobuf::Message
5089/* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
5090 public:
5091 inline ElementConstraintProto() : ElementConstraintProto(nullptr) {}
5092 ~ElementConstraintProto() PROTOBUF_FINAL;
5093
5094#if defined(PROTOBUF_CUSTOM_VTABLE)
5095 void operator delete(ElementConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
5096 SharedDtor(*msg);
5097 ::google::protobuf::internal::SizedDelete(msg, sizeof(ElementConstraintProto));
5098 }
5099#endif
5100
5101 template <typename = void>
5102 explicit PROTOBUF_CONSTEXPR ElementConstraintProto(::google::protobuf::internal::ConstantInitialized);
5105 inline ElementConstraintProto(ElementConstraintProto&& from) noexcept
5106 : ElementConstraintProto(nullptr, ::std::move(from)) {}
5107 inline ElementConstraintProto& operator=(const ElementConstraintProto& from) {
5108 CopyFrom(from);
5109 return *this;
5110 }
5112 if (this == &from) return *this;
5113 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5114 InternalSwap(&from);
5115 } else {
5116 CopyFrom(from);
5117 }
5118 return *this;
5119 }
5120
5121 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5122 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5123 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5124 }
5125 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5126 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5127 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5129
5130 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5131 return GetDescriptor();
5132 }
5133 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5134 return default_instance().GetMetadata().descriptor;
5135 }
5136 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5137 return default_instance().GetMetadata().reflection;
5138 }
5139 static const ElementConstraintProto& default_instance() {
5140 return *reinterpret_cast<const ElementConstraintProto*>(
5141 &_ElementConstraintProto_default_instance_);
5142 }
5143 static constexpr int kIndexInFileMessages = 6;
5145 inline void Swap(ElementConstraintProto* PROTOBUF_NONNULL other) {
5146 if (other == this) return;
5147 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5148 InternalSwap(other);
5149 } else {
5150 ::google::protobuf::internal::GenericSwap(this, other);
5151 }
5152 }
5153 void UnsafeArenaSwap(ElementConstraintProto* PROTOBUF_NONNULL other) {
5154 if (other == this) return;
5155 ABSL_DCHECK(GetArena() == other->GetArena());
5156 InternalSwap(other);
5157 }
5158
5159 // implements Message ----------------------------------------------
5160
5161 ElementConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5162 return ::google::protobuf::Message::DefaultConstruct<ElementConstraintProto>(arena);
5163 }
5164 using ::google::protobuf::Message::CopyFrom;
5165 void CopyFrom(const ElementConstraintProto& from);
5166 using ::google::protobuf::Message::MergeFrom;
5167 void MergeFrom(const ElementConstraintProto& from) { ElementConstraintProto::MergeImpl(*this, from); }
5169 private:
5170 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5171 const ::google::protobuf::MessageLite& from_msg);
5172
5173 public:
5174 bool IsInitialized() const {
5175 return true;
5177 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5178 #if defined(PROTOBUF_CUSTOM_VTABLE)
5179 private:
5180 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5181 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5182 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5183 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5185 public:
5186 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5187 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5188 ::uint8_t* PROTOBUF_NONNULL target,
5189 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5190 return _InternalSerialize(*this, target, stream);
5191 }
5192 #else // PROTOBUF_CUSTOM_VTABLE
5193 ::size_t ByteSizeLong() const final;
5194 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5195 ::uint8_t* PROTOBUF_NONNULL target,
5196 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5197 #endif // PROTOBUF_CUSTOM_VTABLE
5198 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5199
5200 private:
5201 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5202 static void SharedDtor(MessageLite& self);
5203 void InternalSwap(ElementConstraintProto* PROTOBUF_NONNULL other);
5204 private:
5205 template <typename T>
5206 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5207 static ::absl::string_view FullMessageName() { return "operations_research.sat.ElementConstraintProto"; }
5208
5209 protected:
5210 explicit ElementConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5211 ElementConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ElementConstraintProto& from);
5212 ElementConstraintProto(
5213 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ElementConstraintProto&& from) noexcept
5214 : ElementConstraintProto(arena) {
5215 *this = ::std::move(from);
5216 }
5217 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
5218 static void* PROTOBUF_NONNULL PlacementNew_(
5219 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5220 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5221 static constexpr auto InternalNewImpl_();
5222
5223 public:
5224 static constexpr auto InternalGenerateClassData_();
5225
5226 ::google::protobuf::Metadata GetMetadata() const;
5227 // nested types ----------------------------------------------------
5228
5229 // accessors -------------------------------------------------------
5230 enum : int {
5231 kVarsFieldNumber = 3,
5237 };
5238 // repeated int32 vars = 3;
5239 int vars_size() const;
5240 private:
5241 int _internal_vars_size() const;
5242
5243 public:
5244 void clear_vars() ;
5245 ::int32_t vars(int index) const;
5246 void set_vars(int index, ::int32_t value);
5247 void add_vars(::int32_t value);
5248 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
5249 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
5250
5251 private:
5252 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
5253 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
5255 public:
5256 // repeated .operations_research.sat.LinearExpressionProto exprs = 6;
5257 int exprs_size() const;
5258 private:
5259 int _internal_exprs_size() const;
5260
5261 public:
5262 void clear_exprs() ;
5264 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
5265
5266 private:
5267 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
5268 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
5269 public:
5270 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
5272 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
5273 // .operations_research.sat.LinearExpressionProto linear_index = 4;
5274 bool has_linear_index() const;
5275 void clear_linear_index() ;
5276 const ::operations_research::sat::LinearExpressionProto& linear_index() const;
5282
5283 private:
5284 const ::operations_research::sat::LinearExpressionProto& _internal_linear_index() const;
5285 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_linear_index();
5286
5287 public:
5288 // .operations_research.sat.LinearExpressionProto linear_target = 5;
5289 bool has_linear_target() const;
5290 void clear_linear_target() ;
5291 const ::operations_research::sat::LinearExpressionProto& linear_target() const;
5297
5298 private:
5299 const ::operations_research::sat::LinearExpressionProto& _internal_linear_target() const;
5300 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_linear_target();
5301
5302 public:
5303 // int32 index = 1;
5304 void clear_index() ;
5305 ::int32_t index() const;
5306 void set_index(::int32_t value);
5307
5308 private:
5309 ::int32_t _internal_index() const;
5310 void _internal_set_index(::int32_t value);
5311
5312 public:
5313 // int32 target = 2;
5314 void clear_target() ;
5315 ::int32_t target() const;
5316 void set_target(::int32_t value);
5317
5318 private:
5319 ::int32_t _internal_target() const;
5320 void _internal_set_target(::int32_t value);
5321
5322 public:
5323 // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
5324 private:
5325 class _Internal;
5326 friend class ::google::protobuf::internal::TcParser;
5327 static const ::google::protobuf::internal::TcParseTable<3, 6,
5328 3, 0,
5329 2>
5330 _table_;
5331
5332 friend class ::google::protobuf::MessageLite;
5333 friend class ::google::protobuf::Arena;
5334 template <typename T>
5335 friend class ::google::protobuf::Arena::InternalHelper;
5336 using InternalArenaConstructable_ = void;
5337 using DestructorSkippable_ = void;
5338 struct Impl_ {
5339 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5340 inline explicit Impl_(
5341 ::google::protobuf::internal::InternalVisibility visibility,
5342 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5343 inline explicit Impl_(
5344 ::google::protobuf::internal::InternalVisibility visibility,
5345 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5346 const ElementConstraintProto& from_msg);
5347 ::google::protobuf::internal::HasBits<1> _has_bits_;
5348 ::google::protobuf::internal::CachedSize _cached_size_;
5349 ::google::protobuf::RepeatedField<::int32_t> vars_;
5350 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
5351 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
5352 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE linear_index_;
5353 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE linear_target_;
5354 ::int32_t index_;
5355 ::int32_t target_;
5356 PROTOBUF_TSAN_DECLARE_MEMBER
5357 };
5358 union { Impl_ _impl_; };
5359 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5360};
5361
5362OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ElementConstraintProto_class_data_;
5363// -------------------------------------------------------------------
5364
5365class OR_PROTO_DLL DecisionStrategyProto final : public ::google::protobuf::Message
5366/* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
5367 public:
5368 inline DecisionStrategyProto() : DecisionStrategyProto(nullptr) {}
5369 ~DecisionStrategyProto() PROTOBUF_FINAL;
5370
5371#if defined(PROTOBUF_CUSTOM_VTABLE)
5372 void operator delete(DecisionStrategyProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
5373 SharedDtor(*msg);
5374 ::google::protobuf::internal::SizedDelete(msg, sizeof(DecisionStrategyProto));
5375 }
5376#endif
5377
5378 template <typename = void>
5379 explicit PROTOBUF_CONSTEXPR DecisionStrategyProto(::google::protobuf::internal::ConstantInitialized);
5380
5383 : DecisionStrategyProto(nullptr, ::std::move(from)) {}
5384 inline DecisionStrategyProto& operator=(const DecisionStrategyProto& from) {
5385 CopyFrom(from);
5386 return *this;
5387 }
5388 inline DecisionStrategyProto& operator=(DecisionStrategyProto&& from) noexcept {
5389 if (this == &from) return *this;
5390 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5391 InternalSwap(&from);
5392 } else {
5393 CopyFrom(from);
5394 }
5395 return *this;
5396 }
5397
5398 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5399 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5400 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5401 }
5402 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5403 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5404 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5407 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5409 }
5410 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5411 return default_instance().GetMetadata().descriptor;
5413 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5414 return default_instance().GetMetadata().reflection;
5415 }
5416 static const DecisionStrategyProto& default_instance() {
5417 return *reinterpret_cast<const DecisionStrategyProto*>(
5418 &_DecisionStrategyProto_default_instance_);
5419 }
5420 static constexpr int kIndexInFileMessages = 22;
5421 friend void swap(DecisionStrategyProto& a, DecisionStrategyProto& b) { a.Swap(&b); }
5422 inline void Swap(DecisionStrategyProto* PROTOBUF_NONNULL other) {
5423 if (other == this) return;
5424 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5425 InternalSwap(other);
5426 } else {
5427 ::google::protobuf::internal::GenericSwap(this, other);
5428 }
5429 }
5430 void UnsafeArenaSwap(DecisionStrategyProto* PROTOBUF_NONNULL other) {
5431 if (other == this) return;
5432 ABSL_DCHECK(GetArena() == other->GetArena());
5433 InternalSwap(other);
5435
5436 // implements Message ----------------------------------------------
5438 DecisionStrategyProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5439 return ::google::protobuf::Message::DefaultConstruct<DecisionStrategyProto>(arena);
5441 using ::google::protobuf::Message::CopyFrom;
5442 void CopyFrom(const DecisionStrategyProto& from);
5443 using ::google::protobuf::Message::MergeFrom;
5444 void MergeFrom(const DecisionStrategyProto& from) { DecisionStrategyProto::MergeImpl(*this, from); }
5446 private:
5447 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5448 const ::google::protobuf::MessageLite& from_msg);
5449
5450 public:
5451 bool IsInitialized() const {
5452 return true;
5453 }
5454 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5455 #if defined(PROTOBUF_CUSTOM_VTABLE)
5456 private:
5457 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5458 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5459 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5460 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5461
5462 public:
5463 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5464 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5465 ::uint8_t* PROTOBUF_NONNULL target,
5466 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5467 return _InternalSerialize(*this, target, stream);
5469 #else // PROTOBUF_CUSTOM_VTABLE
5470 ::size_t ByteSizeLong() const final;
5471 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5472 ::uint8_t* PROTOBUF_NONNULL target,
5473 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5474 #endif // PROTOBUF_CUSTOM_VTABLE
5475 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5476
5477 private:
5478 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5479 static void SharedDtor(MessageLite& self);
5480 void InternalSwap(DecisionStrategyProto* PROTOBUF_NONNULL other);
5481 private:
5482 template <typename T>
5483 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5484 static ::absl::string_view FullMessageName() { return "operations_research.sat.DecisionStrategyProto"; }
5485
5486 protected:
5487 explicit DecisionStrategyProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5488 DecisionStrategyProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DecisionStrategyProto& from);
5489 DecisionStrategyProto(
5490 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DecisionStrategyProto&& from) noexcept
5491 : DecisionStrategyProto(arena) {
5492 *this = ::std::move(from);
5493 }
5494 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
5495 static void* PROTOBUF_NONNULL PlacementNew_(
5496 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5497 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5498 static constexpr auto InternalNewImpl_();
5500 public:
5501 static constexpr auto InternalGenerateClassData_();
5502
5503 ::google::protobuf::Metadata GetMetadata() const;
5504 // nested types ----------------------------------------------------
5511 static inline bool VariableSelectionStrategy_IsValid(int value) {
5514 static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN = DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN;
5515 static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX = DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX;
5516 static constexpr int VariableSelectionStrategy_ARRAYSIZE = DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE;
5517 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL VariableSelectionStrategy_descriptor() {
5519 }
5520 template <typename T>
5521 static inline const ::std::string& VariableSelectionStrategy_Name(T value) {
5522 return DecisionStrategyProto_VariableSelectionStrategy_Name(value);
5523 }
5524 static inline bool VariableSelectionStrategy_Parse(
5525 ::absl::string_view name, VariableSelectionStrategy* PROTOBUF_NONNULL value) {
5526 return DecisionStrategyProto_VariableSelectionStrategy_Parse(name, value);
5527 }
5528 using DomainReductionStrategy = DecisionStrategyProto_DomainReductionStrategy;
5535 static inline bool DomainReductionStrategy_IsValid(int value) {
5537 }
5541 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL DomainReductionStrategy_descriptor() {
5543 }
5544 template <typename T>
5545 static inline const ::std::string& DomainReductionStrategy_Name(T value) {
5547 }
5549 ::absl::string_view name, DomainReductionStrategy* PROTOBUF_NONNULL value) {
5551 }
5553 // accessors -------------------------------------------------------
5554 enum : int {
5560 // repeated int32 variables = 1;
5561 int variables_size() const;
5562 private:
5563 int _internal_variables_size() const;
5565 public:
5566 void clear_variables() ;
5567 ::int32_t variables(int index) const;
5568 void set_variables(int index, ::int32_t value);
5569 void add_variables(::int32_t value);
5570 const ::google::protobuf::RepeatedField<::int32_t>& variables() const;
5571 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_variables();
5573 private:
5574 const ::google::protobuf::RepeatedField<::int32_t>& _internal_variables() const;
5575 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_variables();
5576
5577 public:
5578 // repeated .operations_research.sat.LinearExpressionProto exprs = 5;
5579 int exprs_size() const;
5580 private:
5581 int _internal_exprs_size() const;
5583 public:
5584 void clear_exprs() ;
5586 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
5587
5588 private:
5589 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
5590 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
5591 public:
5592 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
5594 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
5595 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
5599
5600 private:
5601 ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
5602 void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
5603
5604 public:
5605 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
5609
5610 private:
5611 ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
5612 void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
5613
5614 public:
5615 // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
5616 private:
5617 class _Internal;
5618 friend class ::google::protobuf::internal::TcParser;
5619 static const ::google::protobuf::internal::TcParseTable<3, 4,
5620 1, 0,
5621 2>
5622 _table_;
5623
5624 friend class ::google::protobuf::MessageLite;
5625 friend class ::google::protobuf::Arena;
5626 template <typename T>
5627 friend class ::google::protobuf::Arena::InternalHelper;
5628 using InternalArenaConstructable_ = void;
5629 using DestructorSkippable_ = void;
5630 struct Impl_ {
5631 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5632 inline explicit Impl_(
5633 ::google::protobuf::internal::InternalVisibility visibility,
5634 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5635 inline explicit Impl_(
5636 ::google::protobuf::internal::InternalVisibility visibility,
5637 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5638 const DecisionStrategyProto& from_msg);
5639 ::google::protobuf::internal::HasBits<1> _has_bits_;
5640 ::google::protobuf::internal::CachedSize _cached_size_;
5641 ::google::protobuf::RepeatedField<::int32_t> variables_;
5642 ::google::protobuf::internal::CachedSize _variables_cached_byte_size_;
5643 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
5644 int variable_selection_strategy_;
5645 int domain_reduction_strategy_;
5646 PROTOBUF_TSAN_DECLARE_MEMBER
5647 };
5648 union { Impl_ _impl_; };
5649 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5650};
5652OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull DecisionStrategyProto_class_data_;
5653// -------------------------------------------------------------------
5654
5655class OR_PROTO_DLL CumulativeConstraintProto final : public ::google::protobuf::Message
5656/* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
5657 public:
5659 ~CumulativeConstraintProto() PROTOBUF_FINAL;
5660
5661#if defined(PROTOBUF_CUSTOM_VTABLE)
5662 void operator delete(CumulativeConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
5663 SharedDtor(*msg);
5664 ::google::protobuf::internal::SizedDelete(msg, sizeof(CumulativeConstraintProto));
5665 }
5666#endif
5667
5668 template <typename = void>
5669 explicit PROTOBUF_CONSTEXPR CumulativeConstraintProto(::google::protobuf::internal::ConstantInitialized);
5670
5673 : CumulativeConstraintProto(nullptr, ::std::move(from)) {}
5674 inline CumulativeConstraintProto& operator=(const CumulativeConstraintProto& from) {
5675 CopyFrom(from);
5676 return *this;
5677 }
5678 inline CumulativeConstraintProto& operator=(CumulativeConstraintProto&& from) noexcept {
5679 if (this == &from) return *this;
5680 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5681 InternalSwap(&from);
5682 } else {
5684 }
5685 return *this;
5686 }
5687
5688 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5689 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5690 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5691 }
5692 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5693 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5694 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5695 }
5697 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5698 return GetDescriptor();
5700 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5701 return default_instance().GetMetadata().descriptor;
5702 }
5703 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5704 return default_instance().GetMetadata().reflection;
5705 }
5706 static const CumulativeConstraintProto& default_instance() {
5707 return *reinterpret_cast<const CumulativeConstraintProto*>(
5709 }
5710 static constexpr int kIndexInFileMessages = 10;
5711 friend void swap(CumulativeConstraintProto& a, CumulativeConstraintProto& b) { a.Swap(&b); }
5712 inline void Swap(CumulativeConstraintProto* PROTOBUF_NONNULL other) {
5713 if (other == this) return;
5714 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5715 InternalSwap(other);
5716 } else {
5717 ::google::protobuf::internal::GenericSwap(this, other);
5718 }
5719 }
5720 void UnsafeArenaSwap(CumulativeConstraintProto* PROTOBUF_NONNULL other) {
5721 if (other == this) return;
5722 ABSL_DCHECK(GetArena() == other->GetArena());
5723 InternalSwap(other);
5724 }
5726 // implements Message ----------------------------------------------
5727
5728 CumulativeConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5729 return ::google::protobuf::Message::DefaultConstruct<CumulativeConstraintProto>(arena);
5730 }
5731 using ::google::protobuf::Message::CopyFrom;
5732 void CopyFrom(const CumulativeConstraintProto& from);
5733 using ::google::protobuf::Message::MergeFrom;
5734 void MergeFrom(const CumulativeConstraintProto& from) { CumulativeConstraintProto::MergeImpl(*this, from); }
5736 private:
5737 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5738 const ::google::protobuf::MessageLite& from_msg);
5739
5740 public:
5741 bool IsInitialized() const {
5742 return true;
5743 }
5744 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5745 #if defined(PROTOBUF_CUSTOM_VTABLE)
5746 private:
5747 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5748 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5749 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5750 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5751
5752 public:
5753 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5754 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5755 ::uint8_t* PROTOBUF_NONNULL target,
5756 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5757 return _InternalSerialize(*this, target, stream);
5758 }
5759 #else // PROTOBUF_CUSTOM_VTABLE
5760 ::size_t ByteSizeLong() const final;
5761 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5762 ::uint8_t* PROTOBUF_NONNULL target,
5763 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5764 #endif // PROTOBUF_CUSTOM_VTABLE
5765 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5767 private:
5768 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5769 static void SharedDtor(MessageLite& self);
5770 void InternalSwap(CumulativeConstraintProto* PROTOBUF_NONNULL other);
5771 private:
5772 template <typename T>
5773 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5774 static ::absl::string_view FullMessageName() { return "operations_research.sat.CumulativeConstraintProto"; }
5775
5776 protected:
5777 explicit CumulativeConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5778 CumulativeConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CumulativeConstraintProto& from);
5780 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CumulativeConstraintProto&& from) noexcept
5781 : CumulativeConstraintProto(arena) {
5782 *this = ::std::move(from);
5783 }
5784 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
5785 static void* PROTOBUF_NONNULL PlacementNew_(
5786 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5787 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5788 static constexpr auto InternalNewImpl_();
5789
5790 public:
5791 static constexpr auto InternalGenerateClassData_();
5792
5793 ::google::protobuf::Metadata GetMetadata() const;
5794 // nested types ----------------------------------------------------
5795
5796 // accessors -------------------------------------------------------
5797 enum : int {
5801 };
5802 // repeated int32 intervals = 2;
5803 int intervals_size() const;
5804 private:
5805 int _internal_intervals_size() const;
5806
5807 public:
5808 void clear_intervals() ;
5809 ::int32_t intervals(int index) const;
5810 void set_intervals(int index, ::int32_t value);
5811 void add_intervals(::int32_t value);
5812 const ::google::protobuf::RepeatedField<::int32_t>& intervals() const;
5813 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_intervals();
5814
5815 private:
5816 const ::google::protobuf::RepeatedField<::int32_t>& _internal_intervals() const;
5817 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_intervals();
5818
5819 public:
5820 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
5821 int demands_size() const;
5822 private:
5823 int _internal_demands_size() const;
5825 public:
5826 void clear_demands() ;
5828 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_demands();
5829
5830 private:
5831 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_demands() const;
5832 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_demands();
5833 public:
5834 const ::operations_research::sat::LinearExpressionProto& demands(int index) const;
5836 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& demands() const;
5837 // .operations_research.sat.LinearExpressionProto capacity = 1;
5838 bool has_capacity() const;
5839 void clear_capacity() ;
5840 const ::operations_research::sat::LinearExpressionProto& capacity() const;
5846
5847 private:
5848 const ::operations_research::sat::LinearExpressionProto& _internal_capacity() const;
5849 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_capacity();
5850
5851 public:
5852 // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
5853 private:
5854 class _Internal;
5855 friend class ::google::protobuf::internal::TcParser;
5856 static const ::google::protobuf::internal::TcParseTable<2, 3,
5857 2, 0,
5858 2>
5859 _table_;
5860
5861 friend class ::google::protobuf::MessageLite;
5862 friend class ::google::protobuf::Arena;
5863 template <typename T>
5864 friend class ::google::protobuf::Arena::InternalHelper;
5865 using InternalArenaConstructable_ = void;
5866 using DestructorSkippable_ = void;
5867 struct Impl_ {
5868 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5869 inline explicit Impl_(
5870 ::google::protobuf::internal::InternalVisibility visibility,
5871 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5872 inline explicit Impl_(
5873 ::google::protobuf::internal::InternalVisibility visibility,
5874 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5875 const CumulativeConstraintProto& from_msg);
5876 ::google::protobuf::internal::HasBits<1> _has_bits_;
5877 ::google::protobuf::internal::CachedSize _cached_size_;
5878 ::google::protobuf::RepeatedField<::int32_t> intervals_;
5879 ::google::protobuf::internal::CachedSize _intervals_cached_byte_size_;
5880 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > demands_;
5881 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE capacity_;
5882 PROTOBUF_TSAN_DECLARE_MEMBER
5883 };
5884 union { Impl_ _impl_; };
5885 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5888OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CumulativeConstraintProto_class_data_;
5889// -------------------------------------------------------------------
5890
5891class OR_PROTO_DLL CpSolverResponse final : public ::google::protobuf::Message
5892/* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
5893 public:
5894 inline CpSolverResponse() : CpSolverResponse(nullptr) {}
5895 ~CpSolverResponse() PROTOBUF_FINAL;
5896
5897#if defined(PROTOBUF_CUSTOM_VTABLE)
5898 void operator delete(CpSolverResponse* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
5899 SharedDtor(*msg);
5900 ::google::protobuf::internal::SizedDelete(msg, sizeof(CpSolverResponse));
5901 }
5902#endif
5903
5904 template <typename = void>
5905 explicit PROTOBUF_CONSTEXPR CpSolverResponse(::google::protobuf::internal::ConstantInitialized);
5906
5907 inline CpSolverResponse(const CpSolverResponse& from) : CpSolverResponse(nullptr, from) {}
5908 inline CpSolverResponse(CpSolverResponse&& from) noexcept
5909 : CpSolverResponse(nullptr, ::std::move(from)) {}
5911 CopyFrom(from);
5912 return *this;
5913 }
5914 inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
5915 if (this == &from) return *this;
5916 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5917 InternalSwap(&from);
5918 } else {
5919 CopyFrom(from);
5921 return *this;
5922 }
5923
5924 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5925 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5926 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5927 }
5928 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5929 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5930 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5932
5933 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5935 }
5936 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5937 return default_instance().GetMetadata().descriptor;
5938 }
5939 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5940 return default_instance().GetMetadata().reflection;
5941 }
5942 static const CpSolverResponse& default_instance() {
5943 return *reinterpret_cast<const CpSolverResponse*>(
5945 }
5946 static constexpr int kIndexInFileMessages = 29;
5947 friend void swap(CpSolverResponse& a, CpSolverResponse& b) { a.Swap(&b); }
5948 inline void Swap(CpSolverResponse* PROTOBUF_NONNULL other) {
5949 if (other == this) return;
5950 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5951 InternalSwap(other);
5952 } else {
5953 ::google::protobuf::internal::GenericSwap(this, other);
5955 }
5956 void UnsafeArenaSwap(CpSolverResponse* PROTOBUF_NONNULL other) {
5957 if (other == this) return;
5958 ABSL_DCHECK(GetArena() == other->GetArena());
5959 InternalSwap(other);
5960 }
5961
5962 // implements Message ----------------------------------------------
5963
5964 CpSolverResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5965 return ::google::protobuf::Message::DefaultConstruct<CpSolverResponse>(arena);
5966 }
5967 using ::google::protobuf::Message::CopyFrom;
5968 void CopyFrom(const CpSolverResponse& from);
5969 using ::google::protobuf::Message::MergeFrom;
5970 void MergeFrom(const CpSolverResponse& from) { CpSolverResponse::MergeImpl(*this, from); }
5971
5972 private:
5973 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5974 const ::google::protobuf::MessageLite& from_msg);
5975
5976 public:
5977 bool IsInitialized() const {
5978 return true;
5979 }
5980 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5981 #if defined(PROTOBUF_CUSTOM_VTABLE)
5982 private:
5983 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5984 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5985 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5986 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5987
5988 public:
5989 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5990 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5991 ::uint8_t* PROTOBUF_NONNULL target,
5992 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5993 return _InternalSerialize(*this, target, stream);
5994 }
5995 #else // PROTOBUF_CUSTOM_VTABLE
5996 ::size_t ByteSizeLong() const final;
5997 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5998 ::uint8_t* PROTOBUF_NONNULL target,
5999 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
6000 #endif // PROTOBUF_CUSTOM_VTABLE
6001 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6002
6003 private:
6004 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6005 static void SharedDtor(MessageLite& self);
6006 void InternalSwap(CpSolverResponse* PROTOBUF_NONNULL other);
6007 private:
6008 template <typename T>
6009 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
6010 static ::absl::string_view FullMessageName() { return "operations_research.sat.CpSolverResponse"; }
6011
6012 protected:
6013 explicit CpSolverResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6014 CpSolverResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CpSolverResponse& from);
6016 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CpSolverResponse&& from) noexcept
6017 : CpSolverResponse(arena) {
6018 *this = ::std::move(from);
6019 }
6020 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
6021 static void* PROTOBUF_NONNULL PlacementNew_(
6022 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6023 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6024 static constexpr auto InternalNewImpl_();
6025
6026 public:
6027 static constexpr auto InternalGenerateClassData_();
6028
6029 ::google::protobuf::Metadata GetMetadata() const;
6030 // nested types ----------------------------------------------------
6031
6032 // accessors -------------------------------------------------------
6033 enum : int {
6058 };
6059 // repeated int64 solution = 2;
6060 int solution_size() const;
6061 private:
6062 int _internal_solution_size() const;
6064 public:
6066 ::int64_t solution(int index) const;
6067 void set_solution(int index, ::int64_t value);
6068 void add_solution(::int64_t value);
6069 const ::google::protobuf::RepeatedField<::int64_t>& solution() const;
6070 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_solution();
6072 private:
6073 const ::google::protobuf::RepeatedField<::int64_t>& _internal_solution() const;
6074 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_solution();
6076 public:
6077 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
6079 private:
6080 int _internal_tightened_variables_size() const;
6082 public:
6085 ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL mutable_tightened_variables();
6086
6087 private:
6088 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& _internal_tightened_variables() const;
6089 ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL _internal_mutable_tightened_variables();
6090 public:
6091 const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
6093 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& tightened_variables() const;
6094 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
6096 private:
6097 int _internal_sufficient_assumptions_for_infeasibility_size() const;
6098
6099 public:
6101 ::int32_t sufficient_assumptions_for_infeasibility(int index) const;
6102 void set_sufficient_assumptions_for_infeasibility(int index, ::int32_t value);
6104 const ::google::protobuf::RepeatedField<::int32_t>& sufficient_assumptions_for_infeasibility() const;
6105 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_sufficient_assumptions_for_infeasibility();
6106
6107 private:
6108 const ::google::protobuf::RepeatedField<::int32_t>& _internal_sufficient_assumptions_for_infeasibility() const;
6109 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_sufficient_assumptions_for_infeasibility();
6110
6111 public:
6112 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
6113 int additional_solutions_size() const;
6114 private:
6115 int _internal_additional_solutions_size() const;
6116
6117 public:
6120 ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>* PROTOBUF_NONNULL mutable_additional_solutions();
6121
6122 private:
6123 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>& _internal_additional_solutions() const;
6124 ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>* PROTOBUF_NONNULL _internal_mutable_additional_solutions();
6125 public:
6126 const ::operations_research::sat::CpSolverSolution& additional_solutions(int index) const;
6128 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>& additional_solutions() const;
6129 // string solution_info = 20;
6130 void clear_solution_info() ;
6131 const ::std::string& solution_info() const;
6132 template <typename Arg_ = const ::std::string&, typename... Args_>
6133 void set_solution_info(Arg_&& arg, Args_... args);
6134 ::std::string* PROTOBUF_NONNULL mutable_solution_info();
6135 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_solution_info();
6136 void set_allocated_solution_info(::std::string* PROTOBUF_NULLABLE value);
6137
6138 private:
6139 const ::std::string& _internal_solution_info() const;
6140 PROTOBUF_ALWAYS_INLINE void _internal_set_solution_info(const ::std::string& value);
6141 ::std::string* PROTOBUF_NONNULL _internal_mutable_solution_info();
6142
6143 public:
6144 // string solve_log = 26;
6145 void clear_solve_log() ;
6146 const ::std::string& solve_log() const;
6147 template <typename Arg_ = const ::std::string&, typename... Args_>
6148 void set_solve_log(Arg_&& arg, Args_... args);
6149 ::std::string* PROTOBUF_NONNULL mutable_solve_log();
6150 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_solve_log();
6151 void set_allocated_solve_log(::std::string* PROTOBUF_NULLABLE value);
6152
6153 private:
6154 const ::std::string& _internal_solve_log() const;
6155 PROTOBUF_ALWAYS_INLINE void _internal_set_solve_log(const ::std::string& value);
6156 ::std::string* PROTOBUF_NONNULL _internal_mutable_solve_log();
6157
6158 public:
6159 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
6160 bool has_integer_objective() const;
6162 const ::operations_research::sat::CpObjectiveProto& integer_objective() const;
6168
6169 private:
6170 const ::operations_research::sat::CpObjectiveProto& _internal_integer_objective() const;
6171 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL _internal_mutable_integer_objective();
6172
6173 public:
6174 // double objective_value = 3;
6175 void clear_objective_value() ;
6176 double objective_value() const;
6177 void set_objective_value(double value);
6178
6179 private:
6180 double _internal_objective_value() const;
6181 void _internal_set_objective_value(double value);
6182
6183 public:
6184 // double best_objective_bound = 4;
6186 double best_objective_bound() const;
6187 void set_best_objective_bound(double value);
6188
6189 private:
6190 double _internal_best_objective_bound() const;
6191 void _internal_set_best_objective_bound(double value);
6192
6193 public:
6194 // int64 num_booleans = 10;
6195 void clear_num_booleans() ;
6196 ::int64_t num_booleans() const;
6197 void set_num_booleans(::int64_t value);
6198
6199 private:
6200 ::int64_t _internal_num_booleans() const;
6201 void _internal_set_num_booleans(::int64_t value);
6202
6203 public:
6204 // int64 num_conflicts = 11;
6205 void clear_num_conflicts() ;
6206 ::int64_t num_conflicts() const;
6207 void set_num_conflicts(::int64_t value);
6208
6209 private:
6210 ::int64_t _internal_num_conflicts() const;
6211 void _internal_set_num_conflicts(::int64_t value);
6212
6213 public:
6214 // int64 num_branches = 12;
6215 void clear_num_branches() ;
6216 ::int64_t num_branches() const;
6217 void set_num_branches(::int64_t value);
6218
6219 private:
6220 ::int64_t _internal_num_branches() const;
6221 void _internal_set_num_branches(::int64_t value);
6222
6223 public:
6224 // int64 num_binary_propagations = 13;
6226 ::int64_t num_binary_propagations() const;
6227 void set_num_binary_propagations(::int64_t value);
6228
6229 private:
6230 ::int64_t _internal_num_binary_propagations() const;
6231 void _internal_set_num_binary_propagations(::int64_t value);
6232
6233 public:
6234 // int64 num_integer_propagations = 14;
6236 ::int64_t num_integer_propagations() const;
6237 void set_num_integer_propagations(::int64_t value);
6238
6239 private:
6240 ::int64_t _internal_num_integer_propagations() const;
6241 void _internal_set_num_integer_propagations(::int64_t value);
6242
6243 public:
6244 // double wall_time = 15;
6245 void clear_wall_time() ;
6246 double wall_time() const;
6247 void set_wall_time(double value);
6248
6249 private:
6250 double _internal_wall_time() const;
6251 void _internal_set_wall_time(double value);
6252
6253 public:
6254 // double user_time = 16;
6255 void clear_user_time() ;
6256 double user_time() const;
6257 void set_user_time(double value);
6258
6259 private:
6260 double _internal_user_time() const;
6261 void _internal_set_user_time(double value);
6262
6263 public:
6264 // double deterministic_time = 17;
6266 double deterministic_time() const;
6267 void set_deterministic_time(double value);
6268
6269 private:
6270 double _internal_deterministic_time() const;
6271 void _internal_set_deterministic_time(double value);
6272
6273 public:
6274 // double gap_integral = 22;
6275 void clear_gap_integral() ;
6276 double gap_integral() const;
6277 void set_gap_integral(double value);
6278
6279 private:
6280 double _internal_gap_integral() const;
6281 void _internal_set_gap_integral(double value);
6282
6283 public:
6284 // int64 num_restarts = 24;
6285 void clear_num_restarts() ;
6286 ::int64_t num_restarts() const;
6287 void set_num_restarts(::int64_t value);
6288
6289 private:
6290 ::int64_t _internal_num_restarts() const;
6291 void _internal_set_num_restarts(::int64_t value);
6292
6293 public:
6294 // int64 num_lp_iterations = 25;
6296 ::int64_t num_lp_iterations() const;
6297 void set_num_lp_iterations(::int64_t value);
6298
6299 private:
6300 ::int64_t _internal_num_lp_iterations() const;
6301 void _internal_set_num_lp_iterations(::int64_t value);
6302
6303 public:
6304 // int64 inner_objective_lower_bound = 29;
6306 ::int64_t inner_objective_lower_bound() const;
6307 void set_inner_objective_lower_bound(::int64_t value);
6308
6309 private:
6310 ::int64_t _internal_inner_objective_lower_bound() const;
6311 void _internal_set_inner_objective_lower_bound(::int64_t value);
6312
6313 public:
6314 // int64 num_integers = 30;
6315 void clear_num_integers() ;
6316 ::int64_t num_integers() const;
6317 void set_num_integers(::int64_t value);
6318
6319 private:
6320 ::int64_t _internal_num_integers() const;
6321 void _internal_set_num_integers(::int64_t value);
6322
6323 public:
6324 // int64 num_fixed_booleans = 31;
6326 ::int64_t num_fixed_booleans() const;
6327 void set_num_fixed_booleans(::int64_t value);
6328
6329 private:
6330 ::int64_t _internal_num_fixed_booleans() const;
6331 void _internal_set_num_fixed_booleans(::int64_t value);
6332
6333 public:
6334 // .operations_research.sat.CpSolverStatus status = 1;
6335 void clear_status() ;
6338
6339 private:
6340 ::operations_research::sat::CpSolverStatus _internal_status() const;
6341 void _internal_set_status(::operations_research::sat::CpSolverStatus value);
6342
6343 public:
6344 // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
6345 private:
6346 class _Internal;
6347 friend class ::google::protobuf::internal::TcParser;
6348 static const ::google::protobuf::internal::TcParseTable<5, 24,
6349 3, 95,
6350 2>
6351 _table_;
6352
6353 friend class ::google::protobuf::MessageLite;
6354 friend class ::google::protobuf::Arena;
6355 template <typename T>
6356 friend class ::google::protobuf::Arena::InternalHelper;
6357 using InternalArenaConstructable_ = void;
6358 using DestructorSkippable_ = void;
6359 struct Impl_ {
6360 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
6361 inline explicit Impl_(
6362 ::google::protobuf::internal::InternalVisibility visibility,
6363 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6364 inline explicit Impl_(
6365 ::google::protobuf::internal::InternalVisibility visibility,
6366 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6367 const CpSolverResponse& from_msg);
6368 ::google::protobuf::internal::HasBits<1> _has_bits_;
6369 ::google::protobuf::internal::CachedSize _cached_size_;
6370 ::google::protobuf::RepeatedField<::int64_t> solution_;
6371 ::google::protobuf::internal::CachedSize _solution_cached_byte_size_;
6372 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
6373 ::google::protobuf::RepeatedField<::int32_t> sufficient_assumptions_for_infeasibility_;
6374 ::google::protobuf::internal::CachedSize _sufficient_assumptions_for_infeasibility_cached_byte_size_;
6375 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::CpSolverSolution > additional_solutions_;
6376 ::google::protobuf::internal::ArenaStringPtr solution_info_;
6377 ::google::protobuf::internal::ArenaStringPtr solve_log_;
6378 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE integer_objective_;
6379 double objective_value_;
6380 double best_objective_bound_;
6381 ::int64_t num_booleans_;
6382 ::int64_t num_conflicts_;
6383 ::int64_t num_branches_;
6384 ::int64_t num_binary_propagations_;
6385 ::int64_t num_integer_propagations_;
6386 double wall_time_;
6387 double user_time_;
6388 double deterministic_time_;
6389 double gap_integral_;
6390 ::int64_t num_restarts_;
6391 ::int64_t num_lp_iterations_;
6392 ::int64_t inner_objective_lower_bound_;
6393 ::int64_t num_integers_;
6394 ::int64_t num_fixed_booleans_;
6395 int status_;
6396 PROTOBUF_TSAN_DECLARE_MEMBER
6397 };
6398 union { Impl_ _impl_; };
6399 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6400};
6401
6402OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpSolverResponse_class_data_;
6403// -------------------------------------------------------------------
6404
6405class OR_PROTO_DLL AutomatonConstraintProto final : public ::google::protobuf::Message
6406/* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
6407 public:
6408 inline AutomatonConstraintProto() : AutomatonConstraintProto(nullptr) {}
6409 ~AutomatonConstraintProto() PROTOBUF_FINAL;
6410
6411#if defined(PROTOBUF_CUSTOM_VTABLE)
6412 void operator delete(AutomatonConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
6413 SharedDtor(*msg);
6414 ::google::protobuf::internal::SizedDelete(msg, sizeof(AutomatonConstraintProto));
6415 }
6416#endif
6417
6418 template <typename = void>
6419 explicit PROTOBUF_CONSTEXPR AutomatonConstraintProto(::google::protobuf::internal::ConstantInitialized);
6420
6421 inline AutomatonConstraintProto(const AutomatonConstraintProto& from) : AutomatonConstraintProto(nullptr, from) {}
6422 inline AutomatonConstraintProto(AutomatonConstraintProto&& from) noexcept
6423 : AutomatonConstraintProto(nullptr, ::std::move(from)) {}
6426 return *this;
6427 }
6428 inline AutomatonConstraintProto& operator=(AutomatonConstraintProto&& from) noexcept {
6429 if (this == &from) return *this;
6430 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
6431 InternalSwap(&from);
6432 } else {
6433 CopyFrom(from);
6434 }
6435 return *this;
6436 }
6437
6438 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6439 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6440 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6441 }
6442 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
6443 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6444 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6445 }
6447 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
6450 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
6451 return default_instance().GetMetadata().descriptor;
6452 }
6453 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
6454 return default_instance().GetMetadata().reflection;
6456 static const AutomatonConstraintProto& default_instance() {
6457 return *reinterpret_cast<const AutomatonConstraintProto*>(
6459 }
6460 static constexpr int kIndexInFileMessages = 17;
6461 friend void swap(AutomatonConstraintProto& a, AutomatonConstraintProto& b) { a.Swap(&b); }
6462 inline void Swap(AutomatonConstraintProto* PROTOBUF_NONNULL other) {
6463 if (other == this) return;
6464 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
6465 InternalSwap(other);
6466 } else {
6467 ::google::protobuf::internal::GenericSwap(this, other);
6468 }
6470 void UnsafeArenaSwap(AutomatonConstraintProto* PROTOBUF_NONNULL other) {
6471 if (other == this) return;
6472 ABSL_DCHECK(GetArena() == other->GetArena());
6473 InternalSwap(other);
6475
6476 // implements Message ----------------------------------------------
6478 AutomatonConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
6479 return ::google::protobuf::Message::DefaultConstruct<AutomatonConstraintProto>(arena);
6481 using ::google::protobuf::Message::CopyFrom;
6482 void CopyFrom(const AutomatonConstraintProto& from);
6483 using ::google::protobuf::Message::MergeFrom;
6484 void MergeFrom(const AutomatonConstraintProto& from) { AutomatonConstraintProto::MergeImpl(*this, from); }
6485
6486 private:
6487 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
6488 const ::google::protobuf::MessageLite& from_msg);
6490 public:
6491 bool IsInitialized() const {
6492 return true;
6493 }
6494 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6495 #if defined(PROTOBUF_CUSTOM_VTABLE)
6496 private:
6497 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6498 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6499 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
6500 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
6501
6502 public:
6503 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
6504 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6505 ::uint8_t* PROTOBUF_NONNULL target,
6506 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
6507 return _InternalSerialize(*this, target, stream);
6508 }
6509 #else // PROTOBUF_CUSTOM_VTABLE
6510 ::size_t ByteSizeLong() const final;
6511 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6512 ::uint8_t* PROTOBUF_NONNULL target,
6513 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
6514 #endif // PROTOBUF_CUSTOM_VTABLE
6515 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6516
6517 private:
6518 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6519 static void SharedDtor(MessageLite& self);
6520 void InternalSwap(AutomatonConstraintProto* PROTOBUF_NONNULL other);
6521 private:
6522 template <typename T>
6523 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
6524 static ::absl::string_view FullMessageName() { return "operations_research.sat.AutomatonConstraintProto"; }
6525
6526 protected:
6527 explicit AutomatonConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6528 AutomatonConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AutomatonConstraintProto& from);
6530 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AutomatonConstraintProto&& from) noexcept
6531 : AutomatonConstraintProto(arena) {
6532 *this = ::std::move(from);
6533 }
6534 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
6535 static void* PROTOBUF_NONNULL PlacementNew_(
6536 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6537 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6538 static constexpr auto InternalNewImpl_();
6539
6540 public:
6541 static constexpr auto InternalGenerateClassData_();
6543 ::google::protobuf::Metadata GetMetadata() const;
6544 // nested types ----------------------------------------------------
6545
6546 // accessors -------------------------------------------------------
6547 enum : int {
6552 kVarsFieldNumber = 7,
6555 };
6556 // repeated int64 final_states = 3;
6557 int final_states_size() const;
6558 private:
6559 int _internal_final_states_size() const;
6560
6561 public:
6562 void clear_final_states() ;
6563 ::int64_t final_states(int index) const;
6564 void set_final_states(int index, ::int64_t value);
6565 void add_final_states(::int64_t value);
6566 const ::google::protobuf::RepeatedField<::int64_t>& final_states() const;
6567 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_final_states();
6568
6569 private:
6570 const ::google::protobuf::RepeatedField<::int64_t>& _internal_final_states() const;
6571 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_final_states();
6572
6573 public:
6574 // repeated int64 transition_tail = 4;
6576 private:
6577 int _internal_transition_tail_size() const;
6579 public:
6581 ::int64_t transition_tail(int index) const;
6582 void set_transition_tail(int index, ::int64_t value);
6583 void add_transition_tail(::int64_t value);
6584 const ::google::protobuf::RepeatedField<::int64_t>& transition_tail() const;
6585 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_transition_tail();
6586
6587 private:
6588 const ::google::protobuf::RepeatedField<::int64_t>& _internal_transition_tail() const;
6589 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_transition_tail();
6590
6591 public:
6592 // repeated int64 transition_head = 5;
6593 int transition_head_size() const;
6594 private:
6595 int _internal_transition_head_size() const;
6596
6597 public:
6598 void clear_transition_head() ;
6599 ::int64_t transition_head(int index) const;
6600 void set_transition_head(int index, ::int64_t value);
6601 void add_transition_head(::int64_t value);
6602 const ::google::protobuf::RepeatedField<::int64_t>& transition_head() const;
6603 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_transition_head();
6604
6605 private:
6606 const ::google::protobuf::RepeatedField<::int64_t>& _internal_transition_head() const;
6607 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_transition_head();
6608
6609 public:
6610 // repeated int64 transition_label = 6;
6611 int transition_label_size() const;
6612 private:
6613 int _internal_transition_label_size() const;
6614
6615 public:
6616 void clear_transition_label() ;
6617 ::int64_t transition_label(int index) const;
6618 void set_transition_label(int index, ::int64_t value);
6619 void add_transition_label(::int64_t value);
6620 const ::google::protobuf::RepeatedField<::int64_t>& transition_label() const;
6621 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_transition_label();
6622
6623 private:
6624 const ::google::protobuf::RepeatedField<::int64_t>& _internal_transition_label() const;
6625 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_transition_label();
6626
6627 public:
6628 // repeated int32 vars = 7;
6629 int vars_size() const;
6630 private:
6631 int _internal_vars_size() const;
6632
6633 public:
6634 void clear_vars() ;
6635 ::int32_t vars(int index) const;
6636 void set_vars(int index, ::int32_t value);
6637 void add_vars(::int32_t value);
6638 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
6639 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
6640
6641 private:
6642 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
6643 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
6644
6645 public:
6646 // repeated .operations_research.sat.LinearExpressionProto exprs = 8;
6647 int exprs_size() const;
6648 private:
6649 int _internal_exprs_size() const;
6650
6651 public:
6652 void clear_exprs() ;
6654 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
6655
6656 private:
6657 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
6658 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
6659 public:
6660 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
6662 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
6663 // int64 starting_state = 2;
6664 void clear_starting_state() ;
6665 ::int64_t starting_state() const;
6666 void set_starting_state(::int64_t value);
6667
6668 private:
6669 ::int64_t _internal_starting_state() const;
6670 void _internal_set_starting_state(::int64_t value);
6671
6672 public:
6673 // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
6674 private:
6675 class _Internal;
6676 friend class ::google::protobuf::internal::TcParser;
6677 static const ::google::protobuf::internal::TcParseTable<3, 7,
6678 1, 0,
6679 2>
6680 _table_;
6681
6682 friend class ::google::protobuf::MessageLite;
6683 friend class ::google::protobuf::Arena;
6684 template <typename T>
6685 friend class ::google::protobuf::Arena::InternalHelper;
6686 using InternalArenaConstructable_ = void;
6687 using DestructorSkippable_ = void;
6688 struct Impl_ {
6689 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
6690 inline explicit Impl_(
6691 ::google::protobuf::internal::InternalVisibility visibility,
6692 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6693 inline explicit Impl_(
6694 ::google::protobuf::internal::InternalVisibility visibility,
6695 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6696 const AutomatonConstraintProto& from_msg);
6697 ::google::protobuf::internal::HasBits<1> _has_bits_;
6698 ::google::protobuf::internal::CachedSize _cached_size_;
6699 ::google::protobuf::RepeatedField<::int64_t> final_states_;
6700 ::google::protobuf::internal::CachedSize _final_states_cached_byte_size_;
6701 ::google::protobuf::RepeatedField<::int64_t> transition_tail_;
6702 ::google::protobuf::internal::CachedSize _transition_tail_cached_byte_size_;
6703 ::google::protobuf::RepeatedField<::int64_t> transition_head_;
6704 ::google::protobuf::internal::CachedSize _transition_head_cached_byte_size_;
6705 ::google::protobuf::RepeatedField<::int64_t> transition_label_;
6706 ::google::protobuf::internal::CachedSize _transition_label_cached_byte_size_;
6707 ::google::protobuf::RepeatedField<::int32_t> vars_;
6708 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
6709 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
6710 ::int64_t starting_state_;
6711 PROTOBUF_TSAN_DECLARE_MEMBER
6713 union { Impl_ _impl_; };
6714 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6715};
6716
6717OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AutomatonConstraintProto_class_data_;
6718// -------------------------------------------------------------------
6719
6720class OR_PROTO_DLL AllDifferentConstraintProto final : public ::google::protobuf::Message
6721/* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
6722 public:
6723 inline AllDifferentConstraintProto() : AllDifferentConstraintProto(nullptr) {}
6724 ~AllDifferentConstraintProto() PROTOBUF_FINAL;
6725
6726#if defined(PROTOBUF_CUSTOM_VTABLE)
6727 void operator delete(AllDifferentConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
6728 SharedDtor(*msg);
6729 ::google::protobuf::internal::SizedDelete(msg, sizeof(AllDifferentConstraintProto));
6730 }
6731#endif
6732
6733 template <typename = void>
6734 explicit PROTOBUF_CONSTEXPR AllDifferentConstraintProto(::google::protobuf::internal::ConstantInitialized);
6735
6736 inline AllDifferentConstraintProto(const AllDifferentConstraintProto& from) : AllDifferentConstraintProto(nullptr, from) {}
6737 inline AllDifferentConstraintProto(AllDifferentConstraintProto&& from) noexcept
6738 : AllDifferentConstraintProto(nullptr, ::std::move(from)) {}
6739 inline AllDifferentConstraintProto& operator=(const AllDifferentConstraintProto& from) {
6741 return *this;
6742 }
6743 inline AllDifferentConstraintProto& operator=(AllDifferentConstraintProto&& from) noexcept {
6744 if (this == &from) return *this;
6745 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
6746 InternalSwap(&from);
6747 } else {
6749 }
6750 return *this;
6752
6753 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6754 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6755 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6756 }
6757 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
6758 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6759 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6760 }
6761
6762 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
6763 return GetDescriptor();
6765 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
6766 return default_instance().GetMetadata().descriptor;
6768 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
6769 return default_instance().GetMetadata().reflection;
6770 }
6772 return *reinterpret_cast<const AllDifferentConstraintProto*>(
6774 }
6775 static constexpr int kIndexInFileMessages = 4;
6776 friend void swap(AllDifferentConstraintProto& a, AllDifferentConstraintProto& b) { a.Swap(&b); }
6777 inline void Swap(AllDifferentConstraintProto* PROTOBUF_NONNULL other) {
6778 if (other == this) return;
6779 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
6780 InternalSwap(other);
6781 } else {
6782 ::google::protobuf::internal::GenericSwap(this, other);
6783 }
6784 }
6785 void UnsafeArenaSwap(AllDifferentConstraintProto* PROTOBUF_NONNULL other) {
6786 if (other == this) return;
6787 ABSL_DCHECK(GetArena() == other->GetArena());
6788 InternalSwap(other);
6789 }
6791 // implements Message ----------------------------------------------
6792
6793 AllDifferentConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
6794 return ::google::protobuf::Message::DefaultConstruct<AllDifferentConstraintProto>(arena);
6795 }
6796 using ::google::protobuf::Message::CopyFrom;
6797 void CopyFrom(const AllDifferentConstraintProto& from);
6798 using ::google::protobuf::Message::MergeFrom;
6799 void MergeFrom(const AllDifferentConstraintProto& from) { AllDifferentConstraintProto::MergeImpl(*this, from); }
6800
6801 private:
6802 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
6803 const ::google::protobuf::MessageLite& from_msg);
6805 public:
6806 bool IsInitialized() const {
6807 return true;
6808 }
6809 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6810 #if defined(PROTOBUF_CUSTOM_VTABLE)
6811 private:
6812 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6813 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6814 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
6815 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
6816
6817 public:
6818 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
6819 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6820 ::uint8_t* PROTOBUF_NONNULL target,
6821 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
6822 return _InternalSerialize(*this, target, stream);
6823 }
6824 #else // PROTOBUF_CUSTOM_VTABLE
6825 ::size_t ByteSizeLong() const final;
6826 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6827 ::uint8_t* PROTOBUF_NONNULL target,
6828 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
6829 #endif // PROTOBUF_CUSTOM_VTABLE
6830 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6831
6832 private:
6833 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6834 static void SharedDtor(MessageLite& self);
6835 void InternalSwap(AllDifferentConstraintProto* PROTOBUF_NONNULL other);
6836 private:
6837 template <typename T>
6838 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
6839 static ::absl::string_view FullMessageName() { return "operations_research.sat.AllDifferentConstraintProto"; }
6840
6841 protected:
6842 explicit AllDifferentConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6843 AllDifferentConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AllDifferentConstraintProto& from);
6845 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AllDifferentConstraintProto&& from) noexcept
6847 *this = ::std::move(from);
6848 }
6849 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
6850 static void* PROTOBUF_NONNULL PlacementNew_(
6851 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6852 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6853 static constexpr auto InternalNewImpl_();
6854
6855 public:
6856 static constexpr auto InternalGenerateClassData_();
6857
6858 ::google::protobuf::Metadata GetMetadata() const;
6859 // nested types ----------------------------------------------------
6860
6861 // accessors -------------------------------------------------------
6862 enum : int {
6864 };
6865 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
6866 int exprs_size() const;
6867 private:
6868 int _internal_exprs_size() const;
6869
6870 public:
6871 void clear_exprs() ;
6873 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
6874
6875 private:
6876 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
6877 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
6878 public:
6879 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
6881 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
6882 // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
6883 private:
6884 class _Internal;
6885 friend class ::google::protobuf::internal::TcParser;
6886 static const ::google::protobuf::internal::TcParseTable<0, 1,
6887 1, 0,
6888 2>
6889 _table_;
6890
6891 friend class ::google::protobuf::MessageLite;
6892 friend class ::google::protobuf::Arena;
6893 template <typename T>
6894 friend class ::google::protobuf::Arena::InternalHelper;
6895 using InternalArenaConstructable_ = void;
6896 using DestructorSkippable_ = void;
6897 struct Impl_ {
6898 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
6899 inline explicit Impl_(
6900 ::google::protobuf::internal::InternalVisibility visibility,
6901 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6902 inline explicit Impl_(
6903 ::google::protobuf::internal::InternalVisibility visibility,
6904 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6905 const AllDifferentConstraintProto& from_msg);
6906 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
6907 ::google::protobuf::internal::CachedSize _cached_size_;
6908 PROTOBUF_TSAN_DECLARE_MEMBER
6909 };
6910 union { Impl_ _impl_; };
6911 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6912};
6914OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AllDifferentConstraintProto_class_data_;
6915// -------------------------------------------------------------------
6916
6917class OR_PROTO_DLL RoutesConstraintProto final : public ::google::protobuf::Message
6918/* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
6919 public:
6921 ~RoutesConstraintProto() PROTOBUF_FINAL;
6923#if defined(PROTOBUF_CUSTOM_VTABLE)
6924 void operator delete(RoutesConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
6925 SharedDtor(*msg);
6926 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutesConstraintProto));
6927 }
6928#endif
6929
6930 template <typename = void>
6931 explicit PROTOBUF_CONSTEXPR RoutesConstraintProto(::google::protobuf::internal::ConstantInitialized);
6932
6933 inline RoutesConstraintProto(const RoutesConstraintProto& from) : RoutesConstraintProto(nullptr, from) {}
6934 inline RoutesConstraintProto(RoutesConstraintProto&& from) noexcept
6935 : RoutesConstraintProto(nullptr, ::std::move(from)) {}
6936 inline RoutesConstraintProto& operator=(const RoutesConstraintProto& from) {
6937 CopyFrom(from);
6938 return *this;
6940 inline RoutesConstraintProto& operator=(RoutesConstraintProto&& from) noexcept {
6941 if (this == &from) return *this;
6942 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
6943 InternalSwap(&from);
6944 } else {
6945 CopyFrom(from);
6947 return *this;
6948 }
6950 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6951 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6952 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6953 }
6954 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
6955 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6956 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6957 }
6958
6959 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
6961 }
6962 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
6963 return default_instance().GetMetadata().descriptor;
6964 }
6965 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
6966 return default_instance().GetMetadata().reflection;
6967 }
6968 static const RoutesConstraintProto& default_instance() {
6969 return *reinterpret_cast<const RoutesConstraintProto*>(
6971 }
6972 static constexpr int kIndexInFileMessages = 14;
6973 friend void swap(RoutesConstraintProto& a, RoutesConstraintProto& b) { a.Swap(&b); }
6974 inline void Swap(RoutesConstraintProto* PROTOBUF_NONNULL other) {
6975 if (other == this) return;
6976 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
6977 InternalSwap(other);
6978 } else {
6979 ::google::protobuf::internal::GenericSwap(this, other);
6980 }
6981 }
6982 void UnsafeArenaSwap(RoutesConstraintProto* PROTOBUF_NONNULL other) {
6983 if (other == this) return;
6984 ABSL_DCHECK(GetArena() == other->GetArena());
6985 InternalSwap(other);
6986 }
6987
6988 // implements Message ----------------------------------------------
6989
6990 RoutesConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
6991 return ::google::protobuf::Message::DefaultConstruct<RoutesConstraintProto>(arena);
6992 }
6993 using ::google::protobuf::Message::CopyFrom;
6995 using ::google::protobuf::Message::MergeFrom;
6996 void MergeFrom(const RoutesConstraintProto& from) { RoutesConstraintProto::MergeImpl(*this, from); }
6998 private:
6999 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
7000 const ::google::protobuf::MessageLite& from_msg);
7002 public:
7003 bool IsInitialized() const {
7004 return true;
7005 }
7006 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
7007 #if defined(PROTOBUF_CUSTOM_VTABLE)
7008 private:
7009 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
7010 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7011 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
7012 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
7013
7014 public:
7015 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
7016 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7017 ::uint8_t* PROTOBUF_NONNULL target,
7018 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
7019 return _InternalSerialize(*this, target, stream);
7020 }
7021 #else // PROTOBUF_CUSTOM_VTABLE
7022 ::size_t ByteSizeLong() const final;
7023 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7024 ::uint8_t* PROTOBUF_NONNULL target,
7025 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
7026 #endif // PROTOBUF_CUSTOM_VTABLE
7027 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
7028
7029 private:
7030 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7031 static void SharedDtor(MessageLite& self);
7032 void InternalSwap(RoutesConstraintProto* PROTOBUF_NONNULL other);
7033 private:
7034 template <typename T>
7035 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
7036 static ::absl::string_view FullMessageName() { return "operations_research.sat.RoutesConstraintProto"; }
7037
7038 protected:
7039 explicit RoutesConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7040 RoutesConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoutesConstraintProto& from);
7042 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutesConstraintProto&& from) noexcept
7043 : RoutesConstraintProto(arena) {
7044 *this = ::std::move(from);
7045 }
7046 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
7047 static void* PROTOBUF_NONNULL PlacementNew_(
7048 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
7049 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7050 static constexpr auto InternalNewImpl_();
7051
7052 public:
7053 static constexpr auto InternalGenerateClassData_();
7054
7055 ::google::protobuf::Metadata GetMetadata() const;
7056 // nested types ----------------------------------------------------
7058
7059 // accessors -------------------------------------------------------
7060 enum : int {
7067 };
7068 // repeated int32 tails = 1;
7069 int tails_size() const;
7070 private:
7071 int _internal_tails_size() const;
7072
7073 public:
7074 void clear_tails() ;
7075 ::int32_t tails(int index) const;
7076 void set_tails(int index, ::int32_t value);
7077 void add_tails(::int32_t value);
7078 const ::google::protobuf::RepeatedField<::int32_t>& tails() const;
7079 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_tails();
7080
7081 private:
7082 const ::google::protobuf::RepeatedField<::int32_t>& _internal_tails() const;
7083 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_tails();
7084
7085 public:
7086 // repeated int32 heads = 2;
7087 int heads_size() const;
7088 private:
7089 int _internal_heads_size() const;
7091 public:
7093 ::int32_t heads(int index) const;
7094 void set_heads(int index, ::int32_t value);
7095 void add_heads(::int32_t value);
7096 const ::google::protobuf::RepeatedField<::int32_t>& heads() const;
7097 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_heads();
7098
7099 private:
7100 const ::google::protobuf::RepeatedField<::int32_t>& _internal_heads() const;
7101 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_heads();
7102
7103 public:
7104 // repeated int32 literals = 3;
7105 int literals_size() const;
7106 private:
7107 int _internal_literals_size() const;
7108
7109 public:
7110 void clear_literals() ;
7111 ::int32_t literals(int index) const;
7112 void set_literals(int index, ::int32_t value);
7113 void add_literals(::int32_t value);
7114 const ::google::protobuf::RepeatedField<::int32_t>& literals() const;
7115 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_literals();
7116
7117 private:
7118 const ::google::protobuf::RepeatedField<::int32_t>& _internal_literals() const;
7119 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_literals();
7120
7121 public:
7122 // repeated int32 demands = 4;
7123 int demands_size() const;
7124 private:
7125 int _internal_demands_size() const;
7126
7127 public:
7128 void clear_demands() ;
7129 ::int32_t demands(int index) const;
7130 void set_demands(int index, ::int32_t value);
7131 void add_demands(::int32_t value);
7132 const ::google::protobuf::RepeatedField<::int32_t>& demands() const;
7133 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_demands();
7134
7135 private:
7136 const ::google::protobuf::RepeatedField<::int32_t>& _internal_demands() const;
7137 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_demands();
7138
7139 public:
7140 // repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
7141 int dimensions_size() const;
7142 private:
7143 int _internal_dimensions_size() const;
7144
7145 public:
7146 void clear_dimensions() ;
7148 ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>* PROTOBUF_NONNULL mutable_dimensions();
7149
7150 private:
7151 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>& _internal_dimensions() const;
7152 ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>* PROTOBUF_NONNULL _internal_mutable_dimensions();
7153 public:
7154 const ::operations_research::sat::RoutesConstraintProto_NodeExpressions& dimensions(int index) const;
7156 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>& dimensions() const;
7157 // int64 capacity = 5;
7158 void clear_capacity() ;
7159 ::int64_t capacity() const;
7160 void set_capacity(::int64_t value);
7161
7162 private:
7163 ::int64_t _internal_capacity() const;
7164 void _internal_set_capacity(::int64_t value);
7165
7166 public:
7167 // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
7168 private:
7169 class _Internal;
7170 friend class ::google::protobuf::internal::TcParser;
7171 static const ::google::protobuf::internal::TcParseTable<3, 6,
7172 1, 0,
7173 2>
7174 _table_;
7175
7176 friend class ::google::protobuf::MessageLite;
7177 friend class ::google::protobuf::Arena;
7178 template <typename T>
7179 friend class ::google::protobuf::Arena::InternalHelper;
7180 using InternalArenaConstructable_ = void;
7181 using DestructorSkippable_ = void;
7182 struct Impl_ {
7183 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
7184 inline explicit Impl_(
7185 ::google::protobuf::internal::InternalVisibility visibility,
7186 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7187 inline explicit Impl_(
7188 ::google::protobuf::internal::InternalVisibility visibility,
7189 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
7190 const RoutesConstraintProto& from_msg);
7191 ::google::protobuf::internal::HasBits<1> _has_bits_;
7192 ::google::protobuf::internal::CachedSize _cached_size_;
7193 ::google::protobuf::RepeatedField<::int32_t> tails_;
7194 ::google::protobuf::internal::CachedSize _tails_cached_byte_size_;
7195 ::google::protobuf::RepeatedField<::int32_t> heads_;
7196 ::google::protobuf::internal::CachedSize _heads_cached_byte_size_;
7197 ::google::protobuf::RepeatedField<::int32_t> literals_;
7198 ::google::protobuf::internal::CachedSize _literals_cached_byte_size_;
7199 ::google::protobuf::RepeatedField<::int32_t> demands_;
7200 ::google::protobuf::internal::CachedSize _demands_cached_byte_size_;
7201 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::RoutesConstraintProto_NodeExpressions > dimensions_;
7202 ::int64_t capacity_;
7203 PROTOBUF_TSAN_DECLARE_MEMBER
7204 };
7205 union { Impl_ _impl_; };
7206 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
7207};
7209OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutesConstraintProto_class_data_;
7210// -------------------------------------------------------------------
7211
7212class OR_PROTO_DLL ConstraintProto final : public ::google::protobuf::Message
7213/* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
7214 public:
7215 inline ConstraintProto() : ConstraintProto(nullptr) {}
7216 ~ConstraintProto() PROTOBUF_FINAL;
7217
7218#if defined(PROTOBUF_CUSTOM_VTABLE)
7219 void operator delete(ConstraintProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
7220 SharedDtor(*msg);
7221 ::google::protobuf::internal::SizedDelete(msg, sizeof(ConstraintProto));
7222 }
7223#endif
7224
7225 template <typename = void>
7226 explicit PROTOBUF_CONSTEXPR ConstraintProto(::google::protobuf::internal::ConstantInitialized);
7227
7228 inline ConstraintProto(const ConstraintProto& from) : ConstraintProto(nullptr, from) {}
7229 inline ConstraintProto(ConstraintProto&& from) noexcept
7230 : ConstraintProto(nullptr, ::std::move(from)) {}
7231 inline ConstraintProto& operator=(const ConstraintProto& from) {
7232 CopyFrom(from);
7233 return *this;
7235 inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
7236 if (this == &from) return *this;
7237 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
7238 InternalSwap(&from);
7239 } else {
7240 CopyFrom(from);
7241 }
7242 return *this;
7243 }
7244
7245 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
7246 ABSL_ATTRIBUTE_LIFETIME_BOUND {
7247 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
7248 }
7249 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
7250 ABSL_ATTRIBUTE_LIFETIME_BOUND {
7251 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
7252 }
7253
7254 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
7255 return GetDescriptor();
7257 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
7258 return default_instance().GetMetadata().descriptor;
7260 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
7261 return default_instance().GetMetadata().reflection;
7262 }
7263 static const ConstraintProto& default_instance() {
7264 return *reinterpret_cast<const ConstraintProto*>(
7266 }
7267 enum ConstraintCase {
7268 kBoolOr = 3,
7269 kBoolAnd = 4,
7270 kAtMostOne = 26,
7271 kExactlyOne = 29,
7272 kBoolXor = 5,
7273 kIntDiv = 7,
7274 kIntMod = 8,
7276 kLinMax = 27,
7277 kLinear = 12,
7278 kAllDiff = 13,
7280 kCircuit = 15,
7281 kRoutes = 23,
7282 kTable = 16,
7283 kAutomaton = 17,
7285 kReservoir = 24,
7286 kInterval = 19,
7288 kNoOverlap2D = 21,
7289 kCumulative = 22,
7292 };
7293 static constexpr int kIndexInFileMessages = 19;
7294 friend void swap(ConstraintProto& a, ConstraintProto& b) { a.Swap(&b); }
7295 inline void Swap(ConstraintProto* PROTOBUF_NONNULL other) {
7296 if (other == this) return;
7297 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
7298 InternalSwap(other);
7299 } else {
7300 ::google::protobuf::internal::GenericSwap(this, other);
7303 void UnsafeArenaSwap(ConstraintProto* PROTOBUF_NONNULL other) {
7304 if (other == this) return;
7305 ABSL_DCHECK(GetArena() == other->GetArena());
7306 InternalSwap(other);
7309 // implements Message ----------------------------------------------
7311 ConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
7312 return ::google::protobuf::Message::DefaultConstruct<ConstraintProto>(arena);
7314 using ::google::protobuf::Message::CopyFrom;
7315 void CopyFrom(const ConstraintProto& from);
7316 using ::google::protobuf::Message::MergeFrom;
7317 void MergeFrom(const ConstraintProto& from) { ConstraintProto::MergeImpl(*this, from); }
7319 private:
7320 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
7321 const ::google::protobuf::MessageLite& from_msg);
7322
7323 public:
7324 bool IsInitialized() const {
7325 return true;
7326 }
7327 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
7328 #if defined(PROTOBUF_CUSTOM_VTABLE)
7329 private:
7330 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
7331 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7332 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
7333 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
7334
7335 public:
7336 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
7337 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7338 ::uint8_t* PROTOBUF_NONNULL target,
7339 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
7340 return _InternalSerialize(*this, target, stream);
7342 #else // PROTOBUF_CUSTOM_VTABLE
7343 ::size_t ByteSizeLong() const final;
7344 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7345 ::uint8_t* PROTOBUF_NONNULL target,
7346 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
7347 #endif // PROTOBUF_CUSTOM_VTABLE
7348 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
7349
7350 private:
7351 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7352 static void SharedDtor(MessageLite& self);
7353 void InternalSwap(ConstraintProto* PROTOBUF_NONNULL other);
7354 private:
7355 template <typename T>
7356 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
7357 static ::absl::string_view FullMessageName() { return "operations_research.sat.ConstraintProto"; }
7358
7359 protected:
7360 explicit ConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7361 ConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ConstraintProto& from);
7363 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ConstraintProto&& from) noexcept
7364 : ConstraintProto(arena) {
7365 *this = ::std::move(from);
7366 }
7367 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
7368 static void* PROTOBUF_NONNULL PlacementNew_(
7369 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
7370 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7371 static constexpr auto InternalNewImpl_();
7372
7373 public:
7374 static constexpr auto InternalGenerateClassData_();
7375
7376 ::google::protobuf::Metadata GetMetadata() const;
7377 // nested types ----------------------------------------------------
7379 // accessors -------------------------------------------------------
7380 enum : int {
7382 kNameFieldNumber = 1,
7391 kLinMaxFieldNumber = 27,
7397 kTableFieldNumber = 16,
7406 };
7407 // repeated int32 enforcement_literal = 2;
7408 int enforcement_literal_size() const;
7409 private:
7410 int _internal_enforcement_literal_size() const;
7412 public:
7414 ::int32_t enforcement_literal(int index) const;
7415 void set_enforcement_literal(int index, ::int32_t value);
7416 void add_enforcement_literal(::int32_t value);
7417 const ::google::protobuf::RepeatedField<::int32_t>& enforcement_literal() const;
7418 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_enforcement_literal();
7420 private:
7421 const ::google::protobuf::RepeatedField<::int32_t>& _internal_enforcement_literal() const;
7422 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_enforcement_literal();
7424 public:
7425 // string name = 1;
7426 void clear_name() ;
7427 const ::std::string& name() const;
7428 template <typename Arg_ = const ::std::string&, typename... Args_>
7429 void set_name(Arg_&& arg, Args_... args);
7430 ::std::string* PROTOBUF_NONNULL mutable_name();
7431 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
7432 void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
7434 private:
7435 const ::std::string& _internal_name() const;
7436 PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
7437 ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
7438
7439 public:
7440 // .operations_research.sat.BoolArgumentProto bool_or = 3;
7441 bool has_bool_or() const;
7442 private:
7443 bool _internal_has_bool_or() const;
7444
7445 public:
7446 void clear_bool_or() ;
7447 const ::operations_research::sat::BoolArgumentProto& bool_or() const;
7448 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_bool_or();
7453
7454 private:
7455 const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
7456 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_bool_or();
7457
7458 public:
7459 // .operations_research.sat.BoolArgumentProto bool_and = 4;
7460 bool has_bool_and() const;
7461 private:
7462 bool _internal_has_bool_and() const;
7463
7464 public:
7465 void clear_bool_and() ;
7466 const ::operations_research::sat::BoolArgumentProto& bool_and() const;
7467 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_bool_and();
7472
7473 private:
7474 const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
7475 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_bool_and();
7476
7477 public:
7478 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
7479 bool has_at_most_one() const;
7480 private:
7481 bool _internal_has_at_most_one() const;
7482
7483 public:
7484 void clear_at_most_one() ;
7485 const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
7486 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_at_most_one();
7491
7492 private:
7493 const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
7494 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_at_most_one();
7495
7496 public:
7497 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
7498 bool has_exactly_one() const;
7499 private:
7500 bool _internal_has_exactly_one() const;
7501
7502 public:
7503 void clear_exactly_one() ;
7504 const ::operations_research::sat::BoolArgumentProto& exactly_one() const;
7505 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_exactly_one();
7510
7511 private:
7512 const ::operations_research::sat::BoolArgumentProto& _internal_exactly_one() const;
7513 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_exactly_one();
7514
7515 public:
7516 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
7517 bool has_bool_xor() const;
7518 private:
7519 bool _internal_has_bool_xor() const;
7520
7521 public:
7522 void clear_bool_xor() ;
7523 const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
7524 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_bool_xor();
7529
7530 private:
7531 const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
7532 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_bool_xor();
7533
7534 public:
7535 // .operations_research.sat.LinearArgumentProto int_div = 7;
7536 bool has_int_div() const;
7537 private:
7538 bool _internal_has_int_div() const;
7539
7540 public:
7541 void clear_int_div() ;
7542 const ::operations_research::sat::LinearArgumentProto& int_div() const;
7543 [[nodiscard]] ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE release_int_div();
7548
7549 private:
7550 const ::operations_research::sat::LinearArgumentProto& _internal_int_div() const;
7551 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL _internal_mutable_int_div();
7552
7553 public:
7554 // .operations_research.sat.LinearArgumentProto int_mod = 8;
7555 bool has_int_mod() const;
7556 private:
7557 bool _internal_has_int_mod() const;
7558
7559 public:
7560 void clear_int_mod() ;
7561 const ::operations_research::sat::LinearArgumentProto& int_mod() const;
7562 [[nodiscard]] ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE release_int_mod();
7567
7568 private:
7569 const ::operations_research::sat::LinearArgumentProto& _internal_int_mod() const;
7570 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL _internal_mutable_int_mod();
7571
7572 public:
7573 // .operations_research.sat.LinearArgumentProto int_prod = 11;
7574 bool has_int_prod() const;
7575 private:
7576 bool _internal_has_int_prod() const;
7577
7578 public:
7579 void clear_int_prod() ;
7580 const ::operations_research::sat::LinearArgumentProto& int_prod() const;
7581 [[nodiscard]] ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE release_int_prod();
7586
7587 private:
7588 const ::operations_research::sat::LinearArgumentProto& _internal_int_prod() const;
7589 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL _internal_mutable_int_prod();
7590
7591 public:
7592 // .operations_research.sat.LinearArgumentProto lin_max = 27;
7593 bool has_lin_max() const;
7594 private:
7595 bool _internal_has_lin_max() const;
7596
7597 public:
7598 void clear_lin_max() ;
7599 const ::operations_research::sat::LinearArgumentProto& lin_max() const;
7600 [[nodiscard]] ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE release_lin_max();
7605
7606 private:
7607 const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
7608 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL _internal_mutable_lin_max();
7609
7610 public:
7611 // .operations_research.sat.LinearConstraintProto linear = 12;
7612 bool has_linear() const;
7613 private:
7614 bool _internal_has_linear() const;
7615
7616 public:
7617 void clear_linear() ;
7618 const ::operations_research::sat::LinearConstraintProto& linear() const;
7619 [[nodiscard]] ::operations_research::sat::LinearConstraintProto* PROTOBUF_NULLABLE release_linear();
7624
7625 private:
7626 const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
7627 ::operations_research::sat::LinearConstraintProto* PROTOBUF_NONNULL _internal_mutable_linear();
7628
7629 public:
7630 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
7631 bool has_all_diff() const;
7632 private:
7633 bool _internal_has_all_diff() const;
7634
7635 public:
7636 void clear_all_diff() ;
7637 const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
7643
7644 private:
7645 const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
7646 ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NONNULL _internal_mutable_all_diff();
7647
7648 public:
7649 // .operations_research.sat.ElementConstraintProto element = 14;
7650 bool has_element() const;
7651 private:
7652 bool _internal_has_element() const;
7653
7654 public:
7655 void clear_element() ;
7656 const ::operations_research::sat::ElementConstraintProto& element() const;
7662
7663 private:
7664 const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
7665 ::operations_research::sat::ElementConstraintProto* PROTOBUF_NONNULL _internal_mutable_element();
7666
7667 public:
7668 // .operations_research.sat.CircuitConstraintProto circuit = 15;
7669 bool has_circuit() const;
7670 private:
7671 bool _internal_has_circuit() const;
7672
7673 public:
7674 void clear_circuit() ;
7675 const ::operations_research::sat::CircuitConstraintProto& circuit() const;
7681
7682 private:
7683 const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
7684 ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NONNULL _internal_mutable_circuit();
7685
7686 public:
7687 // .operations_research.sat.RoutesConstraintProto routes = 23;
7688 bool has_routes() const;
7689 private:
7690 bool _internal_has_routes() const;
7691
7692 public:
7693 void clear_routes() ;
7694 const ::operations_research::sat::RoutesConstraintProto& routes() const;
7695 [[nodiscard]] ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NULLABLE release_routes();
7700
7701 private:
7702 const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
7703 ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NONNULL _internal_mutable_routes();
7704
7705 public:
7706 // .operations_research.sat.TableConstraintProto table = 16;
7707 bool has_table() const;
7708 private:
7709 bool _internal_has_table() const;
7710
7711 public:
7712 void clear_table() ;
7713 const ::operations_research::sat::TableConstraintProto& table() const;
7714 [[nodiscard]] ::operations_research::sat::TableConstraintProto* PROTOBUF_NULLABLE release_table();
7719
7720 private:
7721 const ::operations_research::sat::TableConstraintProto& _internal_table() const;
7722 ::operations_research::sat::TableConstraintProto* PROTOBUF_NONNULL _internal_mutable_table();
7723
7724 public:
7725 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
7726 bool has_automaton() const;
7727 private:
7728 bool _internal_has_automaton() const;
7729
7730 public:
7731 void clear_automaton() ;
7732 const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
7738
7739 private:
7740 const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
7741 ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NONNULL _internal_mutable_automaton();
7742
7743 public:
7744 // .operations_research.sat.InverseConstraintProto inverse = 18;
7745 bool has_inverse() const;
7746 private:
7747 bool _internal_has_inverse() const;
7748
7749 public:
7750 void clear_inverse() ;
7751 const ::operations_research::sat::InverseConstraintProto& inverse() const;
7757
7758 private:
7759 const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
7760 ::operations_research::sat::InverseConstraintProto* PROTOBUF_NONNULL _internal_mutable_inverse();
7761
7762 public:
7763 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
7764 bool has_reservoir() const;
7765 private:
7766 bool _internal_has_reservoir() const;
7767
7768 public:
7769 void clear_reservoir() ;
7770 const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
7776
7777 private:
7778 const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
7779 ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NONNULL _internal_mutable_reservoir();
7780
7781 public:
7782 // .operations_research.sat.IntervalConstraintProto interval = 19;
7783 bool has_interval() const;
7784 private:
7785 bool _internal_has_interval() const;
7786
7787 public:
7788 void clear_interval() ;
7789 const ::operations_research::sat::IntervalConstraintProto& interval() const;
7795
7796 private:
7797 const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
7798 ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NONNULL _internal_mutable_interval();
7799
7800 public:
7801 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
7802 bool has_no_overlap() const;
7803 private:
7804 bool _internal_has_no_overlap() const;
7805
7806 public:
7807 void clear_no_overlap() ;
7808 const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
7814
7815 private:
7816 const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
7817 ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NONNULL _internal_mutable_no_overlap();
7818
7819 public:
7820 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
7821 bool has_no_overlap_2d() const;
7822 private:
7823 bool _internal_has_no_overlap_2d() const;
7824
7825 public:
7826 void clear_no_overlap_2d() ;
7827 const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
7833
7834 private:
7835 const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
7836 ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NONNULL _internal_mutable_no_overlap_2d();
7837
7838 public:
7839 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
7840 bool has_cumulative() const;
7841 private:
7842 bool _internal_has_cumulative() const;
7843
7844 public:
7845 void clear_cumulative() ;
7846 const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
7852
7853 private:
7854 const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
7855 ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NONNULL _internal_mutable_cumulative();
7856
7857 public:
7858 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
7859 bool has_dummy_constraint() const;
7860 private:
7861 bool _internal_has_dummy_constraint() const;
7862
7863 public:
7864 void clear_dummy_constraint() ;
7865 const ::operations_research::sat::ListOfVariablesProto& dummy_constraint() const;
7871
7872 private:
7873 const ::operations_research::sat::ListOfVariablesProto& _internal_dummy_constraint() const;
7874 ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NONNULL _internal_mutable_dummy_constraint();
7875
7876 public:
7877 void clear_constraint();
7879 // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
7880 private:
7881 class _Internal;
7882 void set_has_bool_or();
7883 void set_has_bool_and();
7884 void set_has_at_most_one();
7885 void set_has_exactly_one();
7886 void set_has_bool_xor();
7887 void set_has_int_div();
7888 void set_has_int_mod();
7889 void set_has_int_prod();
7890 void set_has_lin_max();
7891 void set_has_linear();
7892 void set_has_all_diff();
7893 void set_has_element();
7894 void set_has_circuit();
7895 void set_has_routes();
7896 void set_has_table();
7897 void set_has_automaton();
7898 void set_has_inverse();
7899 void set_has_reservoir();
7900 void set_has_interval();
7901 void set_has_no_overlap();
7902 void set_has_no_overlap_2d();
7903 void set_has_cumulative();
7904 void set_has_dummy_constraint();
7905 inline bool has_constraint() const;
7906 inline void clear_has_constraint();
7907 friend class ::google::protobuf::internal::TcParser;
7908 static const ::google::protobuf::internal::TcParseTable<1, 25,
7909 23, 76,
7910 2>
7911 _table_;
7912
7913 friend class ::google::protobuf::MessageLite;
7914 friend class ::google::protobuf::Arena;
7915 template <typename T>
7916 friend class ::google::protobuf::Arena::InternalHelper;
7917 using InternalArenaConstructable_ = void;
7918 using DestructorSkippable_ = void;
7919 struct Impl_ {
7920 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
7921 inline explicit Impl_(
7922 ::google::protobuf::internal::InternalVisibility visibility,
7923 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7924 inline explicit Impl_(
7925 ::google::protobuf::internal::InternalVisibility visibility,
7926 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
7927 const ConstraintProto& from_msg);
7928 ::google::protobuf::internal::HasBits<1> _has_bits_;
7929 ::google::protobuf::internal::CachedSize _cached_size_;
7930 ::google::protobuf::RepeatedField<::int32_t> enforcement_literal_;
7931 ::google::protobuf::internal::CachedSize _enforcement_literal_cached_byte_size_;
7932 ::google::protobuf::internal::ArenaStringPtr name_;
7933 union ConstraintUnion {
7934 constexpr ConstraintUnion() : _constinit_{} {}
7935 ::google::protobuf::internal::ConstantInitialized _constinit_;
7936 ::google::protobuf::Message* PROTOBUF_NULLABLE bool_or_;
7937 ::google::protobuf::Message* PROTOBUF_NULLABLE bool_and_;
7938 ::google::protobuf::Message* PROTOBUF_NULLABLE at_most_one_;
7939 ::google::protobuf::Message* PROTOBUF_NULLABLE exactly_one_;
7940 ::google::protobuf::Message* PROTOBUF_NULLABLE bool_xor_;
7941 ::google::protobuf::Message* PROTOBUF_NULLABLE int_div_;
7942 ::google::protobuf::Message* PROTOBUF_NULLABLE int_mod_;
7943 ::google::protobuf::Message* PROTOBUF_NULLABLE int_prod_;
7944 ::google::protobuf::Message* PROTOBUF_NULLABLE lin_max_;
7945 ::google::protobuf::Message* PROTOBUF_NULLABLE linear_;
7946 ::google::protobuf::Message* PROTOBUF_NULLABLE all_diff_;
7947 ::google::protobuf::Message* PROTOBUF_NULLABLE element_;
7948 ::google::protobuf::Message* PROTOBUF_NULLABLE circuit_;
7949 ::google::protobuf::Message* PROTOBUF_NULLABLE routes_;
7950 ::google::protobuf::Message* PROTOBUF_NULLABLE table_;
7951 ::google::protobuf::Message* PROTOBUF_NULLABLE automaton_;
7952 ::google::protobuf::Message* PROTOBUF_NULLABLE inverse_;
7953 ::google::protobuf::Message* PROTOBUF_NULLABLE reservoir_;
7954 ::google::protobuf::Message* PROTOBUF_NULLABLE interval_;
7955 ::google::protobuf::Message* PROTOBUF_NULLABLE no_overlap_;
7956 ::google::protobuf::Message* PROTOBUF_NULLABLE no_overlap_2d_;
7957 ::google::protobuf::Message* PROTOBUF_NULLABLE cumulative_;
7958 ::google::protobuf::Message* PROTOBUF_NULLABLE dummy_constraint_;
7959 } constraint_;
7960 ::uint32_t _oneof_case_[1];
7961 PROTOBUF_TSAN_DECLARE_MEMBER
7962 };
7963 union { Impl_ _impl_; };
7964 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
7967OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ConstraintProto_class_data_;
7968// -------------------------------------------------------------------
7970class OR_PROTO_DLL CpModelProto final : public ::google::protobuf::Message
7971/* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
7972 public:
7973 inline CpModelProto() : CpModelProto(nullptr) {}
7974 ~CpModelProto() PROTOBUF_FINAL;
7976#if defined(PROTOBUF_CUSTOM_VTABLE)
7977 void operator delete(CpModelProto* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
7978 SharedDtor(*msg);
7979 ::google::protobuf::internal::SizedDelete(msg, sizeof(CpModelProto));
7981#endif
7983 template <typename = void>
7984 explicit PROTOBUF_CONSTEXPR CpModelProto(::google::protobuf::internal::ConstantInitialized);
7986 inline CpModelProto(const CpModelProto& from) : CpModelProto(nullptr, from) {}
7987 inline CpModelProto(CpModelProto&& from) noexcept
7988 : CpModelProto(nullptr, ::std::move(from)) {}
7989 inline CpModelProto& operator=(const CpModelProto& from) {
7990 CopyFrom(from);
7991 return *this;
7992 }
7993 inline CpModelProto& operator=(CpModelProto&& from) noexcept {
7994 if (this == &from) return *this;
7995 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
7996 InternalSwap(&from);
7997 } else {
7998 CopyFrom(from);
7999 }
8000 return *this;
8002
8003 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
8004 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8005 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
8006 }
8007 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
8008 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8009 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
8010 }
8011
8012 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
8013 return GetDescriptor();
8014 }
8015 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
8016 return default_instance().GetMetadata().descriptor;
8018 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
8019 return default_instance().GetMetadata().reflection;
8021 static const CpModelProto& default_instance() {
8022 return *reinterpret_cast<const CpModelProto*>(
8025 static constexpr int kIndexInFileMessages = 27;
8026 friend void swap(CpModelProto& a, CpModelProto& b) { a.Swap(&b); }
8027 inline void Swap(CpModelProto* PROTOBUF_NONNULL other) {
8028 if (other == this) return;
8029 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
8030 InternalSwap(other);
8031 } else {
8032 ::google::protobuf::internal::GenericSwap(this, other);
8033 }
8035 void UnsafeArenaSwap(CpModelProto* PROTOBUF_NONNULL other) {
8036 if (other == this) return;
8037 ABSL_DCHECK(GetArena() == other->GetArena());
8038 InternalSwap(other);
8039 }
8040
8041 // implements Message ----------------------------------------------
8042
8043 CpModelProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
8044 return ::google::protobuf::Message::DefaultConstruct<CpModelProto>(arena);
8045 }
8046 using ::google::protobuf::Message::CopyFrom;
8047 void CopyFrom(const CpModelProto& from);
8048 using ::google::protobuf::Message::MergeFrom;
8049 void MergeFrom(const CpModelProto& from) { CpModelProto::MergeImpl(*this, from); }
8050
8051 private:
8052 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
8053 const ::google::protobuf::MessageLite& from_msg);
8054
8055 public:
8056 bool IsInitialized() const {
8057 return true;
8059 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
8060 #if defined(PROTOBUF_CUSTOM_VTABLE)
8061 private:
8062 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
8063 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8064 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
8065 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
8067 public:
8068 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
8069 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8070 ::uint8_t* PROTOBUF_NONNULL target,
8071 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
8072 return _InternalSerialize(*this, target, stream);
8073 }
8074 #else // PROTOBUF_CUSTOM_VTABLE
8075 ::size_t ByteSizeLong() const final;
8076 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8077 ::uint8_t* PROTOBUF_NONNULL target,
8078 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
8079 #endif // PROTOBUF_CUSTOM_VTABLE
8080 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
8081
8082 private:
8083 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8084 static void SharedDtor(MessageLite& self);
8085 void InternalSwap(CpModelProto* PROTOBUF_NONNULL other);
8086 private:
8087 template <typename T>
8088 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
8089 static ::absl::string_view FullMessageName() { return "operations_research.sat.CpModelProto"; }
8090
8091 protected:
8092 explicit CpModelProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8093 CpModelProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CpModelProto& from);
8095 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CpModelProto&& from) noexcept
8096 : CpModelProto(arena) {
8097 *this = ::std::move(from);
8098 }
8099 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
8100 static void* PROTOBUF_NONNULL PlacementNew_(
8101 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
8102 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8103 static constexpr auto InternalNewImpl_();
8104
8105 public:
8106 static constexpr auto InternalGenerateClassData_();
8107
8108 ::google::protobuf::Metadata GetMetadata() const;
8109 // nested types ----------------------------------------------------
8110
8111 // accessors -------------------------------------------------------
8112 enum : int {
8117 kNameFieldNumber = 1,
8122 };
8123 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
8124 int variables_size() const;
8125 private:
8126 int _internal_variables_size() const;
8127
8128 public:
8129 void clear_variables() ;
8131 ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL mutable_variables();
8132
8133 private:
8134 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& _internal_variables() const;
8135 ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL _internal_mutable_variables();
8136 public:
8137 const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
8139 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& variables() const;
8140 // repeated .operations_research.sat.ConstraintProto constraints = 3;
8141 int constraints_size() const;
8142 private:
8143 int _internal_constraints_size() const;
8145 public:
8148 ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>* PROTOBUF_NONNULL mutable_constraints();
8150 private:
8151 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>& _internal_constraints() const;
8152 ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>* PROTOBUF_NONNULL _internal_mutable_constraints();
8153 public:
8154 const ::operations_research::sat::ConstraintProto& constraints(int index) const;
8156 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>& constraints() const;
8157 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
8158 int search_strategy_size() const;
8159 private:
8160 int _internal_search_strategy_size() const;
8161
8162 public:
8163 void clear_search_strategy() ;
8165 ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>* PROTOBUF_NONNULL mutable_search_strategy();
8166
8167 private:
8168 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>& _internal_search_strategy() const;
8169 ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>* PROTOBUF_NONNULL _internal_mutable_search_strategy();
8170 public:
8171 const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
8173 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>& search_strategy() const;
8174 // repeated int32 assumptions = 7;
8175 int assumptions_size() const;
8176 private:
8177 int _internal_assumptions_size() const;
8178
8179 public:
8180 void clear_assumptions() ;
8181 ::int32_t assumptions(int index) const;
8182 void set_assumptions(int index, ::int32_t value);
8183 void add_assumptions(::int32_t value);
8184 const ::google::protobuf::RepeatedField<::int32_t>& assumptions() const;
8185 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_assumptions();
8186
8187 private:
8188 const ::google::protobuf::RepeatedField<::int32_t>& _internal_assumptions() const;
8189 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_assumptions();
8190
8191 public:
8192 // string name = 1;
8193 void clear_name() ;
8194 const ::std::string& name() const;
8195 template <typename Arg_ = const ::std::string&, typename... Args_>
8196 void set_name(Arg_&& arg, Args_... args);
8197 ::std::string* PROTOBUF_NONNULL mutable_name();
8198 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
8199 void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
8200
8201 private:
8202 const ::std::string& _internal_name() const;
8203 PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
8204 ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
8205
8206 public:
8207 // .operations_research.sat.CpObjectiveProto objective = 4;
8208 bool has_objective() const;
8209 void clear_objective() ;
8210 const ::operations_research::sat::CpObjectiveProto& objective() const;
8211 [[nodiscard]] ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE release_objective();
8216
8217 private:
8218 const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
8219 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL _internal_mutable_objective();
8220
8221 public:
8222 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
8223 bool has_solution_hint() const;
8224 void clear_solution_hint() ;
8225 const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
8231
8232 private:
8233 const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
8234 ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NONNULL _internal_mutable_solution_hint();
8235
8236 public:
8237 // .operations_research.sat.SymmetryProto symmetry = 8;
8238 bool has_symmetry() const;
8239 void clear_symmetry() ;
8240 const ::operations_research::sat::SymmetryProto& symmetry() const;
8241 [[nodiscard]] ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE release_symmetry();
8246
8247 private:
8248 const ::operations_research::sat::SymmetryProto& _internal_symmetry() const;
8249 ::operations_research::sat::SymmetryProto* PROTOBUF_NONNULL _internal_mutable_symmetry();
8250
8251 public:
8252 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
8253 bool has_floating_point_objective() const;
8255 const ::operations_research::sat::FloatObjectiveProto& floating_point_objective() const;
8261
8262 private:
8263 const ::operations_research::sat::FloatObjectiveProto& _internal_floating_point_objective() const;
8264 ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NONNULL _internal_mutable_floating_point_objective();
8265
8266 public:
8267 // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
8268 private:
8269 class _Internal;
8270 friend class ::google::protobuf::internal::TcParser;
8271 static const ::google::protobuf::internal::TcParseTable<4, 9,
8272 7, 57,
8273 2>
8274 _table_;
8275
8276 friend class ::google::protobuf::MessageLite;
8277 friend class ::google::protobuf::Arena;
8278 template <typename T>
8279 friend class ::google::protobuf::Arena::InternalHelper;
8280 using InternalArenaConstructable_ = void;
8281 using DestructorSkippable_ = void;
8282 struct Impl_ {
8283 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
8284 inline explicit Impl_(
8285 ::google::protobuf::internal::InternalVisibility visibility,
8286 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8287 inline explicit Impl_(
8288 ::google::protobuf::internal::InternalVisibility visibility,
8289 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
8290 const CpModelProto& from_msg);
8291 ::google::protobuf::internal::HasBits<1> _has_bits_;
8292 ::google::protobuf::internal::CachedSize _cached_size_;
8293 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
8294 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
8295 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
8296 ::google::protobuf::RepeatedField<::int32_t> assumptions_;
8297 ::google::protobuf::internal::CachedSize _assumptions_cached_byte_size_;
8298 ::google::protobuf::internal::ArenaStringPtr name_;
8299 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE objective_;
8300 ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NULLABLE solution_hint_;
8301 ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE symmetry_;
8302 ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NULLABLE floating_point_objective_;
8303 PROTOBUF_TSAN_DECLARE_MEMBER
8304 };
8305 union { Impl_ _impl_; };
8306 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
8309OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpModelProto_class_data_;
8311// ===================================================================
8312
8313
8314
8315
8316// ===================================================================
8317
8318
8319#ifdef __GNUC__
8320#pragma GCC diagnostic push
8321#pragma GCC diagnostic ignored "-Wstrict-aliasing"
8322#endif // __GNUC__
8323// -------------------------------------------------------------------
8324
8325// IntegerVariableProto
8326
8327// string name = 1;
8329 ::google::protobuf::internal::TSanWrite(&_impl_);
8330 _impl_.name_.ClearToEmpty();
8331 _impl_._has_bits_[0] &= ~0x00000001u;
8332}
8333inline const ::std::string& IntegerVariableProto::name() const
8334 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8335 // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
8336 return _internal_name();
8338template <typename Arg_, typename... Args_>
8339PROTOBUF_ALWAYS_INLINE void IntegerVariableProto::set_name(Arg_&& arg, Args_... args) {
8340 ::google::protobuf::internal::TSanWrite(&_impl_);
8341 _impl_._has_bits_[0] |= 0x00000001u;
8342 _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
8343 // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
8344}
8345inline ::std::string* PROTOBUF_NONNULL IntegerVariableProto::mutable_name()
8346 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8347 ::std::string* _s = _internal_mutable_name();
8348 // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
8349 return _s;
8350}
8351inline const ::std::string& IntegerVariableProto::_internal_name() const {
8352 ::google::protobuf::internal::TSanRead(&_impl_);
8353 return _impl_.name_.Get();
8354}
8355inline void IntegerVariableProto::_internal_set_name(const ::std::string& value) {
8356 ::google::protobuf::internal::TSanWrite(&_impl_);
8357 _impl_._has_bits_[0] |= 0x00000001u;
8358 _impl_.name_.Set(value, GetArena());
8359}
8360inline ::std::string* PROTOBUF_NONNULL IntegerVariableProto::_internal_mutable_name() {
8361 ::google::protobuf::internal::TSanWrite(&_impl_);
8362 _impl_._has_bits_[0] |= 0x00000001u;
8363 return _impl_.name_.Mutable( GetArena());
8364}
8365inline ::std::string* PROTOBUF_NULLABLE IntegerVariableProto::release_name() {
8366 ::google::protobuf::internal::TSanWrite(&_impl_);
8367 // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
8368 if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
8369 return nullptr;
8370 }
8371 _impl_._has_bits_[0] &= ~0x00000001u;
8372 auto* released = _impl_.name_.Release();
8373 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
8374 _impl_.name_.Set("", GetArena());
8375 }
8376 return released;
8377}
8378inline void IntegerVariableProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
8379 ::google::protobuf::internal::TSanWrite(&_impl_);
8380 if (value != nullptr) {
8381 _impl_._has_bits_[0] |= 0x00000001u;
8382 } else {
8383 _impl_._has_bits_[0] &= ~0x00000001u;
8384 }
8385 _impl_.name_.SetAllocated(value, GetArena());
8386 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
8387 _impl_.name_.Set("", GetArena());
8388 }
8389 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
8390}
8391
8392// repeated int64 domain = 2;
8393inline int IntegerVariableProto::_internal_domain_size() const {
8394 return _internal_domain().size();
8395}
8396inline int IntegerVariableProto::domain_size() const {
8397 return _internal_domain_size();
8398}
8400 ::google::protobuf::internal::TSanWrite(&_impl_);
8401 _impl_.domain_.Clear();
8402}
8403inline ::int64_t IntegerVariableProto::domain(int index) const {
8404 // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
8405 return _internal_domain().Get(index);
8406}
8407inline void IntegerVariableProto::set_domain(int index, ::int64_t value) {
8408 _internal_mutable_domain()->Set(index, value);
8409 // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
8410}
8411inline void IntegerVariableProto::add_domain(::int64_t value) {
8412 ::google::protobuf::internal::TSanWrite(&_impl_);
8413 _internal_mutable_domain()->Add(value);
8414 // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
8415}
8416inline const ::google::protobuf::RepeatedField<::int64_t>& IntegerVariableProto::domain() const
8417 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8418 // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
8419 return _internal_domain();
8420}
8421inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL IntegerVariableProto::mutable_domain()
8422 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8423 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
8424 ::google::protobuf::internal::TSanWrite(&_impl_);
8425 return _internal_mutable_domain();
8426}
8427inline const ::google::protobuf::RepeatedField<::int64_t>&
8428IntegerVariableProto::_internal_domain() const {
8429 ::google::protobuf::internal::TSanRead(&_impl_);
8430 return _impl_.domain_;
8431}
8432inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
8433IntegerVariableProto::_internal_mutable_domain() {
8434 ::google::protobuf::internal::TSanRead(&_impl_);
8435 return &_impl_.domain_;
8436}
8438// -------------------------------------------------------------------
8439
8440// BoolArgumentProto
8442// repeated int32 literals = 1;
8443inline int BoolArgumentProto::_internal_literals_size() const {
8444 return _internal_literals().size();
8446inline int BoolArgumentProto::literals_size() const {
8447 return _internal_literals_size();
8448}
8450 ::google::protobuf::internal::TSanWrite(&_impl_);
8451 _impl_.literals_.Clear();
8452}
8453inline ::int32_t BoolArgumentProto::literals(int index) const {
8454 // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
8455 return _internal_literals().Get(index);
8456}
8457inline void BoolArgumentProto::set_literals(int index, ::int32_t value) {
8458 _internal_mutable_literals()->Set(index, value);
8459 // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
8460}
8461inline void BoolArgumentProto::add_literals(::int32_t value) {
8462 ::google::protobuf::internal::TSanWrite(&_impl_);
8463 _internal_mutable_literals()->Add(value);
8464 // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
8465}
8466inline const ::google::protobuf::RepeatedField<::int32_t>& BoolArgumentProto::literals() const
8467 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8468 // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
8469 return _internal_literals();
8470}
8471inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL BoolArgumentProto::mutable_literals()
8472 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8473 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
8474 ::google::protobuf::internal::TSanWrite(&_impl_);
8475 return _internal_mutable_literals();
8476}
8477inline const ::google::protobuf::RepeatedField<::int32_t>&
8478BoolArgumentProto::_internal_literals() const {
8479 ::google::protobuf::internal::TSanRead(&_impl_);
8480 return _impl_.literals_;
8482inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
8483BoolArgumentProto::_internal_mutable_literals() {
8484 ::google::protobuf::internal::TSanRead(&_impl_);
8485 return &_impl_.literals_;
8486}
8487
8488// -------------------------------------------------------------------
8489
8490// LinearExpressionProto
8491
8492// repeated int32 vars = 1;
8493inline int LinearExpressionProto::_internal_vars_size() const {
8494 return _internal_vars().size();
8495}
8497 return _internal_vars_size();
8498}
8500 ::google::protobuf::internal::TSanWrite(&_impl_);
8501 _impl_.vars_.Clear();
8502}
8503inline ::int32_t LinearExpressionProto::vars(int index) const {
8504 // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
8505 return _internal_vars().Get(index);
8507inline void LinearExpressionProto::set_vars(int index, ::int32_t value) {
8508 _internal_mutable_vars()->Set(index, value);
8509 // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
8510}
8511inline void LinearExpressionProto::add_vars(::int32_t value) {
8512 ::google::protobuf::internal::TSanWrite(&_impl_);
8513 _internal_mutable_vars()->Add(value);
8514 // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
8515}
8516inline const ::google::protobuf::RepeatedField<::int32_t>& LinearExpressionProto::vars() const
8517 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8518 // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
8519 return _internal_vars();
8520}
8521inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL LinearExpressionProto::mutable_vars()
8522 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8523 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
8524 ::google::protobuf::internal::TSanWrite(&_impl_);
8525 return _internal_mutable_vars();
8526}
8527inline const ::google::protobuf::RepeatedField<::int32_t>&
8528LinearExpressionProto::_internal_vars() const {
8529 ::google::protobuf::internal::TSanRead(&_impl_);
8530 return _impl_.vars_;
8531}
8532inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
8533LinearExpressionProto::_internal_mutable_vars() {
8534 ::google::protobuf::internal::TSanRead(&_impl_);
8535 return &_impl_.vars_;
8536}
8537
8538// repeated int64 coeffs = 2;
8539inline int LinearExpressionProto::_internal_coeffs_size() const {
8540 return _internal_coeffs().size();
8541}
8542inline int LinearExpressionProto::coeffs_size() const {
8543 return _internal_coeffs_size();
8544}
8546 ::google::protobuf::internal::TSanWrite(&_impl_);
8547 _impl_.coeffs_.Clear();
8548}
8549inline ::int64_t LinearExpressionProto::coeffs(int index) const {
8550 // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
8551 return _internal_coeffs().Get(index);
8553inline void LinearExpressionProto::set_coeffs(int index, ::int64_t value) {
8554 _internal_mutable_coeffs()->Set(index, value);
8555 // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
8556}
8557inline void LinearExpressionProto::add_coeffs(::int64_t value) {
8558 ::google::protobuf::internal::TSanWrite(&_impl_);
8559 _internal_mutable_coeffs()->Add(value);
8560 // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
8561}
8562inline const ::google::protobuf::RepeatedField<::int64_t>& LinearExpressionProto::coeffs() const
8563 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8564 // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
8565 return _internal_coeffs();
8566}
8567inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL LinearExpressionProto::mutable_coeffs()
8568 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8569 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
8570 ::google::protobuf::internal::TSanWrite(&_impl_);
8571 return _internal_mutable_coeffs();
8572}
8573inline const ::google::protobuf::RepeatedField<::int64_t>&
8574LinearExpressionProto::_internal_coeffs() const {
8575 ::google::protobuf::internal::TSanRead(&_impl_);
8576 return _impl_.coeffs_;
8577}
8578inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
8579LinearExpressionProto::_internal_mutable_coeffs() {
8580 ::google::protobuf::internal::TSanRead(&_impl_);
8581 return &_impl_.coeffs_;
8582}
8583
8584// int64 offset = 3;
8586 ::google::protobuf::internal::TSanWrite(&_impl_);
8587 _impl_.offset_ = ::int64_t{0};
8588 _impl_._has_bits_[0] &= ~0x00000001u;
8590inline ::int64_t LinearExpressionProto::offset() const {
8591 // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
8592 return _internal_offset();
8594inline void LinearExpressionProto::set_offset(::int64_t value) {
8595 _internal_set_offset(value);
8596 _impl_._has_bits_[0] |= 0x00000001u;
8597 // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
8599inline ::int64_t LinearExpressionProto::_internal_offset() const {
8600 ::google::protobuf::internal::TSanRead(&_impl_);
8601 return _impl_.offset_;
8602}
8603inline void LinearExpressionProto::_internal_set_offset(::int64_t value) {
8604 ::google::protobuf::internal::TSanWrite(&_impl_);
8605 _impl_.offset_ = value;
8606}
8607
8608// -------------------------------------------------------------------
8609
8610// LinearArgumentProto
8611
8612// .operations_research.sat.LinearExpressionProto target = 1;
8613inline bool LinearArgumentProto::has_target() const {
8614 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
8615 PROTOBUF_ASSUME(!value || _impl_.target_ != nullptr);
8616 return value;
8617}
8619 ::google::protobuf::internal::TSanWrite(&_impl_);
8620 if (_impl_.target_ != nullptr) _impl_.target_->Clear();
8621 _impl_._has_bits_[0] &= ~0x00000001u;
8622}
8623inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
8624 ::google::protobuf::internal::TSanRead(&_impl_);
8625 const ::operations_research::sat::LinearExpressionProto* p = _impl_.target_;
8627}
8628inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8629 // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
8630 return _internal_target();
8631}
8633 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
8634 ::google::protobuf::internal::TSanWrite(&_impl_);
8635 if (GetArena() == nullptr) {
8636 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_);
8637 }
8638 _impl_.target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
8639 if (value != nullptr) {
8640 _impl_._has_bits_[0] |= 0x00000001u;
8641 } else {
8642 _impl_._has_bits_[0] &= ~0x00000001u;
8643 }
8644 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
8645}
8646inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE LinearArgumentProto::release_target() {
8647 ::google::protobuf::internal::TSanWrite(&_impl_);
8648
8649 _impl_._has_bits_[0] &= ~0x00000001u;
8651 _impl_.target_ = nullptr;
8652 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
8653 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
8654 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8655 if (GetArena() == nullptr) {
8656 delete old;
8657 }
8658 } else {
8659 if (GetArena() != nullptr) {
8660 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8661 }
8662 }
8663 return released;
8664}
8665inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE LinearArgumentProto::unsafe_arena_release_target() {
8666 ::google::protobuf::internal::TSanWrite(&_impl_);
8667 // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
8668
8669 _impl_._has_bits_[0] &= ~0x00000001u;
8671 _impl_.target_ = nullptr;
8672 return temp;
8673}
8674inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL LinearArgumentProto::_internal_mutable_target() {
8675 ::google::protobuf::internal::TSanWrite(&_impl_);
8676 if (_impl_.target_ == nullptr) {
8677 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
8678 _impl_.target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
8679 }
8680 return _impl_.target_;
8681}
8682inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL LinearArgumentProto::mutable_target()
8683 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8684 _impl_._has_bits_[0] |= 0x00000001u;
8685 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_target();
8686 // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
8687 return _msg;
8688}
8690 ::google::protobuf::Arena* message_arena = GetArena();
8691 ::google::protobuf::internal::TSanWrite(&_impl_);
8692 if (message_arena == nullptr) {
8693 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_);
8694 }
8695
8696 if (value != nullptr) {
8697 ::google::protobuf::Arena* submessage_arena = value->GetArena();
8698 if (message_arena != submessage_arena) {
8699 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
8700 }
8701 _impl_._has_bits_[0] |= 0x00000001u;
8702 } else {
8703 _impl_._has_bits_[0] &= ~0x00000001u;
8704 }
8705
8706 _impl_.target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
8707 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
8708}
8709
8710// repeated .operations_research.sat.LinearExpressionProto exprs = 2;
8711inline int LinearArgumentProto::_internal_exprs_size() const {
8712 return _internal_exprs().size();
8713}
8714inline int LinearArgumentProto::exprs_size() const {
8715 return _internal_exprs_size();
8716}
8718 ::google::protobuf::internal::TSanWrite(&_impl_);
8719 _impl_.exprs_.Clear();
8720}
8721inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL LinearArgumentProto::mutable_exprs(int index)
8722 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8723 // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
8724 return _internal_mutable_exprs()->Mutable(index);
8725}
8726inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL LinearArgumentProto::mutable_exprs()
8727 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8728 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
8729 ::google::protobuf::internal::TSanWrite(&_impl_);
8730 return _internal_mutable_exprs();
8731}
8732inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const
8733 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8734 // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
8735 return _internal_exprs().Get(index);
8736}
8737inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL LinearArgumentProto::add_exprs()
8738 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8739 ::google::protobuf::internal::TSanWrite(&_impl_);
8740 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_exprs()->Add();
8741 // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
8742 return _add;
8743}
8744inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& LinearArgumentProto::exprs() const
8745 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8746 // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
8747 return _internal_exprs();
8748}
8749inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
8750LinearArgumentProto::_internal_exprs() const {
8751 ::google::protobuf::internal::TSanRead(&_impl_);
8752 return _impl_.exprs_;
8753}
8754inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
8755LinearArgumentProto::_internal_mutable_exprs() {
8756 ::google::protobuf::internal::TSanRead(&_impl_);
8757 return &_impl_.exprs_;
8759
8760// -------------------------------------------------------------------
8761
8762// AllDifferentConstraintProto
8764// repeated .operations_research.sat.LinearExpressionProto exprs = 1;
8765inline int AllDifferentConstraintProto::_internal_exprs_size() const {
8766 return _internal_exprs().size();
8767}
8768inline int AllDifferentConstraintProto::exprs_size() const {
8769 return _internal_exprs_size();
8770}
8772 ::google::protobuf::internal::TSanWrite(&_impl_);
8773 _impl_.exprs_.Clear();
8775inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL AllDifferentConstraintProto::mutable_exprs(int index)
8776 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8777 // @@protoc_insertion_point(field_mutable:operations_research.sat.AllDifferentConstraintProto.exprs)
8778 return _internal_mutable_exprs()->Mutable(index);
8779}
8780inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL AllDifferentConstraintProto::mutable_exprs()
8781 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8782 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.exprs)
8783 ::google::protobuf::internal::TSanWrite(&_impl_);
8784 return _internal_mutable_exprs();
8785}
8786inline const ::operations_research::sat::LinearExpressionProto& AllDifferentConstraintProto::exprs(int index) const
8787 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8788 // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.exprs)
8789 return _internal_exprs().Get(index);
8790}
8791inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL AllDifferentConstraintProto::add_exprs()
8792 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8793 ::google::protobuf::internal::TSanWrite(&_impl_);
8794 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_exprs()->Add();
8795 // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.exprs)
8796 return _add;
8797}
8798inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& AllDifferentConstraintProto::exprs() const
8799 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8800 // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.exprs)
8801 return _internal_exprs();
8802}
8803inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
8804AllDifferentConstraintProto::_internal_exprs() const {
8805 ::google::protobuf::internal::TSanRead(&_impl_);
8806 return _impl_.exprs_;
8807}
8808inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
8809AllDifferentConstraintProto::_internal_mutable_exprs() {
8810 ::google::protobuf::internal::TSanRead(&_impl_);
8811 return &_impl_.exprs_;
8812}
8814// -------------------------------------------------------------------
8815
8816// LinearConstraintProto
8817
8818// repeated int32 vars = 1;
8819inline int LinearConstraintProto::_internal_vars_size() const {
8820 return _internal_vars().size();
8821}
8822inline int LinearConstraintProto::vars_size() const {
8823 return _internal_vars_size();
8826 ::google::protobuf::internal::TSanWrite(&_impl_);
8827 _impl_.vars_.Clear();
8828}
8829inline ::int32_t LinearConstraintProto::vars(int index) const {
8830 // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
8831 return _internal_vars().Get(index);
8832}
8833inline void LinearConstraintProto::set_vars(int index, ::int32_t value) {
8834 _internal_mutable_vars()->Set(index, value);
8835 // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
8837inline void LinearConstraintProto::add_vars(::int32_t value) {
8838 ::google::protobuf::internal::TSanWrite(&_impl_);
8839 _internal_mutable_vars()->Add(value);
8840 // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
8841}
8842inline const ::google::protobuf::RepeatedField<::int32_t>& LinearConstraintProto::vars() const
8843 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8844 // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
8845 return _internal_vars();
8846}
8847inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL LinearConstraintProto::mutable_vars()
8848 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8849 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
8850 ::google::protobuf::internal::TSanWrite(&_impl_);
8851 return _internal_mutable_vars();
8852}
8853inline const ::google::protobuf::RepeatedField<::int32_t>&
8854LinearConstraintProto::_internal_vars() const {
8855 ::google::protobuf::internal::TSanRead(&_impl_);
8856 return _impl_.vars_;
8857}
8858inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
8859LinearConstraintProto::_internal_mutable_vars() {
8860 ::google::protobuf::internal::TSanRead(&_impl_);
8861 return &_impl_.vars_;
8862}
8863
8864// repeated int64 coeffs = 2;
8865inline int LinearConstraintProto::_internal_coeffs_size() const {
8866 return _internal_coeffs().size();
8867}
8869 return _internal_coeffs_size();
8870}
8872 ::google::protobuf::internal::TSanWrite(&_impl_);
8873 _impl_.coeffs_.Clear();
8874}
8875inline ::int64_t LinearConstraintProto::coeffs(int index) const {
8876 // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
8877 return _internal_coeffs().Get(index);
8878}
8879inline void LinearConstraintProto::set_coeffs(int index, ::int64_t value) {
8880 _internal_mutable_coeffs()->Set(index, value);
8881 // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
8882}
8883inline void LinearConstraintProto::add_coeffs(::int64_t value) {
8884 ::google::protobuf::internal::TSanWrite(&_impl_);
8885 _internal_mutable_coeffs()->Add(value);
8886 // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
8887}
8888inline const ::google::protobuf::RepeatedField<::int64_t>& LinearConstraintProto::coeffs() const
8889 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8890 // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
8891 return _internal_coeffs();
8892}
8893inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL LinearConstraintProto::mutable_coeffs()
8894 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8895 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
8896 ::google::protobuf::internal::TSanWrite(&_impl_);
8897 return _internal_mutable_coeffs();
8898}
8899inline const ::google::protobuf::RepeatedField<::int64_t>&
8900LinearConstraintProto::_internal_coeffs() const {
8901 ::google::protobuf::internal::TSanRead(&_impl_);
8902 return _impl_.coeffs_;
8903}
8904inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
8905LinearConstraintProto::_internal_mutable_coeffs() {
8906 ::google::protobuf::internal::TSanRead(&_impl_);
8907 return &_impl_.coeffs_;
8908}
8909
8910// repeated int64 domain = 3;
8911inline int LinearConstraintProto::_internal_domain_size() const {
8912 return _internal_domain().size();
8913}
8915 return _internal_domain_size();
8916}
8918 ::google::protobuf::internal::TSanWrite(&_impl_);
8919 _impl_.domain_.Clear();
8920}
8921inline ::int64_t LinearConstraintProto::domain(int index) const {
8922 // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
8923 return _internal_domain().Get(index);
8924}
8925inline void LinearConstraintProto::set_domain(int index, ::int64_t value) {
8926 _internal_mutable_domain()->Set(index, value);
8927 // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
8928}
8929inline void LinearConstraintProto::add_domain(::int64_t value) {
8930 ::google::protobuf::internal::TSanWrite(&_impl_);
8931 _internal_mutable_domain()->Add(value);
8932 // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
8933}
8934inline const ::google::protobuf::RepeatedField<::int64_t>& LinearConstraintProto::domain() const
8935 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8936 // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
8937 return _internal_domain();
8938}
8939inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL LinearConstraintProto::mutable_domain()
8940 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8941 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
8942 ::google::protobuf::internal::TSanWrite(&_impl_);
8943 return _internal_mutable_domain();
8944}
8945inline const ::google::protobuf::RepeatedField<::int64_t>&
8946LinearConstraintProto::_internal_domain() const {
8947 ::google::protobuf::internal::TSanRead(&_impl_);
8948 return _impl_.domain_;
8949}
8950inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
8951LinearConstraintProto::_internal_mutable_domain() {
8952 ::google::protobuf::internal::TSanRead(&_impl_);
8953 return &_impl_.domain_;
8954}
8955
8956// -------------------------------------------------------------------
8957
8958// ElementConstraintProto
8959
8960// int32 index = 1;
8962 ::google::protobuf::internal::TSanWrite(&_impl_);
8963 _impl_.index_ = 0;
8964 _impl_._has_bits_[0] &= ~0x00000004u;
8965}
8966inline ::int32_t ElementConstraintProto::index() const {
8967 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
8968 return _internal_index();
8969}
8970inline void ElementConstraintProto::set_index(::int32_t value) {
8971 _internal_set_index(value);
8972 _impl_._has_bits_[0] |= 0x00000004u;
8973 // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
8974}
8975inline ::int32_t ElementConstraintProto::_internal_index() const {
8976 ::google::protobuf::internal::TSanRead(&_impl_);
8977 return _impl_.index_;
8979inline void ElementConstraintProto::_internal_set_index(::int32_t value) {
8980 ::google::protobuf::internal::TSanWrite(&_impl_);
8981 _impl_.index_ = value;
8982}
8983
8984// int32 target = 2;
8986 ::google::protobuf::internal::TSanWrite(&_impl_);
8987 _impl_.target_ = 0;
8988 _impl_._has_bits_[0] &= ~0x00000008u;
8989}
8990inline ::int32_t ElementConstraintProto::target() const {
8991 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
8992 return _internal_target();
8993}
8994inline void ElementConstraintProto::set_target(::int32_t value) {
8995 _internal_set_target(value);
8996 _impl_._has_bits_[0] |= 0x00000008u;
8997 // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
8998}
8999inline ::int32_t ElementConstraintProto::_internal_target() const {
9000 ::google::protobuf::internal::TSanRead(&_impl_);
9001 return _impl_.target_;
9002}
9003inline void ElementConstraintProto::_internal_set_target(::int32_t value) {
9004 ::google::protobuf::internal::TSanWrite(&_impl_);
9005 _impl_.target_ = value;
9007
9008// repeated int32 vars = 3;
9009inline int ElementConstraintProto::_internal_vars_size() const {
9010 return _internal_vars().size();
9011}
9012inline int ElementConstraintProto::vars_size() const {
9013 return _internal_vars_size();
9014}
9016 ::google::protobuf::internal::TSanWrite(&_impl_);
9017 _impl_.vars_.Clear();
9018}
9019inline ::int32_t ElementConstraintProto::vars(int index) const {
9020 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
9021 return _internal_vars().Get(index);
9022}
9023inline void ElementConstraintProto::set_vars(int index, ::int32_t value) {
9024 _internal_mutable_vars()->Set(index, value);
9025 // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
9026}
9027inline void ElementConstraintProto::add_vars(::int32_t value) {
9028 ::google::protobuf::internal::TSanWrite(&_impl_);
9029 _internal_mutable_vars()->Add(value);
9030 // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
9031}
9032inline const ::google::protobuf::RepeatedField<::int32_t>& ElementConstraintProto::vars() const
9033 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9034 // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
9035 return _internal_vars();
9036}
9037inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ElementConstraintProto::mutable_vars()
9038 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9039 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
9040 ::google::protobuf::internal::TSanWrite(&_impl_);
9041 return _internal_mutable_vars();
9042}
9043inline const ::google::protobuf::RepeatedField<::int32_t>&
9044ElementConstraintProto::_internal_vars() const {
9045 ::google::protobuf::internal::TSanRead(&_impl_);
9046 return _impl_.vars_;
9047}
9048inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9049ElementConstraintProto::_internal_mutable_vars() {
9050 ::google::protobuf::internal::TSanRead(&_impl_);
9051 return &_impl_.vars_;
9053
9054// .operations_research.sat.LinearExpressionProto linear_index = 4;
9056 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
9057 PROTOBUF_ASSUME(!value || _impl_.linear_index_ != nullptr);
9058 return value;
9061 ::google::protobuf::internal::TSanWrite(&_impl_);
9062 if (_impl_.linear_index_ != nullptr) _impl_.linear_index_->Clear();
9063 _impl_._has_bits_[0] &= ~0x00000001u;
9064}
9065inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::_internal_linear_index() const {
9066 ::google::protobuf::internal::TSanRead(&_impl_);
9067 const ::operations_research::sat::LinearExpressionProto* p = _impl_.linear_index_;
9069}
9070inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::linear_index() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9071 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.linear_index)
9072 return _internal_linear_index();
9073}
9075 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9076 ::google::protobuf::internal::TSanWrite(&_impl_);
9077 if (GetArena() == nullptr) {
9078 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.linear_index_);
9079 }
9080 _impl_.linear_index_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9081 if (value != nullptr) {
9082 _impl_._has_bits_[0] |= 0x00000001u;
9083 } else {
9084 _impl_._has_bits_[0] &= ~0x00000001u;
9085 }
9086 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ElementConstraintProto.linear_index)
9087}
9088inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE ElementConstraintProto::release_linear_index() {
9089 ::google::protobuf::internal::TSanWrite(&_impl_);
9090
9091 _impl_._has_bits_[0] &= ~0x00000001u;
9092 ::operations_research::sat::LinearExpressionProto* released = _impl_.linear_index_;
9093 _impl_.linear_index_ = nullptr;
9094 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9095 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9096 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9097 if (GetArena() == nullptr) {
9098 delete old;
9099 }
9100 } else {
9101 if (GetArena() != nullptr) {
9102 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9103 }
9104 }
9105 return released;
9106}
9107inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE ElementConstraintProto::unsafe_arena_release_linear_index() {
9108 ::google::protobuf::internal::TSanWrite(&_impl_);
9109 // @@protoc_insertion_point(field_release:operations_research.sat.ElementConstraintProto.linear_index)
9111 _impl_._has_bits_[0] &= ~0x00000001u;
9113 _impl_.linear_index_ = nullptr;
9114 return temp;
9115}
9116inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::_internal_mutable_linear_index() {
9117 ::google::protobuf::internal::TSanWrite(&_impl_);
9118 if (_impl_.linear_index_ == nullptr) {
9119 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9120 _impl_.linear_index_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9121 }
9122 return _impl_.linear_index_;
9123}
9124inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::mutable_linear_index()
9125 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9126 _impl_._has_bits_[0] |= 0x00000001u;
9127 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_linear_index();
9128 // @@protoc_insertion_point(field_mutable:operations_research.sat.ElementConstraintProto.linear_index)
9129 return _msg;
9130}
9132 ::google::protobuf::Arena* message_arena = GetArena();
9133 ::google::protobuf::internal::TSanWrite(&_impl_);
9134 if (message_arena == nullptr) {
9135 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.linear_index_);
9136 }
9137
9138 if (value != nullptr) {
9139 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9140 if (message_arena != submessage_arena) {
9141 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9142 }
9143 _impl_._has_bits_[0] |= 0x00000001u;
9144 } else {
9145 _impl_._has_bits_[0] &= ~0x00000001u;
9146 }
9148 _impl_.linear_index_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9149 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ElementConstraintProto.linear_index)
9150}
9151
9152// .operations_research.sat.LinearExpressionProto linear_target = 5;
9154 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
9155 PROTOBUF_ASSUME(!value || _impl_.linear_target_ != nullptr);
9156 return value;
9157}
9159 ::google::protobuf::internal::TSanWrite(&_impl_);
9160 if (_impl_.linear_target_ != nullptr) _impl_.linear_target_->Clear();
9161 _impl_._has_bits_[0] &= ~0x00000002u;
9162}
9163inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::_internal_linear_target() const {
9164 ::google::protobuf::internal::TSanRead(&_impl_);
9165 const ::operations_research::sat::LinearExpressionProto* p = _impl_.linear_target_;
9167}
9168inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::linear_target() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9169 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.linear_target)
9170 return _internal_linear_target();
9173 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9174 ::google::protobuf::internal::TSanWrite(&_impl_);
9175 if (GetArena() == nullptr) {
9176 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.linear_target_);
9177 }
9178 _impl_.linear_target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9179 if (value != nullptr) {
9180 _impl_._has_bits_[0] |= 0x00000002u;
9181 } else {
9182 _impl_._has_bits_[0] &= ~0x00000002u;
9183 }
9184 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ElementConstraintProto.linear_target)
9185}
9186inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE ElementConstraintProto::release_linear_target() {
9187 ::google::protobuf::internal::TSanWrite(&_impl_);
9188
9189 _impl_._has_bits_[0] &= ~0x00000002u;
9190 ::operations_research::sat::LinearExpressionProto* released = _impl_.linear_target_;
9191 _impl_.linear_target_ = nullptr;
9192 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9193 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9194 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9195 if (GetArena() == nullptr) {
9196 delete old;
9197 }
9198 } else {
9199 if (GetArena() != nullptr) {
9200 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9201 }
9202 }
9203 return released;
9204}
9205inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE ElementConstraintProto::unsafe_arena_release_linear_target() {
9206 ::google::protobuf::internal::TSanWrite(&_impl_);
9207 // @@protoc_insertion_point(field_release:operations_research.sat.ElementConstraintProto.linear_target)
9209 _impl_._has_bits_[0] &= ~0x00000002u;
9211 _impl_.linear_target_ = nullptr;
9212 return temp;
9213}
9214inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::_internal_mutable_linear_target() {
9215 ::google::protobuf::internal::TSanWrite(&_impl_);
9216 if (_impl_.linear_target_ == nullptr) {
9217 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9218 _impl_.linear_target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9219 }
9220 return _impl_.linear_target_;
9221}
9222inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::mutable_linear_target()
9223 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9224 _impl_._has_bits_[0] |= 0x00000002u;
9225 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_linear_target();
9226 // @@protoc_insertion_point(field_mutable:operations_research.sat.ElementConstraintProto.linear_target)
9227 return _msg;
9228}
9230 ::google::protobuf::Arena* message_arena = GetArena();
9231 ::google::protobuf::internal::TSanWrite(&_impl_);
9232 if (message_arena == nullptr) {
9233 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.linear_target_);
9234 }
9235
9236 if (value != nullptr) {
9237 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9238 if (message_arena != submessage_arena) {
9239 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9240 }
9241 _impl_._has_bits_[0] |= 0x00000002u;
9242 } else {
9243 _impl_._has_bits_[0] &= ~0x00000002u;
9244 }
9246 _impl_.linear_target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9247 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ElementConstraintProto.linear_target)
9248}
9249
9250// repeated .operations_research.sat.LinearExpressionProto exprs = 6;
9251inline int ElementConstraintProto::_internal_exprs_size() const {
9252 return _internal_exprs().size();
9253}
9254inline int ElementConstraintProto::exprs_size() const {
9255 return _internal_exprs_size();
9256}
9258 ::google::protobuf::internal::TSanWrite(&_impl_);
9259 _impl_.exprs_.Clear();
9260}
9261inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::mutable_exprs(int index)
9262 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9263 // @@protoc_insertion_point(field_mutable:operations_research.sat.ElementConstraintProto.exprs)
9264 return _internal_mutable_exprs()->Mutable(index);
9265}
9266inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL ElementConstraintProto::mutable_exprs()
9267 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9268 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.exprs)
9269 ::google::protobuf::internal::TSanWrite(&_impl_);
9270 return _internal_mutable_exprs();
9271}
9272inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::exprs(int index) const
9273 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9274 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.exprs)
9275 return _internal_exprs().Get(index);
9276}
9277inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::add_exprs()
9278 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9279 ::google::protobuf::internal::TSanWrite(&_impl_);
9280 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_exprs()->Add();
9281 // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.exprs)
9282 return _add;
9283}
9284inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& ElementConstraintProto::exprs() const
9285 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9286 // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.exprs)
9287 return _internal_exprs();
9288}
9289inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
9290ElementConstraintProto::_internal_exprs() const {
9291 ::google::protobuf::internal::TSanRead(&_impl_);
9292 return _impl_.exprs_;
9293}
9294inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
9295ElementConstraintProto::_internal_mutable_exprs() {
9296 ::google::protobuf::internal::TSanRead(&_impl_);
9297 return &_impl_.exprs_;
9298}
9299
9300// -------------------------------------------------------------------
9302// IntervalConstraintProto
9303
9304// .operations_research.sat.LinearExpressionProto start = 4;
9305inline bool IntervalConstraintProto::has_start() const {
9306 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
9307 PROTOBUF_ASSUME(!value || _impl_.start_ != nullptr);
9308 return value;
9309}
9311 ::google::protobuf::internal::TSanWrite(&_impl_);
9312 if (_impl_.start_ != nullptr) _impl_.start_->Clear();
9313 _impl_._has_bits_[0] &= ~0x00000001u;
9314}
9315inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_start() const {
9316 ::google::protobuf::internal::TSanRead(&_impl_);
9317 const ::operations_research::sat::LinearExpressionProto* p = _impl_.start_;
9319}
9320inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::start() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9321 // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
9322 return _internal_start();
9323}
9325 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9326 ::google::protobuf::internal::TSanWrite(&_impl_);
9327 if (GetArena() == nullptr) {
9328 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_);
9329 }
9330 _impl_.start_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9331 if (value != nullptr) {
9332 _impl_._has_bits_[0] |= 0x00000001u;
9333 } else {
9334 _impl_._has_bits_[0] &= ~0x00000001u;
9335 }
9336 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.start)
9337}
9338inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::release_start() {
9339 ::google::protobuf::internal::TSanWrite(&_impl_);
9340
9341 _impl_._has_bits_[0] &= ~0x00000001u;
9343 _impl_.start_ = nullptr;
9344 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9345 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9346 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9347 if (GetArena() == nullptr) {
9348 delete old;
9349 }
9350 } else {
9351 if (GetArena() != nullptr) {
9352 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9353 }
9354 }
9355 return released;
9356}
9357inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::unsafe_arena_release_start() {
9358 ::google::protobuf::internal::TSanWrite(&_impl_);
9359 // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.start)
9360
9361 _impl_._has_bits_[0] &= ~0x00000001u;
9363 _impl_.start_ = nullptr;
9364 return temp;
9366inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::_internal_mutable_start() {
9367 ::google::protobuf::internal::TSanWrite(&_impl_);
9368 if (_impl_.start_ == nullptr) {
9369 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9370 _impl_.start_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9371 }
9372 return _impl_.start_;
9373}
9374inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::mutable_start()
9375 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9376 _impl_._has_bits_[0] |= 0x00000001u;
9377 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_start();
9378 // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.start)
9379 return _msg;
9380}
9382 ::google::protobuf::Arena* message_arena = GetArena();
9383 ::google::protobuf::internal::TSanWrite(&_impl_);
9384 if (message_arena == nullptr) {
9385 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_);
9386 }
9387
9388 if (value != nullptr) {
9389 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9390 if (message_arena != submessage_arena) {
9391 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9392 }
9393 _impl_._has_bits_[0] |= 0x00000001u;
9394 } else {
9395 _impl_._has_bits_[0] &= ~0x00000001u;
9396 }
9397
9398 _impl_.start_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9399 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.start)
9400}
9401
9402// .operations_research.sat.LinearExpressionProto end = 5;
9403inline bool IntervalConstraintProto::has_end() const {
9404 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
9405 PROTOBUF_ASSUME(!value || _impl_.end_ != nullptr);
9406 return value;
9407}
9409 ::google::protobuf::internal::TSanWrite(&_impl_);
9410 if (_impl_.end_ != nullptr) _impl_.end_->Clear();
9411 _impl_._has_bits_[0] &= ~0x00000002u;
9412}
9413inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_end() const {
9414 ::google::protobuf::internal::TSanRead(&_impl_);
9415 const ::operations_research::sat::LinearExpressionProto* p = _impl_.end_;
9417}
9418inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::end() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9419 // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
9420 return _internal_end();
9421}
9423 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9424 ::google::protobuf::internal::TSanWrite(&_impl_);
9425 if (GetArena() == nullptr) {
9426 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_);
9427 }
9428 _impl_.end_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9429 if (value != nullptr) {
9430 _impl_._has_bits_[0] |= 0x00000002u;
9431 } else {
9432 _impl_._has_bits_[0] &= ~0x00000002u;
9433 }
9434 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.end)
9435}
9436inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::release_end() {
9437 ::google::protobuf::internal::TSanWrite(&_impl_);
9438
9439 _impl_._has_bits_[0] &= ~0x00000002u;
9441 _impl_.end_ = nullptr;
9442 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9443 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9444 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9445 if (GetArena() == nullptr) {
9446 delete old;
9447 }
9448 } else {
9449 if (GetArena() != nullptr) {
9450 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9451 }
9452 }
9453 return released;
9454}
9455inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::unsafe_arena_release_end() {
9456 ::google::protobuf::internal::TSanWrite(&_impl_);
9457 // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.end)
9458
9459 _impl_._has_bits_[0] &= ~0x00000002u;
9461 _impl_.end_ = nullptr;
9462 return temp;
9464inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::_internal_mutable_end() {
9465 ::google::protobuf::internal::TSanWrite(&_impl_);
9466 if (_impl_.end_ == nullptr) {
9467 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9468 _impl_.end_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9469 }
9470 return _impl_.end_;
9471}
9472inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::mutable_end()
9473 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9474 _impl_._has_bits_[0] |= 0x00000002u;
9475 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_end();
9476 // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.end)
9477 return _msg;
9478}
9480 ::google::protobuf::Arena* message_arena = GetArena();
9481 ::google::protobuf::internal::TSanWrite(&_impl_);
9482 if (message_arena == nullptr) {
9483 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_);
9484 }
9485
9486 if (value != nullptr) {
9487 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9488 if (message_arena != submessage_arena) {
9489 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9490 }
9491 _impl_._has_bits_[0] |= 0x00000002u;
9492 } else {
9493 _impl_._has_bits_[0] &= ~0x00000002u;
9494 }
9495
9497 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.end)
9498}
9499
9500// .operations_research.sat.LinearExpressionProto size = 6;
9501inline bool IntervalConstraintProto::has_size() const {
9502 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
9503 PROTOBUF_ASSUME(!value || _impl_.size_ != nullptr);
9504 return value;
9505}
9507 ::google::protobuf::internal::TSanWrite(&_impl_);
9508 if (_impl_.size_ != nullptr) _impl_.size_->Clear();
9509 _impl_._has_bits_[0] &= ~0x00000004u;
9510}
9511inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_size() const {
9512 ::google::protobuf::internal::TSanRead(&_impl_);
9513 const ::operations_research::sat::LinearExpressionProto* p = _impl_.size_;
9515}
9516inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::size() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9517 // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
9518 return _internal_size();
9519}
9521 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9522 ::google::protobuf::internal::TSanWrite(&_impl_);
9523 if (GetArena() == nullptr) {
9524 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.size_);
9525 }
9526 _impl_.size_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9527 if (value != nullptr) {
9528 _impl_._has_bits_[0] |= 0x00000004u;
9529 } else {
9530 _impl_._has_bits_[0] &= ~0x00000004u;
9531 }
9532 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.size)
9533}
9534inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::release_size() {
9535 ::google::protobuf::internal::TSanWrite(&_impl_);
9536
9537 _impl_._has_bits_[0] &= ~0x00000004u;
9539 _impl_.size_ = nullptr;
9540 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9541 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9542 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9543 if (GetArena() == nullptr) {
9544 delete old;
9545 }
9546 } else {
9547 if (GetArena() != nullptr) {
9548 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9549 }
9550 }
9551 return released;
9552}
9553inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::unsafe_arena_release_size() {
9554 ::google::protobuf::internal::TSanWrite(&_impl_);
9555 // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.size)
9556
9557 _impl_._has_bits_[0] &= ~0x00000004u;
9559 _impl_.size_ = nullptr;
9560 return temp;
9562inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::_internal_mutable_size() {
9563 ::google::protobuf::internal::TSanWrite(&_impl_);
9564 if (_impl_.size_ == nullptr) {
9565 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9566 _impl_.size_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9567 }
9568 return _impl_.size_;
9569}
9570inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::mutable_size()
9571 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9572 _impl_._has_bits_[0] |= 0x00000004u;
9573 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_size();
9574 // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.size)
9575 return _msg;
9576}
9578 ::google::protobuf::Arena* message_arena = GetArena();
9579 ::google::protobuf::internal::TSanWrite(&_impl_);
9580 if (message_arena == nullptr) {
9581 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.size_);
9582 }
9583
9584 if (value != nullptr) {
9585 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9586 if (message_arena != submessage_arena) {
9587 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9588 }
9589 _impl_._has_bits_[0] |= 0x00000004u;
9590 } else {
9591 _impl_._has_bits_[0] &= ~0x00000004u;
9592 }
9593
9594 _impl_.size_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9595 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.size)
9596}
9597
9598// -------------------------------------------------------------------
9599
9600// NoOverlapConstraintProto
9601
9602// repeated int32 intervals = 1;
9603inline int NoOverlapConstraintProto::_internal_intervals_size() const {
9604 return _internal_intervals().size();
9605}
9607 return _internal_intervals_size();
9608}
9610 ::google::protobuf::internal::TSanWrite(&_impl_);
9611 _impl_.intervals_.Clear();
9612}
9613inline ::int32_t NoOverlapConstraintProto::intervals(int index) const {
9614 // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
9615 return _internal_intervals().Get(index);
9616}
9617inline void NoOverlapConstraintProto::set_intervals(int index, ::int32_t value) {
9618 _internal_mutable_intervals()->Set(index, value);
9619 // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
9620}
9621inline void NoOverlapConstraintProto::add_intervals(::int32_t value) {
9622 ::google::protobuf::internal::TSanWrite(&_impl_);
9623 _internal_mutable_intervals()->Add(value);
9624 // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
9625}
9626inline const ::google::protobuf::RepeatedField<::int32_t>& NoOverlapConstraintProto::intervals() const
9627 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9628 // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
9629 return _internal_intervals();
9630}
9631inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL NoOverlapConstraintProto::mutable_intervals()
9632 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9633 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
9634 ::google::protobuf::internal::TSanWrite(&_impl_);
9635 return _internal_mutable_intervals();
9636}
9637inline const ::google::protobuf::RepeatedField<::int32_t>&
9638NoOverlapConstraintProto::_internal_intervals() const {
9639 ::google::protobuf::internal::TSanRead(&_impl_);
9640 return _impl_.intervals_;
9641}
9642inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9643NoOverlapConstraintProto::_internal_mutable_intervals() {
9644 ::google::protobuf::internal::TSanRead(&_impl_);
9645 return &_impl_.intervals_;
9646}
9647
9648// -------------------------------------------------------------------
9649
9650// NoOverlap2DConstraintProto
9652// repeated int32 x_intervals = 1;
9653inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
9654 return _internal_x_intervals().size();
9657 return _internal_x_intervals_size();
9658}
9660 ::google::protobuf::internal::TSanWrite(&_impl_);
9661 _impl_.x_intervals_.Clear();
9662}
9663inline ::int32_t NoOverlap2DConstraintProto::x_intervals(int index) const {
9664 // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9665 return _internal_x_intervals().Get(index);
9666}
9667inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::int32_t value) {
9668 _internal_mutable_x_intervals()->Set(index, value);
9669 // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9670}
9671inline void NoOverlap2DConstraintProto::add_x_intervals(::int32_t value) {
9672 ::google::protobuf::internal::TSanWrite(&_impl_);
9673 _internal_mutable_x_intervals()->Add(value);
9674 // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9675}
9676inline const ::google::protobuf::RepeatedField<::int32_t>& NoOverlap2DConstraintProto::x_intervals() const
9677 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9678 // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9679 return _internal_x_intervals();
9680}
9681inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL NoOverlap2DConstraintProto::mutable_x_intervals()
9682 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9683 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9684 ::google::protobuf::internal::TSanWrite(&_impl_);
9685 return _internal_mutable_x_intervals();
9686}
9687inline const ::google::protobuf::RepeatedField<::int32_t>&
9688NoOverlap2DConstraintProto::_internal_x_intervals() const {
9689 ::google::protobuf::internal::TSanRead(&_impl_);
9690 return _impl_.x_intervals_;
9691}
9692inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9693NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
9694 ::google::protobuf::internal::TSanRead(&_impl_);
9695 return &_impl_.x_intervals_;
9696}
9697
9698// repeated int32 y_intervals = 2;
9699inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
9700 return _internal_y_intervals().size();
9701}
9703 return _internal_y_intervals_size();
9704}
9706 ::google::protobuf::internal::TSanWrite(&_impl_);
9707 _impl_.y_intervals_.Clear();
9708}
9709inline ::int32_t NoOverlap2DConstraintProto::y_intervals(int index) const {
9710 // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9711 return _internal_y_intervals().Get(index);
9712}
9713inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::int32_t value) {
9714 _internal_mutable_y_intervals()->Set(index, value);
9715 // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9716}
9717inline void NoOverlap2DConstraintProto::add_y_intervals(::int32_t value) {
9718 ::google::protobuf::internal::TSanWrite(&_impl_);
9719 _internal_mutable_y_intervals()->Add(value);
9720 // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9721}
9722inline const ::google::protobuf::RepeatedField<::int32_t>& NoOverlap2DConstraintProto::y_intervals() const
9723 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9724 // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9725 return _internal_y_intervals();
9726}
9727inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL NoOverlap2DConstraintProto::mutable_y_intervals()
9728 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9729 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9730 ::google::protobuf::internal::TSanWrite(&_impl_);
9731 return _internal_mutable_y_intervals();
9732}
9733inline const ::google::protobuf::RepeatedField<::int32_t>&
9734NoOverlap2DConstraintProto::_internal_y_intervals() const {
9735 ::google::protobuf::internal::TSanRead(&_impl_);
9736 return _impl_.y_intervals_;
9737}
9738inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9739NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
9740 ::google::protobuf::internal::TSanRead(&_impl_);
9741 return &_impl_.y_intervals_;
9742}
9743
9744// -------------------------------------------------------------------
9746// CumulativeConstraintProto
9747
9748// .operations_research.sat.LinearExpressionProto capacity = 1;
9749inline bool CumulativeConstraintProto::has_capacity() const {
9750 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
9751 PROTOBUF_ASSUME(!value || _impl_.capacity_ != nullptr);
9752 return value;
9753}
9755 ::google::protobuf::internal::TSanWrite(&_impl_);
9756 if (_impl_.capacity_ != nullptr) _impl_.capacity_->Clear();
9757 _impl_._has_bits_[0] &= ~0x00000001u;
9758}
9759inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::_internal_capacity() const {
9760 ::google::protobuf::internal::TSanRead(&_impl_);
9761 const ::operations_research::sat::LinearExpressionProto* p = _impl_.capacity_;
9763}
9764inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::capacity() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9765 // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
9766 return _internal_capacity();
9767}
9769 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9770 ::google::protobuf::internal::TSanWrite(&_impl_);
9771 if (GetArena() == nullptr) {
9772 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.capacity_);
9773 }
9774 _impl_.capacity_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9775 if (value != nullptr) {
9776 _impl_._has_bits_[0] |= 0x00000001u;
9777 } else {
9778 _impl_._has_bits_[0] &= ~0x00000001u;
9779 }
9780 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CumulativeConstraintProto.capacity)
9781}
9782inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE CumulativeConstraintProto::release_capacity() {
9783 ::google::protobuf::internal::TSanWrite(&_impl_);
9784
9785 _impl_._has_bits_[0] &= ~0x00000001u;
9786 ::operations_research::sat::LinearExpressionProto* released = _impl_.capacity_;
9787 _impl_.capacity_ = nullptr;
9788 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9789 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9790 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9791 if (GetArena() == nullptr) {
9792 delete old;
9794 } else {
9795 if (GetArena() != nullptr) {
9796 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9797 }
9799 return released;
9800}
9801inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE CumulativeConstraintProto::unsafe_arena_release_capacity() {
9802 ::google::protobuf::internal::TSanWrite(&_impl_);
9803 // @@protoc_insertion_point(field_release:operations_research.sat.CumulativeConstraintProto.capacity)
9804
9805 _impl_._has_bits_[0] &= ~0x00000001u;
9807 _impl_.capacity_ = nullptr;
9808 return temp;
9809}
9810inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL CumulativeConstraintProto::_internal_mutable_capacity() {
9811 ::google::protobuf::internal::TSanWrite(&_impl_);
9812 if (_impl_.capacity_ == nullptr) {
9813 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9814 _impl_.capacity_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9815 }
9816 return _impl_.capacity_;
9817}
9818inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL CumulativeConstraintProto::mutable_capacity()
9819 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9820 _impl_._has_bits_[0] |= 0x00000001u;
9821 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_capacity();
9822 // @@protoc_insertion_point(field_mutable:operations_research.sat.CumulativeConstraintProto.capacity)
9823 return _msg;
9824}
9826 ::google::protobuf::Arena* message_arena = GetArena();
9827 ::google::protobuf::internal::TSanWrite(&_impl_);
9828 if (message_arena == nullptr) {
9829 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.capacity_);
9830 }
9831
9832 if (value != nullptr) {
9833 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9834 if (message_arena != submessage_arena) {
9835 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9836 }
9837 _impl_._has_bits_[0] |= 0x00000001u;
9838 } else {
9839 _impl_._has_bits_[0] &= ~0x00000001u;
9840 }
9841
9842 _impl_.capacity_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9843 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CumulativeConstraintProto.capacity)
9844}
9846// repeated int32 intervals = 2;
9847inline int CumulativeConstraintProto::_internal_intervals_size() const {
9848 return _internal_intervals().size();
9849}
9851 return _internal_intervals_size();
9852}
9854 ::google::protobuf::internal::TSanWrite(&_impl_);
9855 _impl_.intervals_.Clear();
9856}
9857inline ::int32_t CumulativeConstraintProto::intervals(int index) const {
9858 // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
9859 return _internal_intervals().Get(index);
9860}
9861inline void CumulativeConstraintProto::set_intervals(int index, ::int32_t value) {
9862 _internal_mutable_intervals()->Set(index, value);
9863 // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
9864}
9865inline void CumulativeConstraintProto::add_intervals(::int32_t value) {
9866 ::google::protobuf::internal::TSanWrite(&_impl_);
9867 _internal_mutable_intervals()->Add(value);
9868 // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
9870inline const ::google::protobuf::RepeatedField<::int32_t>& CumulativeConstraintProto::intervals() const
9871 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9872 // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
9873 return _internal_intervals();
9874}
9875inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CumulativeConstraintProto::mutable_intervals()
9876 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9877 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
9878 ::google::protobuf::internal::TSanWrite(&_impl_);
9879 return _internal_mutable_intervals();
9880}
9881inline const ::google::protobuf::RepeatedField<::int32_t>&
9882CumulativeConstraintProto::_internal_intervals() const {
9883 ::google::protobuf::internal::TSanRead(&_impl_);
9884 return _impl_.intervals_;
9885}
9886inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9887CumulativeConstraintProto::_internal_mutable_intervals() {
9888 ::google::protobuf::internal::TSanRead(&_impl_);
9889 return &_impl_.intervals_;
9890}
9891
9892// repeated .operations_research.sat.LinearExpressionProto demands = 3;
9893inline int CumulativeConstraintProto::_internal_demands_size() const {
9894 return _internal_demands().size();
9895}
9896inline int CumulativeConstraintProto::demands_size() const {
9897 return _internal_demands_size();
9898}
9900 ::google::protobuf::internal::TSanWrite(&_impl_);
9901 _impl_.demands_.Clear();
9902}
9903inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL CumulativeConstraintProto::mutable_demands(int index)
9904 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9905 // @@protoc_insertion_point(field_mutable:operations_research.sat.CumulativeConstraintProto.demands)
9906 return _internal_mutable_demands()->Mutable(index);
9907}
9908inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL CumulativeConstraintProto::mutable_demands()
9909 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9910 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
9911 ::google::protobuf::internal::TSanWrite(&_impl_);
9912 return _internal_mutable_demands();
9913}
9914inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::demands(int index) const
9915 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9916 // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
9917 return _internal_demands().Get(index);
9918}
9919inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL CumulativeConstraintProto::add_demands()
9920 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9921 ::google::protobuf::internal::TSanWrite(&_impl_);
9922 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_demands()->Add();
9923 // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
9924 return _add;
9925}
9926inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& CumulativeConstraintProto::demands() const
9927 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9928 // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
9929 return _internal_demands();
9930}
9931inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
9932CumulativeConstraintProto::_internal_demands() const {
9933 ::google::protobuf::internal::TSanRead(&_impl_);
9934 return _impl_.demands_;
9935}
9936inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
9937CumulativeConstraintProto::_internal_mutable_demands() {
9938 ::google::protobuf::internal::TSanRead(&_impl_);
9939 return &_impl_.demands_;
9941
9942// -------------------------------------------------------------------
9944// ReservoirConstraintProto
9945
9946// int64 min_level = 1;
9948 ::google::protobuf::internal::TSanWrite(&_impl_);
9949 _impl_.min_level_ = ::int64_t{0};
9950 _impl_._has_bits_[0] &= ~0x00000001u;
9951}
9952inline ::int64_t ReservoirConstraintProto::min_level() const {
9953 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
9954 return _internal_min_level();
9955}
9956inline void ReservoirConstraintProto::set_min_level(::int64_t value) {
9957 _internal_set_min_level(value);
9958 _impl_._has_bits_[0] |= 0x00000001u;
9959 // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
9960}
9961inline ::int64_t ReservoirConstraintProto::_internal_min_level() const {
9962 ::google::protobuf::internal::TSanRead(&_impl_);
9963 return _impl_.min_level_;
9964}
9965inline void ReservoirConstraintProto::_internal_set_min_level(::int64_t value) {
9966 ::google::protobuf::internal::TSanWrite(&_impl_);
9967 _impl_.min_level_ = value;
9968}
9969
9970// int64 max_level = 2;
9972 ::google::protobuf::internal::TSanWrite(&_impl_);
9973 _impl_.max_level_ = ::int64_t{0};
9974 _impl_._has_bits_[0] &= ~0x00000002u;
9975}
9976inline ::int64_t ReservoirConstraintProto::max_level() const {
9977 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
9978 return _internal_max_level();
9979}
9980inline void ReservoirConstraintProto::set_max_level(::int64_t value) {
9981 _internal_set_max_level(value);
9982 _impl_._has_bits_[0] |= 0x00000002u;
9983 // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
9984}
9985inline ::int64_t ReservoirConstraintProto::_internal_max_level() const {
9986 ::google::protobuf::internal::TSanRead(&_impl_);
9987 return _impl_.max_level_;
9988}
9989inline void ReservoirConstraintProto::_internal_set_max_level(::int64_t value) {
9990 ::google::protobuf::internal::TSanWrite(&_impl_);
9991 _impl_.max_level_ = value;
9993
9994// repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
9995inline int ReservoirConstraintProto::_internal_time_exprs_size() const {
9996 return _internal_time_exprs().size();
9999 return _internal_time_exprs_size();
10000}
10002 ::google::protobuf::internal::TSanWrite(&_impl_);
10003 _impl_.time_exprs_.Clear();
10004}
10005inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_time_exprs(int index)
10006 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10007 // @@protoc_insertion_point(field_mutable:operations_research.sat.ReservoirConstraintProto.time_exprs)
10008 return _internal_mutable_time_exprs()->Mutable(index);
10009}
10010inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_time_exprs()
10011 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10012 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.time_exprs)
10013 ::google::protobuf::internal::TSanWrite(&_impl_);
10014 return _internal_mutable_time_exprs();
10015}
10016inline const ::operations_research::sat::LinearExpressionProto& ReservoirConstraintProto::time_exprs(int index) const
10017 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10018 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.time_exprs)
10019 return _internal_time_exprs().Get(index);
10020}
10021inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ReservoirConstraintProto::add_time_exprs()
10022 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10023 ::google::protobuf::internal::TSanWrite(&_impl_);
10024 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_time_exprs()->Add();
10025 // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.time_exprs)
10026 return _add;
10027}
10028inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& ReservoirConstraintProto::time_exprs() const
10029 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10030 // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.time_exprs)
10031 return _internal_time_exprs();
10032}
10033inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
10034ReservoirConstraintProto::_internal_time_exprs() const {
10035 ::google::protobuf::internal::TSanRead(&_impl_);
10036 return _impl_.time_exprs_;
10037}
10038inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10039ReservoirConstraintProto::_internal_mutable_time_exprs() {
10040 ::google::protobuf::internal::TSanRead(&_impl_);
10041 return &_impl_.time_exprs_;
10042}
10044// repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
10045inline int ReservoirConstraintProto::_internal_level_changes_size() const {
10046 return _internal_level_changes().size();
10047}
10049 return _internal_level_changes_size();
10052 ::google::protobuf::internal::TSanWrite(&_impl_);
10053 _impl_.level_changes_.Clear();
10054}
10055inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_level_changes(int index)
10056 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10057 // @@protoc_insertion_point(field_mutable:operations_research.sat.ReservoirConstraintProto.level_changes)
10058 return _internal_mutable_level_changes()->Mutable(index);
10059}
10060inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_level_changes()
10061 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10062 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.level_changes)
10063 ::google::protobuf::internal::TSanWrite(&_impl_);
10064 return _internal_mutable_level_changes();
10065}
10066inline const ::operations_research::sat::LinearExpressionProto& ReservoirConstraintProto::level_changes(int index) const
10067 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10068 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.level_changes)
10069 return _internal_level_changes().Get(index);
10070}
10071inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ReservoirConstraintProto::add_level_changes()
10072 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10073 ::google::protobuf::internal::TSanWrite(&_impl_);
10074 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_level_changes()->Add();
10075 // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.level_changes)
10076 return _add;
10077}
10078inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& ReservoirConstraintProto::level_changes() const
10079 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10080 // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.level_changes)
10081 return _internal_level_changes();
10082}
10083inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
10084ReservoirConstraintProto::_internal_level_changes() const {
10085 ::google::protobuf::internal::TSanRead(&_impl_);
10086 return _impl_.level_changes_;
10087}
10088inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10089ReservoirConstraintProto::_internal_mutable_level_changes() {
10090 ::google::protobuf::internal::TSanRead(&_impl_);
10091 return &_impl_.level_changes_;
10092}
10094// repeated int32 active_literals = 5;
10095inline int ReservoirConstraintProto::_internal_active_literals_size() const {
10096 return _internal_active_literals().size();
10097}
10099 return _internal_active_literals_size();
10102 ::google::protobuf::internal::TSanWrite(&_impl_);
10103 _impl_.active_literals_.Clear();
10104}
10105inline ::int32_t ReservoirConstraintProto::active_literals(int index) const {
10106 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.active_literals)
10107 return _internal_active_literals().Get(index);
10108}
10109inline void ReservoirConstraintProto::set_active_literals(int index, ::int32_t value) {
10110 _internal_mutable_active_literals()->Set(index, value);
10111 // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.active_literals)
10112}
10113inline void ReservoirConstraintProto::add_active_literals(::int32_t value) {
10114 ::google::protobuf::internal::TSanWrite(&_impl_);
10115 _internal_mutable_active_literals()->Add(value);
10116 // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.active_literals)
10117}
10118inline const ::google::protobuf::RepeatedField<::int32_t>& ReservoirConstraintProto::active_literals() const
10119 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10120 // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.active_literals)
10121 return _internal_active_literals();
10122}
10123inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_active_literals()
10124 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10125 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.active_literals)
10126 ::google::protobuf::internal::TSanWrite(&_impl_);
10127 return _internal_mutable_active_literals();
10128}
10129inline const ::google::protobuf::RepeatedField<::int32_t>&
10130ReservoirConstraintProto::_internal_active_literals() const {
10131 ::google::protobuf::internal::TSanRead(&_impl_);
10132 return _impl_.active_literals_;
10133}
10134inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10135ReservoirConstraintProto::_internal_mutable_active_literals() {
10136 ::google::protobuf::internal::TSanRead(&_impl_);
10137 return &_impl_.active_literals_;
10138}
10139
10140// -------------------------------------------------------------------
10141
10142// CircuitConstraintProto
10144// repeated int32 tails = 3;
10145inline int CircuitConstraintProto::_internal_tails_size() const {
10146 return _internal_tails().size();
10147}
10148inline int CircuitConstraintProto::tails_size() const {
10149 return _internal_tails_size();
10152 ::google::protobuf::internal::TSanWrite(&_impl_);
10153 _impl_.tails_.Clear();
10155inline ::int32_t CircuitConstraintProto::tails(int index) const {
10156 // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
10157 return _internal_tails().Get(index);
10159inline void CircuitConstraintProto::set_tails(int index, ::int32_t value) {
10160 _internal_mutable_tails()->Set(index, value);
10161 // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
10162}
10163inline void CircuitConstraintProto::add_tails(::int32_t value) {
10164 ::google::protobuf::internal::TSanWrite(&_impl_);
10165 _internal_mutable_tails()->Add(value);
10166 // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
10167}
10168inline const ::google::protobuf::RepeatedField<::int32_t>& CircuitConstraintProto::tails() const
10169 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10170 // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
10171 return _internal_tails();
10172}
10173inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CircuitConstraintProto::mutable_tails()
10174 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10175 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
10176 ::google::protobuf::internal::TSanWrite(&_impl_);
10177 return _internal_mutable_tails();
10178}
10179inline const ::google::protobuf::RepeatedField<::int32_t>&
10180CircuitConstraintProto::_internal_tails() const {
10181 ::google::protobuf::internal::TSanRead(&_impl_);
10182 return _impl_.tails_;
10183}
10184inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10185CircuitConstraintProto::_internal_mutable_tails() {
10186 ::google::protobuf::internal::TSanRead(&_impl_);
10187 return &_impl_.tails_;
10188}
10189
10190// repeated int32 heads = 4;
10191inline int CircuitConstraintProto::_internal_heads_size() const {
10192 return _internal_heads().size();
10193}
10195 return _internal_heads_size();
10196}
10198 ::google::protobuf::internal::TSanWrite(&_impl_);
10199 _impl_.heads_.Clear();
10200}
10201inline ::int32_t CircuitConstraintProto::heads(int index) const {
10202 // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
10203 return _internal_heads().Get(index);
10204}
10205inline void CircuitConstraintProto::set_heads(int index, ::int32_t value) {
10206 _internal_mutable_heads()->Set(index, value);
10207 // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
10208}
10209inline void CircuitConstraintProto::add_heads(::int32_t value) {
10210 ::google::protobuf::internal::TSanWrite(&_impl_);
10211 _internal_mutable_heads()->Add(value);
10212 // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
10213}
10214inline const ::google::protobuf::RepeatedField<::int32_t>& CircuitConstraintProto::heads() const
10215 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10216 // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
10217 return _internal_heads();
10218}
10219inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CircuitConstraintProto::mutable_heads()
10220 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10221 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
10222 ::google::protobuf::internal::TSanWrite(&_impl_);
10223 return _internal_mutable_heads();
10224}
10225inline const ::google::protobuf::RepeatedField<::int32_t>&
10226CircuitConstraintProto::_internal_heads() const {
10227 ::google::protobuf::internal::TSanRead(&_impl_);
10228 return _impl_.heads_;
10229}
10230inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10231CircuitConstraintProto::_internal_mutable_heads() {
10232 ::google::protobuf::internal::TSanRead(&_impl_);
10233 return &_impl_.heads_;
10234}
10235
10236// repeated int32 literals = 5;
10237inline int CircuitConstraintProto::_internal_literals_size() const {
10238 return _internal_literals().size();
10239}
10241 return _internal_literals_size();
10242}
10244 ::google::protobuf::internal::TSanWrite(&_impl_);
10245 _impl_.literals_.Clear();
10246}
10247inline ::int32_t CircuitConstraintProto::literals(int index) const {
10248 // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
10249 return _internal_literals().Get(index);
10250}
10251inline void CircuitConstraintProto::set_literals(int index, ::int32_t value) {
10252 _internal_mutable_literals()->Set(index, value);
10253 // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
10254}
10255inline void CircuitConstraintProto::add_literals(::int32_t value) {
10256 ::google::protobuf::internal::TSanWrite(&_impl_);
10257 _internal_mutable_literals()->Add(value);
10258 // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
10259}
10260inline const ::google::protobuf::RepeatedField<::int32_t>& CircuitConstraintProto::literals() const
10261 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10262 // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
10263 return _internal_literals();
10264}
10265inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CircuitConstraintProto::mutable_literals()
10266 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10267 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
10268 ::google::protobuf::internal::TSanWrite(&_impl_);
10269 return _internal_mutable_literals();
10270}
10271inline const ::google::protobuf::RepeatedField<::int32_t>&
10272CircuitConstraintProto::_internal_literals() const {
10273 ::google::protobuf::internal::TSanRead(&_impl_);
10274 return _impl_.literals_;
10275}
10276inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10277CircuitConstraintProto::_internal_mutable_literals() {
10278 ::google::protobuf::internal::TSanRead(&_impl_);
10279 return &_impl_.literals_;
10280}
10281
10282// -------------------------------------------------------------------
10283
10284// RoutesConstraintProto_NodeExpressions
10285
10286// repeated .operations_research.sat.LinearExpressionProto exprs = 1;
10287inline int RoutesConstraintProto_NodeExpressions::_internal_exprs_size() const {
10288 return _internal_exprs().size();
10291 return _internal_exprs_size();
10292}
10294 ::google::protobuf::internal::TSanWrite(&_impl_);
10295 _impl_.exprs_.Clear();
10296}
10297inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL RoutesConstraintProto_NodeExpressions::mutable_exprs(int index)
10298 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10299 // @@protoc_insertion_point(field_mutable:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10300 return _internal_mutable_exprs()->Mutable(index);
10302inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL RoutesConstraintProto_NodeExpressions::mutable_exprs()
10303 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10304 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10305 ::google::protobuf::internal::TSanWrite(&_impl_);
10306 return _internal_mutable_exprs();
10307}
10308inline const ::operations_research::sat::LinearExpressionProto& RoutesConstraintProto_NodeExpressions::exprs(int index) const
10309 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10310 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10311 return _internal_exprs().Get(index);
10312}
10313inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL RoutesConstraintProto_NodeExpressions::add_exprs()
10314 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10315 ::google::protobuf::internal::TSanWrite(&_impl_);
10316 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_exprs()->Add();
10317 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10318 return _add;
10319}
10320inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& RoutesConstraintProto_NodeExpressions::exprs() const
10321 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10322 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10323 return _internal_exprs();
10324}
10325inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
10326RoutesConstraintProto_NodeExpressions::_internal_exprs() const {
10327 ::google::protobuf::internal::TSanRead(&_impl_);
10328 return _impl_.exprs_;
10329}
10330inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10331RoutesConstraintProto_NodeExpressions::_internal_mutable_exprs() {
10332 ::google::protobuf::internal::TSanRead(&_impl_);
10333 return &_impl_.exprs_;
10334}
10335
10336// -------------------------------------------------------------------
10338// RoutesConstraintProto
10339
10340// repeated int32 tails = 1;
10341inline int RoutesConstraintProto::_internal_tails_size() const {
10342 return _internal_tails().size();
10343}
10345 return _internal_tails_size();
10346}
10348 ::google::protobuf::internal::TSanWrite(&_impl_);
10349 _impl_.tails_.Clear();
10350}
10351inline ::int32_t RoutesConstraintProto::tails(int index) const {
10352 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
10353 return _internal_tails().Get(index);
10354}
10355inline void RoutesConstraintProto::set_tails(int index, ::int32_t value) {
10356 _internal_mutable_tails()->Set(index, value);
10357 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
10358}
10359inline void RoutesConstraintProto::add_tails(::int32_t value) {
10360 ::google::protobuf::internal::TSanWrite(&_impl_);
10361 _internal_mutable_tails()->Add(value);
10362 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
10363}
10364inline const ::google::protobuf::RepeatedField<::int32_t>& RoutesConstraintProto::tails() const
10365 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10366 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
10367 return _internal_tails();
10368}
10369inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_tails()
10370 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10371 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
10372 ::google::protobuf::internal::TSanWrite(&_impl_);
10373 return _internal_mutable_tails();
10374}
10375inline const ::google::protobuf::RepeatedField<::int32_t>&
10376RoutesConstraintProto::_internal_tails() const {
10377 ::google::protobuf::internal::TSanRead(&_impl_);
10378 return _impl_.tails_;
10379}
10380inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10381RoutesConstraintProto::_internal_mutable_tails() {
10382 ::google::protobuf::internal::TSanRead(&_impl_);
10383 return &_impl_.tails_;
10384}
10385
10386// repeated int32 heads = 2;
10387inline int RoutesConstraintProto::_internal_heads_size() const {
10388 return _internal_heads().size();
10389}
10390inline int RoutesConstraintProto::heads_size() const {
10391 return _internal_heads_size();
10394 ::google::protobuf::internal::TSanWrite(&_impl_);
10395 _impl_.heads_.Clear();
10396}
10397inline ::int32_t RoutesConstraintProto::heads(int index) const {
10398 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
10399 return _internal_heads().Get(index);
10400}
10401inline void RoutesConstraintProto::set_heads(int index, ::int32_t value) {
10402 _internal_mutable_heads()->Set(index, value);
10403 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
10404}
10405inline void RoutesConstraintProto::add_heads(::int32_t value) {
10406 ::google::protobuf::internal::TSanWrite(&_impl_);
10407 _internal_mutable_heads()->Add(value);
10408 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
10409}
10410inline const ::google::protobuf::RepeatedField<::int32_t>& RoutesConstraintProto::heads() const
10411 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10412 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
10413 return _internal_heads();
10414}
10415inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_heads()
10416 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10417 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
10418 ::google::protobuf::internal::TSanWrite(&_impl_);
10419 return _internal_mutable_heads();
10420}
10421inline const ::google::protobuf::RepeatedField<::int32_t>&
10422RoutesConstraintProto::_internal_heads() const {
10423 ::google::protobuf::internal::TSanRead(&_impl_);
10424 return _impl_.heads_;
10425}
10426inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10427RoutesConstraintProto::_internal_mutable_heads() {
10428 ::google::protobuf::internal::TSanRead(&_impl_);
10429 return &_impl_.heads_;
10430}
10431
10432// repeated int32 literals = 3;
10433inline int RoutesConstraintProto::_internal_literals_size() const {
10434 return _internal_literals().size();
10435}
10436inline int RoutesConstraintProto::literals_size() const {
10437 return _internal_literals_size();
10440 ::google::protobuf::internal::TSanWrite(&_impl_);
10441 _impl_.literals_.Clear();
10442}
10443inline ::int32_t RoutesConstraintProto::literals(int index) const {
10444 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
10445 return _internal_literals().Get(index);
10446}
10447inline void RoutesConstraintProto::set_literals(int index, ::int32_t value) {
10448 _internal_mutable_literals()->Set(index, value);
10449 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
10450}
10451inline void RoutesConstraintProto::add_literals(::int32_t value) {
10452 ::google::protobuf::internal::TSanWrite(&_impl_);
10453 _internal_mutable_literals()->Add(value);
10454 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
10455}
10456inline const ::google::protobuf::RepeatedField<::int32_t>& RoutesConstraintProto::literals() const
10457 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10458 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
10459 return _internal_literals();
10460}
10461inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_literals()
10462 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10463 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
10464 ::google::protobuf::internal::TSanWrite(&_impl_);
10465 return _internal_mutable_literals();
10466}
10467inline const ::google::protobuf::RepeatedField<::int32_t>&
10468RoutesConstraintProto::_internal_literals() const {
10469 ::google::protobuf::internal::TSanRead(&_impl_);
10470 return _impl_.literals_;
10471}
10472inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10473RoutesConstraintProto::_internal_mutable_literals() {
10474 ::google::protobuf::internal::TSanRead(&_impl_);
10475 return &_impl_.literals_;
10476}
10477
10478// repeated int32 demands = 4;
10479inline int RoutesConstraintProto::_internal_demands_size() const {
10480 return _internal_demands().size();
10481}
10482inline int RoutesConstraintProto::demands_size() const {
10483 return _internal_demands_size();
10486 ::google::protobuf::internal::TSanWrite(&_impl_);
10487 _impl_.demands_.Clear();
10488}
10489inline ::int32_t RoutesConstraintProto::demands(int index) const {
10490 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
10491 return _internal_demands().Get(index);
10492}
10493inline void RoutesConstraintProto::set_demands(int index, ::int32_t value) {
10494 _internal_mutable_demands()->Set(index, value);
10495 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
10496}
10497inline void RoutesConstraintProto::add_demands(::int32_t value) {
10498 ::google::protobuf::internal::TSanWrite(&_impl_);
10499 _internal_mutable_demands()->Add(value);
10500 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
10501}
10502inline const ::google::protobuf::RepeatedField<::int32_t>& RoutesConstraintProto::demands() const
10503 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10504 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
10505 return _internal_demands();
10506}
10507inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_demands()
10508 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10509 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
10510 ::google::protobuf::internal::TSanWrite(&_impl_);
10511 return _internal_mutable_demands();
10512}
10513inline const ::google::protobuf::RepeatedField<::int32_t>&
10514RoutesConstraintProto::_internal_demands() const {
10515 ::google::protobuf::internal::TSanRead(&_impl_);
10516 return _impl_.demands_;
10517}
10518inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10519RoutesConstraintProto::_internal_mutable_demands() {
10520 ::google::protobuf::internal::TSanRead(&_impl_);
10521 return &_impl_.demands_;
10522}
10523
10524// int64 capacity = 5;
10526 ::google::protobuf::internal::TSanWrite(&_impl_);
10527 _impl_.capacity_ = ::int64_t{0};
10528 _impl_._has_bits_[0] &= ~0x00000001u;
10529}
10530inline ::int64_t RoutesConstraintProto::capacity() const {
10531 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
10532 return _internal_capacity();
10534inline void RoutesConstraintProto::set_capacity(::int64_t value) {
10535 _internal_set_capacity(value);
10536 _impl_._has_bits_[0] |= 0x00000001u;
10537 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
10538}
10539inline ::int64_t RoutesConstraintProto::_internal_capacity() const {
10540 ::google::protobuf::internal::TSanRead(&_impl_);
10541 return _impl_.capacity_;
10542}
10543inline void RoutesConstraintProto::_internal_set_capacity(::int64_t value) {
10544 ::google::protobuf::internal::TSanWrite(&_impl_);
10545 _impl_.capacity_ = value;
10546}
10547
10548// repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
10549inline int RoutesConstraintProto::_internal_dimensions_size() const {
10550 return _internal_dimensions().size();
10551}
10552inline int RoutesConstraintProto::dimensions_size() const {
10553 return _internal_dimensions_size();
10554}
10556 ::google::protobuf::internal::TSanWrite(&_impl_);
10557 _impl_.dimensions_.Clear();
10558}
10559inline ::operations_research::sat::RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL RoutesConstraintProto::mutable_dimensions(int index)
10560 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10561 // @@protoc_insertion_point(field_mutable:operations_research.sat.RoutesConstraintProto.dimensions)
10562 return _internal_mutable_dimensions()->Mutable(index);
10563}
10564inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_dimensions()
10565 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10566 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.dimensions)
10567 ::google::protobuf::internal::TSanWrite(&_impl_);
10568 return _internal_mutable_dimensions();
10569}
10570inline const ::operations_research::sat::RoutesConstraintProto_NodeExpressions& RoutesConstraintProto::dimensions(int index) const
10571 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10572 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.dimensions)
10573 return _internal_dimensions().Get(index);
10574}
10575inline ::operations_research::sat::RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL RoutesConstraintProto::add_dimensions()
10576 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10577 ::google::protobuf::internal::TSanWrite(&_impl_);
10578 ::operations_research::sat::RoutesConstraintProto_NodeExpressions* _add = _internal_mutable_dimensions()->Add();
10579 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.dimensions)
10580 return _add;
10581}
10582inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>& RoutesConstraintProto::dimensions() const
10583 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10584 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.dimensions)
10585 return _internal_dimensions();
10586}
10587inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>&
10588RoutesConstraintProto::_internal_dimensions() const {
10589 ::google::protobuf::internal::TSanRead(&_impl_);
10590 return _impl_.dimensions_;
10591}
10592inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>* PROTOBUF_NONNULL
10593RoutesConstraintProto::_internal_mutable_dimensions() {
10594 ::google::protobuf::internal::TSanRead(&_impl_);
10595 return &_impl_.dimensions_;
10596}
10597
10598// -------------------------------------------------------------------
10599
10600// TableConstraintProto
10601
10602// repeated int32 vars = 1;
10603inline int TableConstraintProto::_internal_vars_size() const {
10604 return _internal_vars().size();
10605}
10606inline int TableConstraintProto::vars_size() const {
10607 return _internal_vars_size();
10608}
10610 ::google::protobuf::internal::TSanWrite(&_impl_);
10611 _impl_.vars_.Clear();
10613inline ::int32_t TableConstraintProto::vars(int index) const {
10614 // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
10615 return _internal_vars().Get(index);
10616}
10617inline void TableConstraintProto::set_vars(int index, ::int32_t value) {
10618 _internal_mutable_vars()->Set(index, value);
10619 // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
10620}
10621inline void TableConstraintProto::add_vars(::int32_t value) {
10622 ::google::protobuf::internal::TSanWrite(&_impl_);
10623 _internal_mutable_vars()->Add(value);
10624 // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
10625}
10626inline const ::google::protobuf::RepeatedField<::int32_t>& TableConstraintProto::vars() const
10627 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10628 // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
10629 return _internal_vars();
10631inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL TableConstraintProto::mutable_vars()
10632 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10633 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
10634 ::google::protobuf::internal::TSanWrite(&_impl_);
10635 return _internal_mutable_vars();
10636}
10637inline const ::google::protobuf::RepeatedField<::int32_t>&
10638TableConstraintProto::_internal_vars() const {
10639 ::google::protobuf::internal::TSanRead(&_impl_);
10640 return _impl_.vars_;
10641}
10642inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10643TableConstraintProto::_internal_mutable_vars() {
10644 ::google::protobuf::internal::TSanRead(&_impl_);
10645 return &_impl_.vars_;
10646}
10647
10648// repeated int64 values = 2;
10649inline int TableConstraintProto::_internal_values_size() const {
10650 return _internal_values().size();
10651}
10652inline int TableConstraintProto::values_size() const {
10653 return _internal_values_size();
10654}
10656 ::google::protobuf::internal::TSanWrite(&_impl_);
10657 _impl_.values_.Clear();
10659inline ::int64_t TableConstraintProto::values(int index) const {
10660 // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
10661 return _internal_values().Get(index);
10663inline void TableConstraintProto::set_values(int index, ::int64_t value) {
10664 _internal_mutable_values()->Set(index, value);
10665 // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
10667inline void TableConstraintProto::add_values(::int64_t value) {
10668 ::google::protobuf::internal::TSanWrite(&_impl_);
10669 _internal_mutable_values()->Add(value);
10670 // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
10671}
10672inline const ::google::protobuf::RepeatedField<::int64_t>& TableConstraintProto::values() const
10673 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10674 // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
10675 return _internal_values();
10676}
10677inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL TableConstraintProto::mutable_values()
10678 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10679 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
10680 ::google::protobuf::internal::TSanWrite(&_impl_);
10681 return _internal_mutable_values();
10682}
10683inline const ::google::protobuf::RepeatedField<::int64_t>&
10684TableConstraintProto::_internal_values() const {
10685 ::google::protobuf::internal::TSanRead(&_impl_);
10686 return _impl_.values_;
10687}
10688inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
10689TableConstraintProto::_internal_mutable_values() {
10690 ::google::protobuf::internal::TSanRead(&_impl_);
10691 return &_impl_.values_;
10692}
10693
10694// repeated .operations_research.sat.LinearExpressionProto exprs = 4;
10695inline int TableConstraintProto::_internal_exprs_size() const {
10696 return _internal_exprs().size();
10697}
10698inline int TableConstraintProto::exprs_size() const {
10699 return _internal_exprs_size();
10700}
10702 ::google::protobuf::internal::TSanWrite(&_impl_);
10703 _impl_.exprs_.Clear();
10705inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL TableConstraintProto::mutable_exprs(int index)
10706 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10707 // @@protoc_insertion_point(field_mutable:operations_research.sat.TableConstraintProto.exprs)
10708 return _internal_mutable_exprs()->Mutable(index);
10709}
10710inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL TableConstraintProto::mutable_exprs()
10711 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10712 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.exprs)
10713 ::google::protobuf::internal::TSanWrite(&_impl_);
10714 return _internal_mutable_exprs();
10715}
10716inline const ::operations_research::sat::LinearExpressionProto& TableConstraintProto::exprs(int index) const
10717 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10718 // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.exprs)
10719 return _internal_exprs().Get(index);
10720}
10721inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL TableConstraintProto::add_exprs()
10722 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10723 ::google::protobuf::internal::TSanWrite(&_impl_);
10724 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_exprs()->Add();
10725 // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.exprs)
10726 return _add;
10727}
10728inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& TableConstraintProto::exprs() const
10729 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10730 // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.exprs)
10731 return _internal_exprs();
10732}
10733inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
10734TableConstraintProto::_internal_exprs() const {
10735 ::google::protobuf::internal::TSanRead(&_impl_);
10736 return _impl_.exprs_;
10737}
10738inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10739TableConstraintProto::_internal_mutable_exprs() {
10740 ::google::protobuf::internal::TSanRead(&_impl_);
10741 return &_impl_.exprs_;
10742}
10743
10744// bool negated = 3;
10746 ::google::protobuf::internal::TSanWrite(&_impl_);
10747 _impl_.negated_ = false;
10748 _impl_._has_bits_[0] &= ~0x00000001u;
10749}
10751 // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
10752 return _internal_negated();
10753}
10754inline void TableConstraintProto::set_negated(bool value) {
10755 _internal_set_negated(value);
10756 _impl_._has_bits_[0] |= 0x00000001u;
10757 // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
10758}
10759inline bool TableConstraintProto::_internal_negated() const {
10760 ::google::protobuf::internal::TSanRead(&_impl_);
10761 return _impl_.negated_;
10762}
10763inline void TableConstraintProto::_internal_set_negated(bool value) {
10764 ::google::protobuf::internal::TSanWrite(&_impl_);
10765 _impl_.negated_ = value;
10766}
10767
10768// -------------------------------------------------------------------
10769
10770// InverseConstraintProto
10771
10772// repeated int32 f_direct = 1;
10773inline int InverseConstraintProto::_internal_f_direct_size() const {
10774 return _internal_f_direct().size();
10775}
10776inline int InverseConstraintProto::f_direct_size() const {
10777 return _internal_f_direct_size();
10778}
10780 ::google::protobuf::internal::TSanWrite(&_impl_);
10781 _impl_.f_direct_.Clear();
10782}
10783inline ::int32_t InverseConstraintProto::f_direct(int index) const {
10784 // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
10785 return _internal_f_direct().Get(index);
10786}
10787inline void InverseConstraintProto::set_f_direct(int index, ::int32_t value) {
10788 _internal_mutable_f_direct()->Set(index, value);
10789 // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
10790}
10791inline void InverseConstraintProto::add_f_direct(::int32_t value) {
10792 ::google::protobuf::internal::TSanWrite(&_impl_);
10793 _internal_mutable_f_direct()->Add(value);
10794 // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
10795}
10796inline const ::google::protobuf::RepeatedField<::int32_t>& InverseConstraintProto::f_direct() const
10797 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10798 // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
10799 return _internal_f_direct();
10800}
10801inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL InverseConstraintProto::mutable_f_direct()
10802 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10803 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
10804 ::google::protobuf::internal::TSanWrite(&_impl_);
10805 return _internal_mutable_f_direct();
10806}
10807inline const ::google::protobuf::RepeatedField<::int32_t>&
10808InverseConstraintProto::_internal_f_direct() const {
10809 ::google::protobuf::internal::TSanRead(&_impl_);
10810 return _impl_.f_direct_;
10811}
10812inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10813InverseConstraintProto::_internal_mutable_f_direct() {
10814 ::google::protobuf::internal::TSanRead(&_impl_);
10815 return &_impl_.f_direct_;
10816}
10817
10818// repeated int32 f_inverse = 2;
10819inline int InverseConstraintProto::_internal_f_inverse_size() const {
10820 return _internal_f_inverse().size();
10821}
10822inline int InverseConstraintProto::f_inverse_size() const {
10823 return _internal_f_inverse_size();
10824}
10826 ::google::protobuf::internal::TSanWrite(&_impl_);
10827 _impl_.f_inverse_.Clear();
10828}
10829inline ::int32_t InverseConstraintProto::f_inverse(int index) const {
10830 // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
10831 return _internal_f_inverse().Get(index);
10832}
10833inline void InverseConstraintProto::set_f_inverse(int index, ::int32_t value) {
10834 _internal_mutable_f_inverse()->Set(index, value);
10835 // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
10836}
10837inline void InverseConstraintProto::add_f_inverse(::int32_t value) {
10838 ::google::protobuf::internal::TSanWrite(&_impl_);
10839 _internal_mutable_f_inverse()->Add(value);
10840 // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
10842inline const ::google::protobuf::RepeatedField<::int32_t>& InverseConstraintProto::f_inverse() const
10843 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10844 // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
10845 return _internal_f_inverse();
10847inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL InverseConstraintProto::mutable_f_inverse()
10848 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10849 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
10850 ::google::protobuf::internal::TSanWrite(&_impl_);
10851 return _internal_mutable_f_inverse();
10852}
10853inline const ::google::protobuf::RepeatedField<::int32_t>&
10854InverseConstraintProto::_internal_f_inverse() const {
10855 ::google::protobuf::internal::TSanRead(&_impl_);
10856 return _impl_.f_inverse_;
10857}
10858inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10859InverseConstraintProto::_internal_mutable_f_inverse() {
10860 ::google::protobuf::internal::TSanRead(&_impl_);
10861 return &_impl_.f_inverse_;
10862}
10863
10864// -------------------------------------------------------------------
10865
10866// AutomatonConstraintProto
10867
10868// int64 starting_state = 2;
10870 ::google::protobuf::internal::TSanWrite(&_impl_);
10871 _impl_.starting_state_ = ::int64_t{0};
10872 _impl_._has_bits_[0] &= ~0x00000001u;
10873}
10874inline ::int64_t AutomatonConstraintProto::starting_state() const {
10875 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
10876 return _internal_starting_state();
10877}
10878inline void AutomatonConstraintProto::set_starting_state(::int64_t value) {
10879 _internal_set_starting_state(value);
10880 _impl_._has_bits_[0] |= 0x00000001u;
10881 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
10882}
10883inline ::int64_t AutomatonConstraintProto::_internal_starting_state() const {
10884 ::google::protobuf::internal::TSanRead(&_impl_);
10885 return _impl_.starting_state_;
10886}
10887inline void AutomatonConstraintProto::_internal_set_starting_state(::int64_t value) {
10888 ::google::protobuf::internal::TSanWrite(&_impl_);
10889 _impl_.starting_state_ = value;
10890}
10891
10892// repeated int64 final_states = 3;
10893inline int AutomatonConstraintProto::_internal_final_states_size() const {
10894 return _internal_final_states().size();
10895}
10897 return _internal_final_states_size();
10898}
10900 ::google::protobuf::internal::TSanWrite(&_impl_);
10901 _impl_.final_states_.Clear();
10902}
10903inline ::int64_t AutomatonConstraintProto::final_states(int index) const {
10904 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
10905 return _internal_final_states().Get(index);
10906}
10907inline void AutomatonConstraintProto::set_final_states(int index, ::int64_t value) {
10908 _internal_mutable_final_states()->Set(index, value);
10909 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
10910}
10911inline void AutomatonConstraintProto::add_final_states(::int64_t value) {
10912 ::google::protobuf::internal::TSanWrite(&_impl_);
10913 _internal_mutable_final_states()->Add(value);
10914 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
10915}
10916inline const ::google::protobuf::RepeatedField<::int64_t>& AutomatonConstraintProto::final_states() const
10917 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10918 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
10919 return _internal_final_states();
10921inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_final_states()
10922 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10923 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
10924 ::google::protobuf::internal::TSanWrite(&_impl_);
10925 return _internal_mutable_final_states();
10926}
10927inline const ::google::protobuf::RepeatedField<::int64_t>&
10928AutomatonConstraintProto::_internal_final_states() const {
10929 ::google::protobuf::internal::TSanRead(&_impl_);
10930 return _impl_.final_states_;
10931}
10932inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
10933AutomatonConstraintProto::_internal_mutable_final_states() {
10934 ::google::protobuf::internal::TSanRead(&_impl_);
10935 return &_impl_.final_states_;
10936}
10937
10938// repeated int64 transition_tail = 4;
10939inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
10940 return _internal_transition_tail().size();
10941}
10943 return _internal_transition_tail_size();
10944}
10946 ::google::protobuf::internal::TSanWrite(&_impl_);
10947 _impl_.transition_tail_.Clear();
10948}
10949inline ::int64_t AutomatonConstraintProto::transition_tail(int index) const {
10950 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
10951 return _internal_transition_tail().Get(index);
10952}
10953inline void AutomatonConstraintProto::set_transition_tail(int index, ::int64_t value) {
10954 _internal_mutable_transition_tail()->Set(index, value);
10955 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
10956}
10957inline void AutomatonConstraintProto::add_transition_tail(::int64_t value) {
10958 ::google::protobuf::internal::TSanWrite(&_impl_);
10959 _internal_mutable_transition_tail()->Add(value);
10960 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
10961}
10962inline const ::google::protobuf::RepeatedField<::int64_t>& AutomatonConstraintProto::transition_tail() const
10963 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10964 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
10965 return _internal_transition_tail();
10966}
10967inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_transition_tail()
10968 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10969 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
10970 ::google::protobuf::internal::TSanWrite(&_impl_);
10971 return _internal_mutable_transition_tail();
10973inline const ::google::protobuf::RepeatedField<::int64_t>&
10974AutomatonConstraintProto::_internal_transition_tail() const {
10975 ::google::protobuf::internal::TSanRead(&_impl_);
10976 return _impl_.transition_tail_;
10977}
10978inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
10979AutomatonConstraintProto::_internal_mutable_transition_tail() {
10980 ::google::protobuf::internal::TSanRead(&_impl_);
10981 return &_impl_.transition_tail_;
10982}
10983
10984// repeated int64 transition_head = 5;
10985inline int AutomatonConstraintProto::_internal_transition_head_size() const {
10986 return _internal_transition_head().size();
10987}
10989 return _internal_transition_head_size();
10990}
10992 ::google::protobuf::internal::TSanWrite(&_impl_);
10993 _impl_.transition_head_.Clear();
10994}
10995inline ::int64_t AutomatonConstraintProto::transition_head(int index) const {
10996 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
10997 return _internal_transition_head().Get(index);
10998}
10999inline void AutomatonConstraintProto::set_transition_head(int index, ::int64_t value) {
11000 _internal_mutable_transition_head()->Set(index, value);
11001 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
11002}
11003inline void AutomatonConstraintProto::add_transition_head(::int64_t value) {
11004 ::google::protobuf::internal::TSanWrite(&_impl_);
11005 _internal_mutable_transition_head()->Add(value);
11006 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
11007}
11008inline const ::google::protobuf::RepeatedField<::int64_t>& AutomatonConstraintProto::transition_head() const
11009 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11010 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
11011 return _internal_transition_head();
11012}
11013inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_transition_head()
11014 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11015 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
11016 ::google::protobuf::internal::TSanWrite(&_impl_);
11017 return _internal_mutable_transition_head();
11019inline const ::google::protobuf::RepeatedField<::int64_t>&
11020AutomatonConstraintProto::_internal_transition_head() const {
11021 ::google::protobuf::internal::TSanRead(&_impl_);
11022 return _impl_.transition_head_;
11023}
11024inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
11025AutomatonConstraintProto::_internal_mutable_transition_head() {
11026 ::google::protobuf::internal::TSanRead(&_impl_);
11027 return &_impl_.transition_head_;
11028}
11029
11030// repeated int64 transition_label = 6;
11031inline int AutomatonConstraintProto::_internal_transition_label_size() const {
11032 return _internal_transition_label().size();
11033}
11035 return _internal_transition_label_size();
11036}
11038 ::google::protobuf::internal::TSanWrite(&_impl_);
11039 _impl_.transition_label_.Clear();
11040}
11041inline ::int64_t AutomatonConstraintProto::transition_label(int index) const {
11042 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
11043 return _internal_transition_label().Get(index);
11044}
11045inline void AutomatonConstraintProto::set_transition_label(int index, ::int64_t value) {
11046 _internal_mutable_transition_label()->Set(index, value);
11047 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
11048}
11049inline void AutomatonConstraintProto::add_transition_label(::int64_t value) {
11050 ::google::protobuf::internal::TSanWrite(&_impl_);
11051 _internal_mutable_transition_label()->Add(value);
11052 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
11053}
11054inline const ::google::protobuf::RepeatedField<::int64_t>& AutomatonConstraintProto::transition_label() const
11055 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11056 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
11057 return _internal_transition_label();
11058}
11059inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_transition_label()
11060 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11061 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
11062 ::google::protobuf::internal::TSanWrite(&_impl_);
11063 return _internal_mutable_transition_label();
11065inline const ::google::protobuf::RepeatedField<::int64_t>&
11066AutomatonConstraintProto::_internal_transition_label() const {
11067 ::google::protobuf::internal::TSanRead(&_impl_);
11068 return _impl_.transition_label_;
11069}
11070inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
11071AutomatonConstraintProto::_internal_mutable_transition_label() {
11072 ::google::protobuf::internal::TSanRead(&_impl_);
11073 return &_impl_.transition_label_;
11074}
11075
11076// repeated int32 vars = 7;
11077inline int AutomatonConstraintProto::_internal_vars_size() const {
11078 return _internal_vars().size();
11079}
11080inline int AutomatonConstraintProto::vars_size() const {
11081 return _internal_vars_size();
11082}
11084 ::google::protobuf::internal::TSanWrite(&_impl_);
11085 _impl_.vars_.Clear();
11086}
11087inline ::int32_t AutomatonConstraintProto::vars(int index) const {
11088 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
11089 return _internal_vars().Get(index);
11090}
11091inline void AutomatonConstraintProto::set_vars(int index, ::int32_t value) {
11092 _internal_mutable_vars()->Set(index, value);
11093 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
11094}
11095inline void AutomatonConstraintProto::add_vars(::int32_t value) {
11096 ::google::protobuf::internal::TSanWrite(&_impl_);
11097 _internal_mutable_vars()->Add(value);
11098 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
11099}
11100inline const ::google::protobuf::RepeatedField<::int32_t>& AutomatonConstraintProto::vars() const
11101 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11102 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
11103 return _internal_vars();
11104}
11105inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_vars()
11106 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11107 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
11108 ::google::protobuf::internal::TSanWrite(&_impl_);
11109 return _internal_mutable_vars();
11111inline const ::google::protobuf::RepeatedField<::int32_t>&
11112AutomatonConstraintProto::_internal_vars() const {
11113 ::google::protobuf::internal::TSanRead(&_impl_);
11114 return _impl_.vars_;
11115}
11116inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
11117AutomatonConstraintProto::_internal_mutable_vars() {
11118 ::google::protobuf::internal::TSanRead(&_impl_);
11119 return &_impl_.vars_;
11120}
11121
11122// repeated .operations_research.sat.LinearExpressionProto exprs = 8;
11123inline int AutomatonConstraintProto::_internal_exprs_size() const {
11124 return _internal_exprs().size();
11125}
11126inline int AutomatonConstraintProto::exprs_size() const {
11127 return _internal_exprs_size();
11128}
11130 ::google::protobuf::internal::TSanWrite(&_impl_);
11131 _impl_.exprs_.Clear();
11132}
11133inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_exprs(int index)
11134 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11135 // @@protoc_insertion_point(field_mutable:operations_research.sat.AutomatonConstraintProto.exprs)
11136 return _internal_mutable_exprs()->Mutable(index);
11137}
11138inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_exprs()
11139 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11140 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.exprs)
11141 ::google::protobuf::internal::TSanWrite(&_impl_);
11142 return _internal_mutable_exprs();
11143}
11144inline const ::operations_research::sat::LinearExpressionProto& AutomatonConstraintProto::exprs(int index) const
11145 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11146 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.exprs)
11147 return _internal_exprs().Get(index);
11148}
11149inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL AutomatonConstraintProto::add_exprs()
11150 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11151 ::google::protobuf::internal::TSanWrite(&_impl_);
11152 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_exprs()->Add();
11153 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.exprs)
11154 return _add;
11155}
11156inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& AutomatonConstraintProto::exprs() const
11157 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11158 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.exprs)
11159 return _internal_exprs();
11160}
11161inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
11162AutomatonConstraintProto::_internal_exprs() const {
11163 ::google::protobuf::internal::TSanRead(&_impl_);
11164 return _impl_.exprs_;
11165}
11166inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
11167AutomatonConstraintProto::_internal_mutable_exprs() {
11168 ::google::protobuf::internal::TSanRead(&_impl_);
11169 return &_impl_.exprs_;
11170}
11171
11172// -------------------------------------------------------------------
11173
11174// ListOfVariablesProto
11175
11176// repeated int32 vars = 1;
11177inline int ListOfVariablesProto::_internal_vars_size() const {
11178 return _internal_vars().size();
11179}
11181 return _internal_vars_size();
11182}
11184 ::google::protobuf::internal::TSanWrite(&_impl_);
11185 _impl_.vars_.Clear();
11186}
11187inline ::int32_t ListOfVariablesProto::vars(int index) const {
11188 // @@protoc_insertion_point(field_get:operations_research.sat.ListOfVariablesProto.vars)
11189 return _internal_vars().Get(index);
11190}
11191inline void ListOfVariablesProto::set_vars(int index, ::int32_t value) {
11192 _internal_mutable_vars()->Set(index, value);
11193 // @@protoc_insertion_point(field_set:operations_research.sat.ListOfVariablesProto.vars)
11194}
11195inline void ListOfVariablesProto::add_vars(::int32_t value) {
11196 ::google::protobuf::internal::TSanWrite(&_impl_);
11197 _internal_mutable_vars()->Add(value);
11198 // @@protoc_insertion_point(field_add:operations_research.sat.ListOfVariablesProto.vars)
11199}
11200inline const ::google::protobuf::RepeatedField<::int32_t>& ListOfVariablesProto::vars() const
11201 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11202 // @@protoc_insertion_point(field_list:operations_research.sat.ListOfVariablesProto.vars)
11203 return _internal_vars();
11204}
11205inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ListOfVariablesProto::mutable_vars()
11206 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11207 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ListOfVariablesProto.vars)
11208 ::google::protobuf::internal::TSanWrite(&_impl_);
11209 return _internal_mutable_vars();
11210}
11211inline const ::google::protobuf::RepeatedField<::int32_t>&
11212ListOfVariablesProto::_internal_vars() const {
11213 ::google::protobuf::internal::TSanRead(&_impl_);
11214 return _impl_.vars_;
11215}
11216inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
11217ListOfVariablesProto::_internal_mutable_vars() {
11218 ::google::protobuf::internal::TSanRead(&_impl_);
11219 return &_impl_.vars_;
11220}
11221
11222// -------------------------------------------------------------------
11223
11224// ConstraintProto
11225
11226// string name = 1;
11227inline void ConstraintProto::clear_name() {
11228 ::google::protobuf::internal::TSanWrite(&_impl_);
11229 _impl_.name_.ClearToEmpty();
11230 _impl_._has_bits_[0] &= ~0x00000001u;
11231}
11232inline const ::std::string& ConstraintProto::name() const
11233 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11234 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
11235 return _internal_name();
11236}
11237template <typename Arg_, typename... Args_>
11238PROTOBUF_ALWAYS_INLINE void ConstraintProto::set_name(Arg_&& arg, Args_... args) {
11239 ::google::protobuf::internal::TSanWrite(&_impl_);
11240 _impl_._has_bits_[0] |= 0x00000001u;
11241 _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
11242 // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
11244inline ::std::string* PROTOBUF_NONNULL ConstraintProto::mutable_name()
11245 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11246 ::std::string* _s = _internal_mutable_name();
11247 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
11248 return _s;
11249}
11250inline const ::std::string& ConstraintProto::_internal_name() const {
11251 ::google::protobuf::internal::TSanRead(&_impl_);
11252 return _impl_.name_.Get();
11253}
11254inline void ConstraintProto::_internal_set_name(const ::std::string& value) {
11255 ::google::protobuf::internal::TSanWrite(&_impl_);
11256 _impl_._has_bits_[0] |= 0x00000001u;
11257 _impl_.name_.Set(value, GetArena());
11258}
11259inline ::std::string* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_name() {
11260 ::google::protobuf::internal::TSanWrite(&_impl_);
11261 _impl_._has_bits_[0] |= 0x00000001u;
11262 return _impl_.name_.Mutable( GetArena());
11263}
11264inline ::std::string* PROTOBUF_NULLABLE ConstraintProto::release_name() {
11265 ::google::protobuf::internal::TSanWrite(&_impl_);
11266 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
11267 if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
11268 return nullptr;
11269 }
11270 _impl_._has_bits_[0] &= ~0x00000001u;
11271 auto* released = _impl_.name_.Release();
11272 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
11273 _impl_.name_.Set("", GetArena());
11274 }
11275 return released;
11276}
11277inline void ConstraintProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
11278 ::google::protobuf::internal::TSanWrite(&_impl_);
11279 if (value != nullptr) {
11280 _impl_._has_bits_[0] |= 0x00000001u;
11281 } else {
11282 _impl_._has_bits_[0] &= ~0x00000001u;
11283 }
11284 _impl_.name_.SetAllocated(value, GetArena());
11285 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
11286 _impl_.name_.Set("", GetArena());
11287 }
11288 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
11289}
11290
11291// repeated int32 enforcement_literal = 2;
11292inline int ConstraintProto::_internal_enforcement_literal_size() const {
11293 return _internal_enforcement_literal().size();
11294}
11296 return _internal_enforcement_literal_size();
11299 ::google::protobuf::internal::TSanWrite(&_impl_);
11300 _impl_.enforcement_literal_.Clear();
11301}
11302inline ::int32_t ConstraintProto::enforcement_literal(int index) const {
11303 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
11304 return _internal_enforcement_literal().Get(index);
11305}
11306inline void ConstraintProto::set_enforcement_literal(int index, ::int32_t value) {
11307 _internal_mutable_enforcement_literal()->Set(index, value);
11308 // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
11309}
11310inline void ConstraintProto::add_enforcement_literal(::int32_t value) {
11311 ::google::protobuf::internal::TSanWrite(&_impl_);
11312 _internal_mutable_enforcement_literal()->Add(value);
11313 // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
11314}
11315inline const ::google::protobuf::RepeatedField<::int32_t>& ConstraintProto::enforcement_literal() const
11316 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11317 // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
11318 return _internal_enforcement_literal();
11319}
11320inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ConstraintProto::mutable_enforcement_literal()
11321 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11322 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
11323 ::google::protobuf::internal::TSanWrite(&_impl_);
11324 return _internal_mutable_enforcement_literal();
11325}
11326inline const ::google::protobuf::RepeatedField<::int32_t>&
11327ConstraintProto::_internal_enforcement_literal() const {
11328 ::google::protobuf::internal::TSanRead(&_impl_);
11329 return _impl_.enforcement_literal_;
11331inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
11332ConstraintProto::_internal_mutable_enforcement_literal() {
11333 ::google::protobuf::internal::TSanRead(&_impl_);
11334 return &_impl_.enforcement_literal_;
11335}
11336
11337// .operations_research.sat.BoolArgumentProto bool_or = 3;
11338inline bool ConstraintProto::has_bool_or() const {
11339 return constraint_case() == kBoolOr;
11340}
11341inline bool ConstraintProto::_internal_has_bool_or() const {
11342 return constraint_case() == kBoolOr;
11343}
11344inline void ConstraintProto::set_has_bool_or() {
11345 _impl_._oneof_case_[0] = kBoolOr;
11346}
11347inline void ConstraintProto::clear_bool_or() {
11348 ::google::protobuf::internal::TSanWrite(&_impl_);
11349 if (constraint_case() == kBoolOr) {
11350 if (GetArena() == nullptr) {
11351 delete _impl_.constraint_.bool_or_;
11352 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11353 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_or_);
11354 }
11355 clear_has_constraint();
11356 }
11357}
11358inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_bool_or() {
11359 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
11360 if (constraint_case() == kBoolOr) {
11361 clear_has_constraint();
11362 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_or_);
11363 if (GetArena() != nullptr) {
11364 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11365 }
11366 _impl_.constraint_.bool_or_ = nullptr;
11367 return temp;
11368 } else {
11369 return nullptr;
11370 }
11371}
11372inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
11374}
11375inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11376 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
11377 return _internal_bool_or();
11378}
11379inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_bool_or() {
11380 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
11381 if (constraint_case() == kBoolOr) {
11382 clear_has_constraint();
11383 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_or_);
11384 _impl_.constraint_.bool_or_ = nullptr;
11385 return temp;
11386 } else {
11387 return nullptr;
11388 }
11389}
11392 // We rely on the oneof clear method to free the earlier contents
11393 // of this oneof. We can directly use the pointer we're given to
11394 // set the new value.
11396 if (value) {
11397 set_has_bool_or();
11398 _impl_.constraint_.bool_or_ = reinterpret_cast<::google::protobuf::Message*>(value);
11399 }
11400 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
11401}
11402inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_bool_or() {
11403 if (constraint_case() != kBoolOr) {
11405 set_has_bool_or();
11406 _impl_.constraint_.bool_or_ = reinterpret_cast<::google::protobuf::Message*>(
11407 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11408 }
11409 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_or_);
11410}
11411inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_bool_or()
11412 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11413 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_or();
11414 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
11415 return _msg;
11416}
11417
11418// .operations_research.sat.BoolArgumentProto bool_and = 4;
11419inline bool ConstraintProto::has_bool_and() const {
11420 return constraint_case() == kBoolAnd;
11421}
11422inline bool ConstraintProto::_internal_has_bool_and() const {
11423 return constraint_case() == kBoolAnd;
11424}
11425inline void ConstraintProto::set_has_bool_and() {
11426 _impl_._oneof_case_[0] = kBoolAnd;
11427}
11429 ::google::protobuf::internal::TSanWrite(&_impl_);
11430 if (constraint_case() == kBoolAnd) {
11431 if (GetArena() == nullptr) {
11432 delete _impl_.constraint_.bool_and_;
11433 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11434 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_and_);
11435 }
11436 clear_has_constraint();
11437 }
11438}
11439inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_bool_and() {
11440 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
11441 if (constraint_case() == kBoolAnd) {
11442 clear_has_constraint();
11443 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_and_);
11444 if (GetArena() != nullptr) {
11445 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11446 }
11447 _impl_.constraint_.bool_and_ = nullptr;
11448 return temp;
11449 } else {
11450 return nullptr;
11451 }
11452}
11453inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
11454 return constraint_case() == kBoolAnd ? *reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_and_) : reinterpret_cast<::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
11455}
11456inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11457 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
11458 return _internal_bool_and();
11459}
11460inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_bool_and() {
11461 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
11462 if (constraint_case() == kBoolAnd) {
11463 clear_has_constraint();
11464 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_and_);
11465 _impl_.constraint_.bool_and_ = nullptr;
11466 return temp;
11467 } else {
11468 return nullptr;
11469 }
11470}
11473 // We rely on the oneof clear method to free the earlier contents
11474 // of this oneof. We can directly use the pointer we're given to
11475 // set the new value.
11477 if (value) {
11478 set_has_bool_and();
11479 _impl_.constraint_.bool_and_ = reinterpret_cast<::google::protobuf::Message*>(value);
11480 }
11481 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
11482}
11483inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_bool_and() {
11484 if (constraint_case() != kBoolAnd) {
11486 set_has_bool_and();
11487 _impl_.constraint_.bool_and_ = reinterpret_cast<::google::protobuf::Message*>(
11488 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11489 }
11490 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_and_);
11491}
11492inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_bool_and()
11493 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11494 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_and();
11495 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
11496 return _msg;
11497}
11498
11499// .operations_research.sat.BoolArgumentProto at_most_one = 26;
11500inline bool ConstraintProto::has_at_most_one() const {
11501 return constraint_case() == kAtMostOne;
11502}
11503inline bool ConstraintProto::_internal_has_at_most_one() const {
11504 return constraint_case() == kAtMostOne;
11505}
11506inline void ConstraintProto::set_has_at_most_one() {
11507 _impl_._oneof_case_[0] = kAtMostOne;
11508}
11510 ::google::protobuf::internal::TSanWrite(&_impl_);
11511 if (constraint_case() == kAtMostOne) {
11512 if (GetArena() == nullptr) {
11513 delete _impl_.constraint_.at_most_one_;
11514 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11515 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.at_most_one_);
11516 }
11517 clear_has_constraint();
11518 }
11519}
11520inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_at_most_one() {
11521 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
11522 if (constraint_case() == kAtMostOne) {
11523 clear_has_constraint();
11524 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.at_most_one_);
11525 if (GetArena() != nullptr) {
11526 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11527 }
11528 _impl_.constraint_.at_most_one_ = nullptr;
11529 return temp;
11530 } else {
11531 return nullptr;
11532 }
11533}
11534inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
11535 return constraint_case() == kAtMostOne ? *reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.at_most_one_) : reinterpret_cast<::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
11536}
11537inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11538 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
11539 return _internal_at_most_one();
11540}
11541inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_at_most_one() {
11542 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
11543 if (constraint_case() == kAtMostOne) {
11544 clear_has_constraint();
11545 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.at_most_one_);
11546 _impl_.constraint_.at_most_one_ = nullptr;
11547 return temp;
11548 } else {
11549 return nullptr;
11550 }
11551}
11554 // We rely on the oneof clear method to free the earlier contents
11555 // of this oneof. We can directly use the pointer we're given to
11556 // set the new value.
11558 if (value) {
11559 set_has_at_most_one();
11560 _impl_.constraint_.at_most_one_ = reinterpret_cast<::google::protobuf::Message*>(value);
11561 }
11562 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
11563}
11564inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_at_most_one() {
11565 if (constraint_case() != kAtMostOne) {
11567 set_has_at_most_one();
11568 _impl_.constraint_.at_most_one_ = reinterpret_cast<::google::protobuf::Message*>(
11569 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11570 }
11571 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.at_most_one_);
11572}
11573inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_at_most_one()
11574 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11575 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_at_most_one();
11576 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
11577 return _msg;
11578}
11579
11580// .operations_research.sat.BoolArgumentProto exactly_one = 29;
11581inline bool ConstraintProto::has_exactly_one() const {
11582 return constraint_case() == kExactlyOne;
11583}
11584inline bool ConstraintProto::_internal_has_exactly_one() const {
11585 return constraint_case() == kExactlyOne;
11586}
11587inline void ConstraintProto::set_has_exactly_one() {
11588 _impl_._oneof_case_[0] = kExactlyOne;
11589}
11591 ::google::protobuf::internal::TSanWrite(&_impl_);
11592 if (constraint_case() == kExactlyOne) {
11593 if (GetArena() == nullptr) {
11594 delete _impl_.constraint_.exactly_one_;
11595 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11596 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.exactly_one_);
11597 }
11598 clear_has_constraint();
11599 }
11600}
11601inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_exactly_one() {
11602 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.exactly_one)
11603 if (constraint_case() == kExactlyOne) {
11604 clear_has_constraint();
11605 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.exactly_one_);
11606 if (GetArena() != nullptr) {
11607 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11608 }
11609 _impl_.constraint_.exactly_one_ = nullptr;
11610 return temp;
11611 } else {
11612 return nullptr;
11613 }
11614}
11615inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_exactly_one() const {
11616 return constraint_case() == kExactlyOne ? *reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.exactly_one_) : reinterpret_cast<::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
11617}
11618inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::exactly_one() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11619 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.exactly_one)
11620 return _internal_exactly_one();
11621}
11622inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_exactly_one() {
11623 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.exactly_one)
11624 if (constraint_case() == kExactlyOne) {
11625 clear_has_constraint();
11626 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.exactly_one_);
11627 _impl_.constraint_.exactly_one_ = nullptr;
11628 return temp;
11629 } else {
11630 return nullptr;
11631 }
11632}
11635 // We rely on the oneof clear method to free the earlier contents
11636 // of this oneof. We can directly use the pointer we're given to
11637 // set the new value.
11639 if (value) {
11640 set_has_exactly_one();
11641 _impl_.constraint_.exactly_one_ = reinterpret_cast<::google::protobuf::Message*>(value);
11642 }
11643 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
11644}
11645inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_exactly_one() {
11646 if (constraint_case() != kExactlyOne) {
11648 set_has_exactly_one();
11649 _impl_.constraint_.exactly_one_ = reinterpret_cast<::google::protobuf::Message*>(
11650 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11651 }
11652 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.exactly_one_);
11653}
11654inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_exactly_one()
11655 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11656 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_exactly_one();
11657 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.exactly_one)
11658 return _msg;
11659}
11660
11661// .operations_research.sat.BoolArgumentProto bool_xor = 5;
11662inline bool ConstraintProto::has_bool_xor() const {
11663 return constraint_case() == kBoolXor;
11664}
11665inline bool ConstraintProto::_internal_has_bool_xor() const {
11666 return constraint_case() == kBoolXor;
11667}
11668inline void ConstraintProto::set_has_bool_xor() {
11669 _impl_._oneof_case_[0] = kBoolXor;
11670}
11672 ::google::protobuf::internal::TSanWrite(&_impl_);
11673 if (constraint_case() == kBoolXor) {
11674 if (GetArena() == nullptr) {
11675 delete _impl_.constraint_.bool_xor_;
11676 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11677 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_xor_);
11678 }
11679 clear_has_constraint();
11680 }
11681}
11682inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_bool_xor() {
11683 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
11684 if (constraint_case() == kBoolXor) {
11685 clear_has_constraint();
11686 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_xor_);
11687 if (GetArena() != nullptr) {
11688 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11689 }
11690 _impl_.constraint_.bool_xor_ = nullptr;
11691 return temp;
11692 } else {
11693 return nullptr;
11694 }
11695}
11696inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
11697 return constraint_case() == kBoolXor ? *reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_xor_) : reinterpret_cast<::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
11698}
11699inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11700 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
11701 return _internal_bool_xor();
11702}
11703inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_bool_xor() {
11704 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
11705 if (constraint_case() == kBoolXor) {
11706 clear_has_constraint();
11707 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_xor_);
11708 _impl_.constraint_.bool_xor_ = nullptr;
11709 return temp;
11710 } else {
11711 return nullptr;
11712 }
11713}
11716 // We rely on the oneof clear method to free the earlier contents
11717 // of this oneof. We can directly use the pointer we're given to
11718 // set the new value.
11720 if (value) {
11721 set_has_bool_xor();
11722 _impl_.constraint_.bool_xor_ = reinterpret_cast<::google::protobuf::Message*>(value);
11723 }
11724 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
11725}
11726inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_bool_xor() {
11727 if (constraint_case() != kBoolXor) {
11729 set_has_bool_xor();
11730 _impl_.constraint_.bool_xor_ = reinterpret_cast<::google::protobuf::Message*>(
11731 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11732 }
11733 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_xor_);
11734}
11735inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_bool_xor()
11736 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11737 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_xor();
11738 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
11739 return _msg;
11740}
11741
11742// .operations_research.sat.LinearArgumentProto int_div = 7;
11743inline bool ConstraintProto::has_int_div() const {
11744 return constraint_case() == kIntDiv;
11745}
11746inline bool ConstraintProto::_internal_has_int_div() const {
11747 return constraint_case() == kIntDiv;
11748}
11749inline void ConstraintProto::set_has_int_div() {
11750 _impl_._oneof_case_[0] = kIntDiv;
11751}
11753 ::google::protobuf::internal::TSanWrite(&_impl_);
11754 if (constraint_case() == kIntDiv) {
11755 if (GetArena() == nullptr) {
11756 delete _impl_.constraint_.int_div_;
11757 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11758 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_div_);
11759 }
11760 clear_has_constraint();
11761 }
11762}
11763inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_int_div() {
11764 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
11765 if (constraint_case() == kIntDiv) {
11766 clear_has_constraint();
11767 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_div_);
11768 if (GetArena() != nullptr) {
11769 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11770 }
11771 _impl_.constraint_.int_div_ = nullptr;
11772 return temp;
11773 } else {
11774 return nullptr;
11775 }
11776}
11777inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_div() const {
11778 return constraint_case() == kIntDiv ? *reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_div_) : reinterpret_cast<::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
11779}
11780inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_div() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11781 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
11782 return _internal_int_div();
11783}
11784inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_int_div() {
11785 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
11786 if (constraint_case() == kIntDiv) {
11787 clear_has_constraint();
11788 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_div_);
11789 _impl_.constraint_.int_div_ = nullptr;
11790 return temp;
11791 } else {
11792 return nullptr;
11793 }
11794}
11797 // We rely on the oneof clear method to free the earlier contents
11798 // of this oneof. We can directly use the pointer we're given to
11799 // set the new value.
11801 if (value) {
11802 set_has_int_div();
11803 _impl_.constraint_.int_div_ = reinterpret_cast<::google::protobuf::Message*>(value);
11804 }
11805 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
11806}
11807inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_int_div() {
11808 if (constraint_case() != kIntDiv) {
11810 set_has_int_div();
11811 _impl_.constraint_.int_div_ = reinterpret_cast<::google::protobuf::Message*>(
11812 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearArgumentProto>(GetArena()));
11813 }
11814 return reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_div_);
11815}
11816inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_int_div()
11817 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11818 ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_div();
11819 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
11820 return _msg;
11821}
11822
11823// .operations_research.sat.LinearArgumentProto int_mod = 8;
11824inline bool ConstraintProto::has_int_mod() const {
11825 return constraint_case() == kIntMod;
11826}
11827inline bool ConstraintProto::_internal_has_int_mod() const {
11828 return constraint_case() == kIntMod;
11829}
11830inline void ConstraintProto::set_has_int_mod() {
11831 _impl_._oneof_case_[0] = kIntMod;
11832}
11834 ::google::protobuf::internal::TSanWrite(&_impl_);
11835 if (constraint_case() == kIntMod) {
11836 if (GetArena() == nullptr) {
11837 delete _impl_.constraint_.int_mod_;
11838 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11839 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_mod_);
11840 }
11841 clear_has_constraint();
11842 }
11843}
11844inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_int_mod() {
11845 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
11846 if (constraint_case() == kIntMod) {
11847 clear_has_constraint();
11848 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_mod_);
11849 if (GetArena() != nullptr) {
11850 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11851 }
11852 _impl_.constraint_.int_mod_ = nullptr;
11853 return temp;
11854 } else {
11855 return nullptr;
11856 }
11857}
11858inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_mod() const {
11859 return constraint_case() == kIntMod ? *reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_mod_) : reinterpret_cast<::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
11860}
11861inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_mod() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11862 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
11863 return _internal_int_mod();
11864}
11865inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_int_mod() {
11866 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
11867 if (constraint_case() == kIntMod) {
11868 clear_has_constraint();
11869 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_mod_);
11870 _impl_.constraint_.int_mod_ = nullptr;
11871 return temp;
11872 } else {
11873 return nullptr;
11874 }
11875}
11878 // We rely on the oneof clear method to free the earlier contents
11879 // of this oneof. We can directly use the pointer we're given to
11880 // set the new value.
11882 if (value) {
11883 set_has_int_mod();
11884 _impl_.constraint_.int_mod_ = reinterpret_cast<::google::protobuf::Message*>(value);
11885 }
11886 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
11887}
11888inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_int_mod() {
11889 if (constraint_case() != kIntMod) {
11891 set_has_int_mod();
11892 _impl_.constraint_.int_mod_ = reinterpret_cast<::google::protobuf::Message*>(
11893 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearArgumentProto>(GetArena()));
11894 }
11895 return reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_mod_);
11896}
11897inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_int_mod()
11898 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11899 ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_mod();
11900 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
11901 return _msg;
11902}
11903
11904// .operations_research.sat.LinearArgumentProto int_prod = 11;
11905inline bool ConstraintProto::has_int_prod() const {
11906 return constraint_case() == kIntProd;
11907}
11908inline bool ConstraintProto::_internal_has_int_prod() const {
11909 return constraint_case() == kIntProd;
11910}
11911inline void ConstraintProto::set_has_int_prod() {
11912 _impl_._oneof_case_[0] = kIntProd;
11913}
11915 ::google::protobuf::internal::TSanWrite(&_impl_);
11916 if (constraint_case() == kIntProd) {
11917 if (GetArena() == nullptr) {
11918 delete _impl_.constraint_.int_prod_;
11919 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11920 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_prod_);
11921 }
11922 clear_has_constraint();
11923 }
11924}
11925inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_int_prod() {
11926 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
11927 if (constraint_case() == kIntProd) {
11928 clear_has_constraint();
11929 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_prod_);
11930 if (GetArena() != nullptr) {
11931 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11932 }
11933 _impl_.constraint_.int_prod_ = nullptr;
11934 return temp;
11935 } else {
11936 return nullptr;
11937 }
11938}
11939inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_prod() const {
11940 return constraint_case() == kIntProd ? *reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_prod_) : reinterpret_cast<::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
11941}
11942inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_prod() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11943 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
11944 return _internal_int_prod();
11945}
11946inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_int_prod() {
11947 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
11948 if (constraint_case() == kIntProd) {
11949 clear_has_constraint();
11950 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_prod_);
11951 _impl_.constraint_.int_prod_ = nullptr;
11952 return temp;
11953 } else {
11954 return nullptr;
11955 }
11956}
11959 // We rely on the oneof clear method to free the earlier contents
11960 // of this oneof. We can directly use the pointer we're given to
11961 // set the new value.
11963 if (value) {
11964 set_has_int_prod();
11965 _impl_.constraint_.int_prod_ = reinterpret_cast<::google::protobuf::Message*>(value);
11966 }
11967 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
11968}
11969inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_int_prod() {
11970 if (constraint_case() != kIntProd) {
11972 set_has_int_prod();
11973 _impl_.constraint_.int_prod_ = reinterpret_cast<::google::protobuf::Message*>(
11974 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearArgumentProto>(GetArena()));
11975 }
11976 return reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_prod_);
11977}
11978inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_int_prod()
11979 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11980 ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_prod();
11981 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
11982 return _msg;
11983}
11984
11985// .operations_research.sat.LinearArgumentProto lin_max = 27;
11986inline bool ConstraintProto::has_lin_max() const {
11987 return constraint_case() == kLinMax;
11988}
11989inline bool ConstraintProto::_internal_has_lin_max() const {
11990 return constraint_case() == kLinMax;
11991}
11992inline void ConstraintProto::set_has_lin_max() {
11993 _impl_._oneof_case_[0] = kLinMax;
11994}
11996 ::google::protobuf::internal::TSanWrite(&_impl_);
11997 if (constraint_case() == kLinMax) {
11998 if (GetArena() == nullptr) {
11999 delete _impl_.constraint_.lin_max_;
12000 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12001 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.lin_max_);
12002 }
12003 clear_has_constraint();
12004 }
12005}
12006inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_lin_max() {
12007 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
12008 if (constraint_case() == kLinMax) {
12009 clear_has_constraint();
12010 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.lin_max_);
12011 if (GetArena() != nullptr) {
12012 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12013 }
12014 _impl_.constraint_.lin_max_ = nullptr;
12015 return temp;
12016 } else {
12017 return nullptr;
12018 }
12019}
12020inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
12021 return constraint_case() == kLinMax ? *reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.lin_max_) : reinterpret_cast<::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
12022}
12023inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12024 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
12025 return _internal_lin_max();
12026}
12027inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_lin_max() {
12028 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
12029 if (constraint_case() == kLinMax) {
12030 clear_has_constraint();
12031 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.lin_max_);
12032 _impl_.constraint_.lin_max_ = nullptr;
12033 return temp;
12034 } else {
12035 return nullptr;
12036 }
12037}
12040 // We rely on the oneof clear method to free the earlier contents
12041 // of this oneof. We can directly use the pointer we're given to
12042 // set the new value.
12044 if (value) {
12045 set_has_lin_max();
12046 _impl_.constraint_.lin_max_ = reinterpret_cast<::google::protobuf::Message*>(value);
12047 }
12048 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
12049}
12050inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_lin_max() {
12051 if (constraint_case() != kLinMax) {
12053 set_has_lin_max();
12054 _impl_.constraint_.lin_max_ = reinterpret_cast<::google::protobuf::Message*>(
12055 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearArgumentProto>(GetArena()));
12056 }
12057 return reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.lin_max_);
12058}
12059inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_lin_max()
12060 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12061 ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_lin_max();
12062 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
12063 return _msg;
12064}
12065
12066// .operations_research.sat.LinearConstraintProto linear = 12;
12067inline bool ConstraintProto::has_linear() const {
12068 return constraint_case() == kLinear;
12069}
12070inline bool ConstraintProto::_internal_has_linear() const {
12071 return constraint_case() == kLinear;
12072}
12073inline void ConstraintProto::set_has_linear() {
12074 _impl_._oneof_case_[0] = kLinear;
12075}
12077 ::google::protobuf::internal::TSanWrite(&_impl_);
12078 if (constraint_case() == kLinear) {
12079 if (GetArena() == nullptr) {
12080 delete _impl_.constraint_.linear_;
12081 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12082 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.linear_);
12083 }
12084 clear_has_constraint();
12085 }
12086}
12087inline ::operations_research::sat::LinearConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_linear() {
12088 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
12089 if (constraint_case() == kLinear) {
12090 clear_has_constraint();
12091 auto* temp = reinterpret_cast<::operations_research::sat::LinearConstraintProto*>(_impl_.constraint_.linear_);
12092 if (GetArena() != nullptr) {
12093 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12094 }
12095 _impl_.constraint_.linear_ = nullptr;
12096 return temp;
12097 } else {
12098 return nullptr;
12099 }
12100}
12101inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
12102 return constraint_case() == kLinear ? *reinterpret_cast<::operations_research::sat::LinearConstraintProto*>(_impl_.constraint_.linear_) : reinterpret_cast<::operations_research::sat::LinearConstraintProto&>(::operations_research::sat::_LinearConstraintProto_default_instance_);
12103}
12104inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12105 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
12106 return _internal_linear();
12107}
12108inline ::operations_research::sat::LinearConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_linear() {
12109 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
12110 if (constraint_case() == kLinear) {
12111 clear_has_constraint();
12112 auto* temp = reinterpret_cast<::operations_research::sat::LinearConstraintProto*>(_impl_.constraint_.linear_);
12113 _impl_.constraint_.linear_ = nullptr;
12114 return temp;
12115 } else {
12116 return nullptr;
12117 }
12118}
12121 // We rely on the oneof clear method to free the earlier contents
12122 // of this oneof. We can directly use the pointer we're given to
12123 // set the new value.
12125 if (value) {
12126 set_has_linear();
12127 _impl_.constraint_.linear_ = reinterpret_cast<::google::protobuf::Message*>(value);
12128 }
12129 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
12130}
12131inline ::operations_research::sat::LinearConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_linear() {
12132 if (constraint_case() != kLinear) {
12134 set_has_linear();
12135 _impl_.constraint_.linear_ = reinterpret_cast<::google::protobuf::Message*>(
12136 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearConstraintProto>(GetArena()));
12137 }
12138 return reinterpret_cast<::operations_research::sat::LinearConstraintProto*>(_impl_.constraint_.linear_);
12139}
12140inline ::operations_research::sat::LinearConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_linear()
12141 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12142 ::operations_research::sat::LinearConstraintProto* _msg = _internal_mutable_linear();
12143 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
12144 return _msg;
12145}
12146
12147// .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
12148inline bool ConstraintProto::has_all_diff() const {
12149 return constraint_case() == kAllDiff;
12150}
12151inline bool ConstraintProto::_internal_has_all_diff() const {
12152 return constraint_case() == kAllDiff;
12153}
12154inline void ConstraintProto::set_has_all_diff() {
12155 _impl_._oneof_case_[0] = kAllDiff;
12156}
12158 ::google::protobuf::internal::TSanWrite(&_impl_);
12159 if (constraint_case() == kAllDiff) {
12160 if (GetArena() == nullptr) {
12161 delete _impl_.constraint_.all_diff_;
12162 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12163 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.all_diff_);
12164 }
12165 clear_has_constraint();
12166 }
12167}
12168inline ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_all_diff() {
12169 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
12170 if (constraint_case() == kAllDiff) {
12171 clear_has_constraint();
12172 auto* temp = reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto*>(_impl_.constraint_.all_diff_);
12173 if (GetArena() != nullptr) {
12174 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12175 }
12176 _impl_.constraint_.all_diff_ = nullptr;
12177 return temp;
12178 } else {
12179 return nullptr;
12180 }
12181}
12182inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
12183 return constraint_case() == kAllDiff ? *reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto*>(_impl_.constraint_.all_diff_) : reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto&>(::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
12184}
12185inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12186 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
12187 return _internal_all_diff();
12188}
12189inline ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_all_diff() {
12190 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
12191 if (constraint_case() == kAllDiff) {
12192 clear_has_constraint();
12193 auto* temp = reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto*>(_impl_.constraint_.all_diff_);
12194 _impl_.constraint_.all_diff_ = nullptr;
12195 return temp;
12196 } else {
12197 return nullptr;
12198 }
12199}
12202 // We rely on the oneof clear method to free the earlier contents
12203 // of this oneof. We can directly use the pointer we're given to
12204 // set the new value.
12206 if (value) {
12207 set_has_all_diff();
12208 _impl_.constraint_.all_diff_ = reinterpret_cast<::google::protobuf::Message*>(value);
12209 }
12210 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
12211}
12212inline ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_all_diff() {
12213 if (constraint_case() != kAllDiff) {
12215 set_has_all_diff();
12216 _impl_.constraint_.all_diff_ = reinterpret_cast<::google::protobuf::Message*>(
12217 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::AllDifferentConstraintProto>(GetArena()));
12218 }
12219 return reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto*>(_impl_.constraint_.all_diff_);
12220}
12221inline ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_all_diff()
12222 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12223 ::operations_research::sat::AllDifferentConstraintProto* _msg = _internal_mutable_all_diff();
12224 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
12225 return _msg;
12226}
12227
12228// .operations_research.sat.ElementConstraintProto element = 14;
12229inline bool ConstraintProto::has_element() const {
12230 return constraint_case() == kElement;
12231}
12232inline bool ConstraintProto::_internal_has_element() const {
12233 return constraint_case() == kElement;
12234}
12235inline void ConstraintProto::set_has_element() {
12236 _impl_._oneof_case_[0] = kElement;
12237}
12239 ::google::protobuf::internal::TSanWrite(&_impl_);
12240 if (constraint_case() == kElement) {
12241 if (GetArena() == nullptr) {
12242 delete _impl_.constraint_.element_;
12243 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12244 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.element_);
12245 }
12246 clear_has_constraint();
12247 }
12248}
12249inline ::operations_research::sat::ElementConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_element() {
12250 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
12251 if (constraint_case() == kElement) {
12252 clear_has_constraint();
12253 auto* temp = reinterpret_cast<::operations_research::sat::ElementConstraintProto*>(_impl_.constraint_.element_);
12254 if (GetArena() != nullptr) {
12255 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12256 }
12257 _impl_.constraint_.element_ = nullptr;
12258 return temp;
12259 } else {
12260 return nullptr;
12261 }
12262}
12263inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
12264 return constraint_case() == kElement ? *reinterpret_cast<::operations_research::sat::ElementConstraintProto*>(_impl_.constraint_.element_) : reinterpret_cast<::operations_research::sat::ElementConstraintProto&>(::operations_research::sat::_ElementConstraintProto_default_instance_);
12265}
12266inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12267 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
12268 return _internal_element();
12269}
12270inline ::operations_research::sat::ElementConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_element() {
12271 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
12272 if (constraint_case() == kElement) {
12273 clear_has_constraint();
12274 auto* temp = reinterpret_cast<::operations_research::sat::ElementConstraintProto*>(_impl_.constraint_.element_);
12275 _impl_.constraint_.element_ = nullptr;
12276 return temp;
12277 } else {
12278 return nullptr;
12279 }
12280}
12283 // We rely on the oneof clear method to free the earlier contents
12284 // of this oneof. We can directly use the pointer we're given to
12285 // set the new value.
12287 if (value) {
12288 set_has_element();
12289 _impl_.constraint_.element_ = reinterpret_cast<::google::protobuf::Message*>(value);
12290 }
12291 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
12292}
12293inline ::operations_research::sat::ElementConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_element() {
12294 if (constraint_case() != kElement) {
12296 set_has_element();
12297 _impl_.constraint_.element_ = reinterpret_cast<::google::protobuf::Message*>(
12298 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::ElementConstraintProto>(GetArena()));
12299 }
12300 return reinterpret_cast<::operations_research::sat::ElementConstraintProto*>(_impl_.constraint_.element_);
12301}
12302inline ::operations_research::sat::ElementConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_element()
12303 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12304 ::operations_research::sat::ElementConstraintProto* _msg = _internal_mutable_element();
12305 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
12306 return _msg;
12307}
12308
12309// .operations_research.sat.CircuitConstraintProto circuit = 15;
12310inline bool ConstraintProto::has_circuit() const {
12311 return constraint_case() == kCircuit;
12312}
12313inline bool ConstraintProto::_internal_has_circuit() const {
12314 return constraint_case() == kCircuit;
12315}
12316inline void ConstraintProto::set_has_circuit() {
12317 _impl_._oneof_case_[0] = kCircuit;
12318}
12320 ::google::protobuf::internal::TSanWrite(&_impl_);
12321 if (constraint_case() == kCircuit) {
12322 if (GetArena() == nullptr) {
12323 delete _impl_.constraint_.circuit_;
12324 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12325 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.circuit_);
12326 }
12327 clear_has_constraint();
12328 }
12329}
12330inline ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_circuit() {
12331 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
12332 if (constraint_case() == kCircuit) {
12333 clear_has_constraint();
12334 auto* temp = reinterpret_cast<::operations_research::sat::CircuitConstraintProto*>(_impl_.constraint_.circuit_);
12335 if (GetArena() != nullptr) {
12336 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12337 }
12338 _impl_.constraint_.circuit_ = nullptr;
12339 return temp;
12340 } else {
12341 return nullptr;
12342 }
12343}
12344inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
12345 return constraint_case() == kCircuit ? *reinterpret_cast<::operations_research::sat::CircuitConstraintProto*>(_impl_.constraint_.circuit_) : reinterpret_cast<::operations_research::sat::CircuitConstraintProto&>(::operations_research::sat::_CircuitConstraintProto_default_instance_);
12346}
12347inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12348 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
12349 return _internal_circuit();
12350}
12351inline ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_circuit() {
12352 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
12353 if (constraint_case() == kCircuit) {
12354 clear_has_constraint();
12355 auto* temp = reinterpret_cast<::operations_research::sat::CircuitConstraintProto*>(_impl_.constraint_.circuit_);
12356 _impl_.constraint_.circuit_ = nullptr;
12357 return temp;
12358 } else {
12359 return nullptr;
12360 }
12361}
12364 // We rely on the oneof clear method to free the earlier contents
12365 // of this oneof. We can directly use the pointer we're given to
12366 // set the new value.
12368 if (value) {
12369 set_has_circuit();
12370 _impl_.constraint_.circuit_ = reinterpret_cast<::google::protobuf::Message*>(value);
12371 }
12372 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
12373}
12374inline ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_circuit() {
12375 if (constraint_case() != kCircuit) {
12377 set_has_circuit();
12378 _impl_.constraint_.circuit_ = reinterpret_cast<::google::protobuf::Message*>(
12379 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::CircuitConstraintProto>(GetArena()));
12380 }
12381 return reinterpret_cast<::operations_research::sat::CircuitConstraintProto*>(_impl_.constraint_.circuit_);
12382}
12383inline ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_circuit()
12384 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12385 ::operations_research::sat::CircuitConstraintProto* _msg = _internal_mutable_circuit();
12386 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
12387 return _msg;
12388}
12389
12390// .operations_research.sat.RoutesConstraintProto routes = 23;
12391inline bool ConstraintProto::has_routes() const {
12392 return constraint_case() == kRoutes;
12393}
12394inline bool ConstraintProto::_internal_has_routes() const {
12395 return constraint_case() == kRoutes;
12396}
12397inline void ConstraintProto::set_has_routes() {
12398 _impl_._oneof_case_[0] = kRoutes;
12399}
12401 ::google::protobuf::internal::TSanWrite(&_impl_);
12402 if (constraint_case() == kRoutes) {
12403 if (GetArena() == nullptr) {
12404 delete _impl_.constraint_.routes_;
12405 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12406 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.routes_);
12407 }
12408 clear_has_constraint();
12409 }
12410}
12411inline ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_routes() {
12412 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
12413 if (constraint_case() == kRoutes) {
12414 clear_has_constraint();
12415 auto* temp = reinterpret_cast<::operations_research::sat::RoutesConstraintProto*>(_impl_.constraint_.routes_);
12416 if (GetArena() != nullptr) {
12417 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12418 }
12419 _impl_.constraint_.routes_ = nullptr;
12420 return temp;
12421 } else {
12422 return nullptr;
12423 }
12424}
12425inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
12426 return constraint_case() == kRoutes ? *reinterpret_cast<::operations_research::sat::RoutesConstraintProto*>(_impl_.constraint_.routes_) : reinterpret_cast<::operations_research::sat::RoutesConstraintProto&>(::operations_research::sat::_RoutesConstraintProto_default_instance_);
12427}
12428inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12429 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
12430 return _internal_routes();
12431}
12432inline ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_routes() {
12433 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
12434 if (constraint_case() == kRoutes) {
12435 clear_has_constraint();
12436 auto* temp = reinterpret_cast<::operations_research::sat::RoutesConstraintProto*>(_impl_.constraint_.routes_);
12437 _impl_.constraint_.routes_ = nullptr;
12438 return temp;
12439 } else {
12440 return nullptr;
12441 }
12442}
12445 // We rely on the oneof clear method to free the earlier contents
12446 // of this oneof. We can directly use the pointer we're given to
12447 // set the new value.
12449 if (value) {
12450 set_has_routes();
12451 _impl_.constraint_.routes_ = reinterpret_cast<::google::protobuf::Message*>(value);
12452 }
12453 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
12454}
12455inline ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_routes() {
12456 if (constraint_case() != kRoutes) {
12458 set_has_routes();
12459 _impl_.constraint_.routes_ = reinterpret_cast<::google::protobuf::Message*>(
12460 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::RoutesConstraintProto>(GetArena()));
12461 }
12462 return reinterpret_cast<::operations_research::sat::RoutesConstraintProto*>(_impl_.constraint_.routes_);
12463}
12464inline ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_routes()
12465 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12466 ::operations_research::sat::RoutesConstraintProto* _msg = _internal_mutable_routes();
12467 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
12468 return _msg;
12469}
12470
12471// .operations_research.sat.TableConstraintProto table = 16;
12472inline bool ConstraintProto::has_table() const {
12473 return constraint_case() == kTable;
12474}
12475inline bool ConstraintProto::_internal_has_table() const {
12476 return constraint_case() == kTable;
12477}
12478inline void ConstraintProto::set_has_table() {
12479 _impl_._oneof_case_[0] = kTable;
12480}
12482 ::google::protobuf::internal::TSanWrite(&_impl_);
12483 if (constraint_case() == kTable) {
12484 if (GetArena() == nullptr) {
12485 delete _impl_.constraint_.table_;
12486 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12487 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.table_);
12488 }
12489 clear_has_constraint();
12490 }
12491}
12492inline ::operations_research::sat::TableConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_table() {
12493 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
12494 if (constraint_case() == kTable) {
12495 clear_has_constraint();
12496 auto* temp = reinterpret_cast<::operations_research::sat::TableConstraintProto*>(_impl_.constraint_.table_);
12497 if (GetArena() != nullptr) {
12498 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12499 }
12500 _impl_.constraint_.table_ = nullptr;
12501 return temp;
12502 } else {
12503 return nullptr;
12504 }
12505}
12506inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
12507 return constraint_case() == kTable ? *reinterpret_cast<::operations_research::sat::TableConstraintProto*>(_impl_.constraint_.table_) : reinterpret_cast<::operations_research::sat::TableConstraintProto&>(::operations_research::sat::_TableConstraintProto_default_instance_);
12508}
12509inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12510 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
12511 return _internal_table();
12512}
12513inline ::operations_research::sat::TableConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_table() {
12514 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
12515 if (constraint_case() == kTable) {
12516 clear_has_constraint();
12517 auto* temp = reinterpret_cast<::operations_research::sat::TableConstraintProto*>(_impl_.constraint_.table_);
12518 _impl_.constraint_.table_ = nullptr;
12519 return temp;
12520 } else {
12521 return nullptr;
12522 }
12523}
12526 // We rely on the oneof clear method to free the earlier contents
12527 // of this oneof. We can directly use the pointer we're given to
12528 // set the new value.
12530 if (value) {
12531 set_has_table();
12532 _impl_.constraint_.table_ = reinterpret_cast<::google::protobuf::Message*>(value);
12533 }
12534 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
12535}
12536inline ::operations_research::sat::TableConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_table() {
12537 if (constraint_case() != kTable) {
12539 set_has_table();
12540 _impl_.constraint_.table_ = reinterpret_cast<::google::protobuf::Message*>(
12541 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::TableConstraintProto>(GetArena()));
12542 }
12543 return reinterpret_cast<::operations_research::sat::TableConstraintProto*>(_impl_.constraint_.table_);
12544}
12545inline ::operations_research::sat::TableConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_table()
12546 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12547 ::operations_research::sat::TableConstraintProto* _msg = _internal_mutable_table();
12548 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
12549 return _msg;
12550}
12551
12552// .operations_research.sat.AutomatonConstraintProto automaton = 17;
12553inline bool ConstraintProto::has_automaton() const {
12554 return constraint_case() == kAutomaton;
12555}
12556inline bool ConstraintProto::_internal_has_automaton() const {
12557 return constraint_case() == kAutomaton;
12558}
12559inline void ConstraintProto::set_has_automaton() {
12560 _impl_._oneof_case_[0] = kAutomaton;
12561}
12563 ::google::protobuf::internal::TSanWrite(&_impl_);
12564 if (constraint_case() == kAutomaton) {
12565 if (GetArena() == nullptr) {
12566 delete _impl_.constraint_.automaton_;
12567 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12568 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.automaton_);
12569 }
12570 clear_has_constraint();
12571 }
12572}
12573inline ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_automaton() {
12574 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
12575 if (constraint_case() == kAutomaton) {
12576 clear_has_constraint();
12577 auto* temp = reinterpret_cast<::operations_research::sat::AutomatonConstraintProto*>(_impl_.constraint_.automaton_);
12578 if (GetArena() != nullptr) {
12579 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12580 }
12581 _impl_.constraint_.automaton_ = nullptr;
12582 return temp;
12583 } else {
12584 return nullptr;
12585 }
12586}
12587inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
12588 return constraint_case() == kAutomaton ? *reinterpret_cast<::operations_research::sat::AutomatonConstraintProto*>(_impl_.constraint_.automaton_) : reinterpret_cast<::operations_research::sat::AutomatonConstraintProto&>(::operations_research::sat::_AutomatonConstraintProto_default_instance_);
12589}
12590inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12591 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
12592 return _internal_automaton();
12593}
12594inline ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_automaton() {
12595 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
12596 if (constraint_case() == kAutomaton) {
12597 clear_has_constraint();
12598 auto* temp = reinterpret_cast<::operations_research::sat::AutomatonConstraintProto*>(_impl_.constraint_.automaton_);
12599 _impl_.constraint_.automaton_ = nullptr;
12600 return temp;
12601 } else {
12602 return nullptr;
12603 }
12604}
12607 // We rely on the oneof clear method to free the earlier contents
12608 // of this oneof. We can directly use the pointer we're given to
12609 // set the new value.
12611 if (value) {
12612 set_has_automaton();
12613 _impl_.constraint_.automaton_ = reinterpret_cast<::google::protobuf::Message*>(value);
12614 }
12615 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
12616}
12617inline ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_automaton() {
12618 if (constraint_case() != kAutomaton) {
12620 set_has_automaton();
12621 _impl_.constraint_.automaton_ = reinterpret_cast<::google::protobuf::Message*>(
12622 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::AutomatonConstraintProto>(GetArena()));
12623 }
12624 return reinterpret_cast<::operations_research::sat::AutomatonConstraintProto*>(_impl_.constraint_.automaton_);
12625}
12626inline ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_automaton()
12627 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12628 ::operations_research::sat::AutomatonConstraintProto* _msg = _internal_mutable_automaton();
12629 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
12630 return _msg;
12631}
12632
12633// .operations_research.sat.InverseConstraintProto inverse = 18;
12634inline bool ConstraintProto::has_inverse() const {
12635 return constraint_case() == kInverse;
12636}
12637inline bool ConstraintProto::_internal_has_inverse() const {
12638 return constraint_case() == kInverse;
12639}
12640inline void ConstraintProto::set_has_inverse() {
12641 _impl_._oneof_case_[0] = kInverse;
12642}
12644 ::google::protobuf::internal::TSanWrite(&_impl_);
12645 if (constraint_case() == kInverse) {
12646 if (GetArena() == nullptr) {
12647 delete _impl_.constraint_.inverse_;
12648 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12649 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.inverse_);
12650 }
12651 clear_has_constraint();
12652 }
12653}
12654inline ::operations_research::sat::InverseConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_inverse() {
12655 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
12656 if (constraint_case() == kInverse) {
12657 clear_has_constraint();
12658 auto* temp = reinterpret_cast<::operations_research::sat::InverseConstraintProto*>(_impl_.constraint_.inverse_);
12659 if (GetArena() != nullptr) {
12660 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12661 }
12662 _impl_.constraint_.inverse_ = nullptr;
12663 return temp;
12664 } else {
12665 return nullptr;
12666 }
12667}
12668inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
12669 return constraint_case() == kInverse ? *reinterpret_cast<::operations_research::sat::InverseConstraintProto*>(_impl_.constraint_.inverse_) : reinterpret_cast<::operations_research::sat::InverseConstraintProto&>(::operations_research::sat::_InverseConstraintProto_default_instance_);
12670}
12671inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12672 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
12673 return _internal_inverse();
12674}
12675inline ::operations_research::sat::InverseConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_inverse() {
12676 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
12677 if (constraint_case() == kInverse) {
12678 clear_has_constraint();
12679 auto* temp = reinterpret_cast<::operations_research::sat::InverseConstraintProto*>(_impl_.constraint_.inverse_);
12680 _impl_.constraint_.inverse_ = nullptr;
12681 return temp;
12682 } else {
12683 return nullptr;
12684 }
12685}
12688 // We rely on the oneof clear method to free the earlier contents
12689 // of this oneof. We can directly use the pointer we're given to
12690 // set the new value.
12692 if (value) {
12693 set_has_inverse();
12694 _impl_.constraint_.inverse_ = reinterpret_cast<::google::protobuf::Message*>(value);
12695 }
12696 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
12697}
12698inline ::operations_research::sat::InverseConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_inverse() {
12699 if (constraint_case() != kInverse) {
12701 set_has_inverse();
12702 _impl_.constraint_.inverse_ = reinterpret_cast<::google::protobuf::Message*>(
12703 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::InverseConstraintProto>(GetArena()));
12704 }
12705 return reinterpret_cast<::operations_research::sat::InverseConstraintProto*>(_impl_.constraint_.inverse_);
12706}
12707inline ::operations_research::sat::InverseConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_inverse()
12708 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12709 ::operations_research::sat::InverseConstraintProto* _msg = _internal_mutable_inverse();
12710 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
12711 return _msg;
12712}
12713
12714// .operations_research.sat.ReservoirConstraintProto reservoir = 24;
12715inline bool ConstraintProto::has_reservoir() const {
12716 return constraint_case() == kReservoir;
12717}
12718inline bool ConstraintProto::_internal_has_reservoir() const {
12719 return constraint_case() == kReservoir;
12720}
12721inline void ConstraintProto::set_has_reservoir() {
12722 _impl_._oneof_case_[0] = kReservoir;
12723}
12725 ::google::protobuf::internal::TSanWrite(&_impl_);
12726 if (constraint_case() == kReservoir) {
12727 if (GetArena() == nullptr) {
12728 delete _impl_.constraint_.reservoir_;
12729 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12730 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.reservoir_);
12731 }
12732 clear_has_constraint();
12733 }
12734}
12735inline ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_reservoir() {
12736 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
12737 if (constraint_case() == kReservoir) {
12738 clear_has_constraint();
12739 auto* temp = reinterpret_cast<::operations_research::sat::ReservoirConstraintProto*>(_impl_.constraint_.reservoir_);
12740 if (GetArena() != nullptr) {
12741 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12742 }
12743 _impl_.constraint_.reservoir_ = nullptr;
12744 return temp;
12745 } else {
12746 return nullptr;
12747 }
12748}
12749inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
12750 return constraint_case() == kReservoir ? *reinterpret_cast<::operations_research::sat::ReservoirConstraintProto*>(_impl_.constraint_.reservoir_) : reinterpret_cast<::operations_research::sat::ReservoirConstraintProto&>(::operations_research::sat::_ReservoirConstraintProto_default_instance_);
12751}
12752inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12753 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
12754 return _internal_reservoir();
12755}
12756inline ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_reservoir() {
12757 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
12758 if (constraint_case() == kReservoir) {
12759 clear_has_constraint();
12760 auto* temp = reinterpret_cast<::operations_research::sat::ReservoirConstraintProto*>(_impl_.constraint_.reservoir_);
12761 _impl_.constraint_.reservoir_ = nullptr;
12762 return temp;
12763 } else {
12764 return nullptr;
12765 }
12766}
12769 // We rely on the oneof clear method to free the earlier contents
12770 // of this oneof. We can directly use the pointer we're given to
12771 // set the new value.
12773 if (value) {
12774 set_has_reservoir();
12775 _impl_.constraint_.reservoir_ = reinterpret_cast<::google::protobuf::Message*>(value);
12776 }
12777 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
12778}
12779inline ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_reservoir() {
12780 if (constraint_case() != kReservoir) {
12782 set_has_reservoir();
12783 _impl_.constraint_.reservoir_ = reinterpret_cast<::google::protobuf::Message*>(
12784 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::ReservoirConstraintProto>(GetArena()));
12785 }
12786 return reinterpret_cast<::operations_research::sat::ReservoirConstraintProto*>(_impl_.constraint_.reservoir_);
12787}
12788inline ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_reservoir()
12789 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12790 ::operations_research::sat::ReservoirConstraintProto* _msg = _internal_mutable_reservoir();
12791 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
12792 return _msg;
12793}
12794
12795// .operations_research.sat.IntervalConstraintProto interval = 19;
12796inline bool ConstraintProto::has_interval() const {
12797 return constraint_case() == kInterval;
12798}
12799inline bool ConstraintProto::_internal_has_interval() const {
12800 return constraint_case() == kInterval;
12801}
12802inline void ConstraintProto::set_has_interval() {
12803 _impl_._oneof_case_[0] = kInterval;
12804}
12806 ::google::protobuf::internal::TSanWrite(&_impl_);
12807 if (constraint_case() == kInterval) {
12808 if (GetArena() == nullptr) {
12809 delete _impl_.constraint_.interval_;
12810 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12811 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.interval_);
12812 }
12813 clear_has_constraint();
12814 }
12815}
12816inline ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_interval() {
12817 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
12818 if (constraint_case() == kInterval) {
12819 clear_has_constraint();
12820 auto* temp = reinterpret_cast<::operations_research::sat::IntervalConstraintProto*>(_impl_.constraint_.interval_);
12821 if (GetArena() != nullptr) {
12822 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12823 }
12824 _impl_.constraint_.interval_ = nullptr;
12825 return temp;
12826 } else {
12827 return nullptr;
12828 }
12829}
12830inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
12831 return constraint_case() == kInterval ? *reinterpret_cast<::operations_research::sat::IntervalConstraintProto*>(_impl_.constraint_.interval_) : reinterpret_cast<::operations_research::sat::IntervalConstraintProto&>(::operations_research::sat::_IntervalConstraintProto_default_instance_);
12832}
12833inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12834 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
12835 return _internal_interval();
12836}
12837inline ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_interval() {
12838 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
12839 if (constraint_case() == kInterval) {
12840 clear_has_constraint();
12841 auto* temp = reinterpret_cast<::operations_research::sat::IntervalConstraintProto*>(_impl_.constraint_.interval_);
12842 _impl_.constraint_.interval_ = nullptr;
12843 return temp;
12844 } else {
12845 return nullptr;
12846 }
12847}
12850 // We rely on the oneof clear method to free the earlier contents
12851 // of this oneof. We can directly use the pointer we're given to
12852 // set the new value.
12854 if (value) {
12855 set_has_interval();
12856 _impl_.constraint_.interval_ = reinterpret_cast<::google::protobuf::Message*>(value);
12857 }
12858 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
12859}
12860inline ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_interval() {
12861 if (constraint_case() != kInterval) {
12863 set_has_interval();
12864 _impl_.constraint_.interval_ = reinterpret_cast<::google::protobuf::Message*>(
12865 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::IntervalConstraintProto>(GetArena()));
12866 }
12867 return reinterpret_cast<::operations_research::sat::IntervalConstraintProto*>(_impl_.constraint_.interval_);
12868}
12869inline ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_interval()
12870 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12871 ::operations_research::sat::IntervalConstraintProto* _msg = _internal_mutable_interval();
12872 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
12873 return _msg;
12874}
12875
12876// .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
12877inline bool ConstraintProto::has_no_overlap() const {
12878 return constraint_case() == kNoOverlap;
12879}
12880inline bool ConstraintProto::_internal_has_no_overlap() const {
12881 return constraint_case() == kNoOverlap;
12882}
12883inline void ConstraintProto::set_has_no_overlap() {
12884 _impl_._oneof_case_[0] = kNoOverlap;
12885}
12887 ::google::protobuf::internal::TSanWrite(&_impl_);
12888 if (constraint_case() == kNoOverlap) {
12889 if (GetArena() == nullptr) {
12890 delete _impl_.constraint_.no_overlap_;
12891 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12892 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.no_overlap_);
12893 }
12894 clear_has_constraint();
12895 }
12896}
12897inline ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_no_overlap() {
12898 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
12899 if (constraint_case() == kNoOverlap) {
12900 clear_has_constraint();
12901 auto* temp = reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto*>(_impl_.constraint_.no_overlap_);
12902 if (GetArena() != nullptr) {
12903 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12904 }
12905 _impl_.constraint_.no_overlap_ = nullptr;
12906 return temp;
12907 } else {
12908 return nullptr;
12909 }
12910}
12911inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
12912 return constraint_case() == kNoOverlap ? *reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto*>(_impl_.constraint_.no_overlap_) : reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto&>(::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
12913}
12914inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12915 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
12916 return _internal_no_overlap();
12917}
12918inline ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_no_overlap() {
12919 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
12920 if (constraint_case() == kNoOverlap) {
12921 clear_has_constraint();
12922 auto* temp = reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto*>(_impl_.constraint_.no_overlap_);
12923 _impl_.constraint_.no_overlap_ = nullptr;
12924 return temp;
12925 } else {
12926 return nullptr;
12927 }
12928}
12931 // We rely on the oneof clear method to free the earlier contents
12932 // of this oneof. We can directly use the pointer we're given to
12933 // set the new value.
12935 if (value) {
12936 set_has_no_overlap();
12937 _impl_.constraint_.no_overlap_ = reinterpret_cast<::google::protobuf::Message*>(value);
12938 }
12939 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
12940}
12941inline ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_no_overlap() {
12942 if (constraint_case() != kNoOverlap) {
12944 set_has_no_overlap();
12945 _impl_.constraint_.no_overlap_ = reinterpret_cast<::google::protobuf::Message*>(
12946 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::NoOverlapConstraintProto>(GetArena()));
12947 }
12948 return reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto*>(_impl_.constraint_.no_overlap_);
12949}
12950inline ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_no_overlap()
12951 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12952 ::operations_research::sat::NoOverlapConstraintProto* _msg = _internal_mutable_no_overlap();
12953 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
12954 return _msg;
12955}
12956
12957// .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
12958inline bool ConstraintProto::has_no_overlap_2d() const {
12959 return constraint_case() == kNoOverlap2D;
12960}
12961inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
12962 return constraint_case() == kNoOverlap2D;
12963}
12964inline void ConstraintProto::set_has_no_overlap_2d() {
12965 _impl_._oneof_case_[0] = kNoOverlap2D;
12966}
12968 ::google::protobuf::internal::TSanWrite(&_impl_);
12969 if (constraint_case() == kNoOverlap2D) {
12970 if (GetArena() == nullptr) {
12971 delete _impl_.constraint_.no_overlap_2d_;
12972 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12973 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.no_overlap_2d_);
12974 }
12975 clear_has_constraint();
12976 }
12977}
12978inline ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_no_overlap_2d() {
12979 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
12980 if (constraint_case() == kNoOverlap2D) {
12981 clear_has_constraint();
12982 auto* temp = reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto*>(_impl_.constraint_.no_overlap_2d_);
12983 if (GetArena() != nullptr) {
12984 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12985 }
12986 _impl_.constraint_.no_overlap_2d_ = nullptr;
12987 return temp;
12988 } else {
12989 return nullptr;
12990 }
12991}
12992inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
12993 return constraint_case() == kNoOverlap2D ? *reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto*>(_impl_.constraint_.no_overlap_2d_) : reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto&>(::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
12994}
12995inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12996 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
12997 return _internal_no_overlap_2d();
12998}
12999inline ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_no_overlap_2d() {
13000 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
13001 if (constraint_case() == kNoOverlap2D) {
13002 clear_has_constraint();
13003 auto* temp = reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto*>(_impl_.constraint_.no_overlap_2d_);
13004 _impl_.constraint_.no_overlap_2d_ = nullptr;
13005 return temp;
13006 } else {
13007 return nullptr;
13008 }
13009}
13012 // We rely on the oneof clear method to free the earlier contents
13013 // of this oneof. We can directly use the pointer we're given to
13014 // set the new value.
13016 if (value) {
13017 set_has_no_overlap_2d();
13018 _impl_.constraint_.no_overlap_2d_ = reinterpret_cast<::google::protobuf::Message*>(value);
13019 }
13020 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
13021}
13022inline ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_no_overlap_2d() {
13023 if (constraint_case() != kNoOverlap2D) {
13025 set_has_no_overlap_2d();
13026 _impl_.constraint_.no_overlap_2d_ = reinterpret_cast<::google::protobuf::Message*>(
13027 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::NoOverlap2DConstraintProto>(GetArena()));
13028 }
13029 return reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto*>(_impl_.constraint_.no_overlap_2d_);
13030}
13031inline ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_no_overlap_2d()
13032 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13033 ::operations_research::sat::NoOverlap2DConstraintProto* _msg = _internal_mutable_no_overlap_2d();
13034 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
13035 return _msg;
13036}
13037
13038// .operations_research.sat.CumulativeConstraintProto cumulative = 22;
13039inline bool ConstraintProto::has_cumulative() const {
13040 return constraint_case() == kCumulative;
13041}
13042inline bool ConstraintProto::_internal_has_cumulative() const {
13043 return constraint_case() == kCumulative;
13044}
13045inline void ConstraintProto::set_has_cumulative() {
13046 _impl_._oneof_case_[0] = kCumulative;
13047}
13049 ::google::protobuf::internal::TSanWrite(&_impl_);
13050 if (constraint_case() == kCumulative) {
13051 if (GetArena() == nullptr) {
13052 delete _impl_.constraint_.cumulative_;
13053 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
13054 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.cumulative_);
13055 }
13056 clear_has_constraint();
13057 }
13058}
13059inline ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_cumulative() {
13060 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
13061 if (constraint_case() == kCumulative) {
13062 clear_has_constraint();
13063 auto* temp = reinterpret_cast<::operations_research::sat::CumulativeConstraintProto*>(_impl_.constraint_.cumulative_);
13064 if (GetArena() != nullptr) {
13065 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
13066 }
13067 _impl_.constraint_.cumulative_ = nullptr;
13068 return temp;
13069 } else {
13070 return nullptr;
13071 }
13072}
13073inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
13074 return constraint_case() == kCumulative ? *reinterpret_cast<::operations_research::sat::CumulativeConstraintProto*>(_impl_.constraint_.cumulative_) : reinterpret_cast<::operations_research::sat::CumulativeConstraintProto&>(::operations_research::sat::_CumulativeConstraintProto_default_instance_);
13075}
13076inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13077 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
13078 return _internal_cumulative();
13079}
13080inline ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_cumulative() {
13081 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
13082 if (constraint_case() == kCumulative) {
13083 clear_has_constraint();
13084 auto* temp = reinterpret_cast<::operations_research::sat::CumulativeConstraintProto*>(_impl_.constraint_.cumulative_);
13085 _impl_.constraint_.cumulative_ = nullptr;
13086 return temp;
13087 } else {
13088 return nullptr;
13089 }
13090}
13093 // We rely on the oneof clear method to free the earlier contents
13094 // of this oneof. We can directly use the pointer we're given to
13095 // set the new value.
13097 if (value) {
13098 set_has_cumulative();
13099 _impl_.constraint_.cumulative_ = reinterpret_cast<::google::protobuf::Message*>(value);
13100 }
13101 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
13102}
13103inline ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_cumulative() {
13104 if (constraint_case() != kCumulative) {
13106 set_has_cumulative();
13107 _impl_.constraint_.cumulative_ = reinterpret_cast<::google::protobuf::Message*>(
13108 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::CumulativeConstraintProto>(GetArena()));
13109 }
13110 return reinterpret_cast<::operations_research::sat::CumulativeConstraintProto*>(_impl_.constraint_.cumulative_);
13111}
13112inline ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_cumulative()
13113 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13114 ::operations_research::sat::CumulativeConstraintProto* _msg = _internal_mutable_cumulative();
13115 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
13116 return _msg;
13117}
13118
13119// .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
13120inline bool ConstraintProto::has_dummy_constraint() const {
13122}
13123inline bool ConstraintProto::_internal_has_dummy_constraint() const {
13125}
13126inline void ConstraintProto::set_has_dummy_constraint() {
13127 _impl_._oneof_case_[0] = kDummyConstraint;
13128}
13130 ::google::protobuf::internal::TSanWrite(&_impl_);
13132 if (GetArena() == nullptr) {
13133 delete _impl_.constraint_.dummy_constraint_;
13134 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
13135 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.dummy_constraint_);
13136 }
13137 clear_has_constraint();
13138 }
13139}
13140inline ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NULLABLE ConstraintProto::release_dummy_constraint() {
13141 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.dummy_constraint)
13143 clear_has_constraint();
13144 auto* temp = reinterpret_cast<::operations_research::sat::ListOfVariablesProto*>(_impl_.constraint_.dummy_constraint_);
13145 if (GetArena() != nullptr) {
13146 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
13147 }
13148 _impl_.constraint_.dummy_constraint_ = nullptr;
13149 return temp;
13150 } else {
13151 return nullptr;
13152 }
13153}
13154inline const ::operations_research::sat::ListOfVariablesProto& ConstraintProto::_internal_dummy_constraint() const {
13155 return constraint_case() == kDummyConstraint ? *reinterpret_cast<::operations_research::sat::ListOfVariablesProto*>(_impl_.constraint_.dummy_constraint_) : reinterpret_cast<::operations_research::sat::ListOfVariablesProto&>(::operations_research::sat::_ListOfVariablesProto_default_instance_);
13156}
13157inline const ::operations_research::sat::ListOfVariablesProto& ConstraintProto::dummy_constraint() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13158 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.dummy_constraint)
13159 return _internal_dummy_constraint();
13160}
13161inline ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_dummy_constraint() {
13162 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.dummy_constraint)
13164 clear_has_constraint();
13165 auto* temp = reinterpret_cast<::operations_research::sat::ListOfVariablesProto*>(_impl_.constraint_.dummy_constraint_);
13166 _impl_.constraint_.dummy_constraint_ = nullptr;
13167 return temp;
13168 } else {
13169 return nullptr;
13170 }
13171}
13174 // We rely on the oneof clear method to free the earlier contents
13175 // of this oneof. We can directly use the pointer we're given to
13176 // set the new value.
13178 if (value) {
13179 set_has_dummy_constraint();
13180 _impl_.constraint_.dummy_constraint_ = reinterpret_cast<::google::protobuf::Message*>(value);
13181 }
13182 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.dummy_constraint)
13183}
13184inline ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_dummy_constraint() {
13187 set_has_dummy_constraint();
13188 _impl_.constraint_.dummy_constraint_ = reinterpret_cast<::google::protobuf::Message*>(
13189 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::ListOfVariablesProto>(GetArena()));
13190 }
13191 return reinterpret_cast<::operations_research::sat::ListOfVariablesProto*>(_impl_.constraint_.dummy_constraint_);
13192}
13193inline ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NONNULL ConstraintProto::mutable_dummy_constraint()
13194 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13195 ::operations_research::sat::ListOfVariablesProto* _msg = _internal_mutable_dummy_constraint();
13196 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.dummy_constraint)
13197 return _msg;
13198}
13199
13200inline bool ConstraintProto::has_constraint() const {
13202}
13203inline void ConstraintProto::clear_has_constraint() {
13204 _impl_._oneof_case_[0] = CONSTRAINT_NOT_SET;
13205}
13207 return ConstraintProto::ConstraintCase(_impl_._oneof_case_[0]);
13208}
13209// -------------------------------------------------------------------
13211// CpObjectiveProto
13212
13213// repeated int32 vars = 1;
13214inline int CpObjectiveProto::_internal_vars_size() const {
13215 return _internal_vars().size();
13216}
13217inline int CpObjectiveProto::vars_size() const {
13218 return _internal_vars_size();
13219}
13220inline void CpObjectiveProto::clear_vars() {
13221 ::google::protobuf::internal::TSanWrite(&_impl_);
13222 _impl_.vars_.Clear();
13223}
13224inline ::int32_t CpObjectiveProto::vars(int index) const {
13225 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
13226 return _internal_vars().Get(index);
13227}
13228inline void CpObjectiveProto::set_vars(int index, ::int32_t value) {
13229 _internal_mutable_vars()->Set(index, value);
13230 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
13231}
13232inline void CpObjectiveProto::add_vars(::int32_t value) {
13233 ::google::protobuf::internal::TSanWrite(&_impl_);
13234 _internal_mutable_vars()->Add(value);
13235 // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
13236}
13237inline const ::google::protobuf::RepeatedField<::int32_t>& CpObjectiveProto::vars() const
13238 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13239 // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
13240 return _internal_vars();
13241}
13242inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CpObjectiveProto::mutable_vars()
13243 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13244 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
13245 ::google::protobuf::internal::TSanWrite(&_impl_);
13246 return _internal_mutable_vars();
13247}
13248inline const ::google::protobuf::RepeatedField<::int32_t>&
13249CpObjectiveProto::_internal_vars() const {
13250 ::google::protobuf::internal::TSanRead(&_impl_);
13251 return _impl_.vars_;
13252}
13253inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13254CpObjectiveProto::_internal_mutable_vars() {
13255 ::google::protobuf::internal::TSanRead(&_impl_);
13256 return &_impl_.vars_;
13257}
13258
13259// repeated int64 coeffs = 4;
13260inline int CpObjectiveProto::_internal_coeffs_size() const {
13261 return _internal_coeffs().size();
13262}
13263inline int CpObjectiveProto::coeffs_size() const {
13264 return _internal_coeffs_size();
13265}
13266inline void CpObjectiveProto::clear_coeffs() {
13267 ::google::protobuf::internal::TSanWrite(&_impl_);
13268 _impl_.coeffs_.Clear();
13269}
13270inline ::int64_t CpObjectiveProto::coeffs(int index) const {
13271 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
13272 return _internal_coeffs().Get(index);
13273}
13274inline void CpObjectiveProto::set_coeffs(int index, ::int64_t value) {
13275 _internal_mutable_coeffs()->Set(index, value);
13276 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
13277}
13278inline void CpObjectiveProto::add_coeffs(::int64_t value) {
13279 ::google::protobuf::internal::TSanWrite(&_impl_);
13280 _internal_mutable_coeffs()->Add(value);
13281 // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
13283inline const ::google::protobuf::RepeatedField<::int64_t>& CpObjectiveProto::coeffs() const
13284 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13285 // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
13286 return _internal_coeffs();
13287}
13288inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL CpObjectiveProto::mutable_coeffs()
13289 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13290 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
13291 ::google::protobuf::internal::TSanWrite(&_impl_);
13292 return _internal_mutable_coeffs();
13293}
13294inline const ::google::protobuf::RepeatedField<::int64_t>&
13295CpObjectiveProto::_internal_coeffs() const {
13296 ::google::protobuf::internal::TSanRead(&_impl_);
13297 return _impl_.coeffs_;
13298}
13299inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
13300CpObjectiveProto::_internal_mutable_coeffs() {
13301 ::google::protobuf::internal::TSanRead(&_impl_);
13302 return &_impl_.coeffs_;
13303}
13304
13305// double offset = 2;
13306inline void CpObjectiveProto::clear_offset() {
13307 ::google::protobuf::internal::TSanWrite(&_impl_);
13308 _impl_.offset_ = 0;
13309 _impl_._has_bits_[0] &= ~0x00000001u;
13310}
13311inline double CpObjectiveProto::offset() const {
13312 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
13313 return _internal_offset();
13314}
13315inline void CpObjectiveProto::set_offset(double value) {
13316 _internal_set_offset(value);
13317 _impl_._has_bits_[0] |= 0x00000001u;
13318 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
13319}
13320inline double CpObjectiveProto::_internal_offset() const {
13321 ::google::protobuf::internal::TSanRead(&_impl_);
13322 return _impl_.offset_;
13323}
13324inline void CpObjectiveProto::_internal_set_offset(double value) {
13325 ::google::protobuf::internal::TSanWrite(&_impl_);
13326 _impl_.offset_ = value;
13327}
13329// double scaling_factor = 3;
13331 ::google::protobuf::internal::TSanWrite(&_impl_);
13332 _impl_.scaling_factor_ = 0;
13333 _impl_._has_bits_[0] &= ~0x00000002u;
13334}
13335inline double CpObjectiveProto::scaling_factor() const {
13336 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
13337 return _internal_scaling_factor();
13338}
13339inline void CpObjectiveProto::set_scaling_factor(double value) {
13340 _internal_set_scaling_factor(value);
13341 _impl_._has_bits_[0] |= 0x00000002u;
13342 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
13343}
13344inline double CpObjectiveProto::_internal_scaling_factor() const {
13345 ::google::protobuf::internal::TSanRead(&_impl_);
13346 return _impl_.scaling_factor_;
13347}
13348inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
13349 ::google::protobuf::internal::TSanWrite(&_impl_);
13350 _impl_.scaling_factor_ = value;
13351}
13352
13353// repeated int64 domain = 5;
13354inline int CpObjectiveProto::_internal_domain_size() const {
13355 return _internal_domain().size();
13356}
13357inline int CpObjectiveProto::domain_size() const {
13358 return _internal_domain_size();
13359}
13361 ::google::protobuf::internal::TSanWrite(&_impl_);
13362 _impl_.domain_.Clear();
13363}
13364inline ::int64_t CpObjectiveProto::domain(int index) const {
13365 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
13366 return _internal_domain().Get(index);
13367}
13368inline void CpObjectiveProto::set_domain(int index, ::int64_t value) {
13369 _internal_mutable_domain()->Set(index, value);
13370 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
13371}
13372inline void CpObjectiveProto::add_domain(::int64_t value) {
13373 ::google::protobuf::internal::TSanWrite(&_impl_);
13374 _internal_mutable_domain()->Add(value);
13375 // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
13376}
13377inline const ::google::protobuf::RepeatedField<::int64_t>& CpObjectiveProto::domain() const
13378 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13379 // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
13380 return _internal_domain();
13381}
13382inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL CpObjectiveProto::mutable_domain()
13383 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13384 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
13385 ::google::protobuf::internal::TSanWrite(&_impl_);
13386 return _internal_mutable_domain();
13387}
13388inline const ::google::protobuf::RepeatedField<::int64_t>&
13389CpObjectiveProto::_internal_domain() const {
13390 ::google::protobuf::internal::TSanRead(&_impl_);
13391 return _impl_.domain_;
13392}
13393inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
13394CpObjectiveProto::_internal_mutable_domain() {
13395 ::google::protobuf::internal::TSanRead(&_impl_);
13396 return &_impl_.domain_;
13397}
13398
13399// bool scaling_was_exact = 6;
13401 ::google::protobuf::internal::TSanWrite(&_impl_);
13402 _impl_.scaling_was_exact_ = false;
13403 _impl_._has_bits_[0] &= ~0x00000020u;
13404}
13405inline bool CpObjectiveProto::scaling_was_exact() const {
13406 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_was_exact)
13407 return _internal_scaling_was_exact();
13408}
13409inline void CpObjectiveProto::set_scaling_was_exact(bool value) {
13410 _internal_set_scaling_was_exact(value);
13411 _impl_._has_bits_[0] |= 0x00000020u;
13412 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_was_exact)
13413}
13414inline bool CpObjectiveProto::_internal_scaling_was_exact() const {
13415 ::google::protobuf::internal::TSanRead(&_impl_);
13416 return _impl_.scaling_was_exact_;
13417}
13418inline void CpObjectiveProto::_internal_set_scaling_was_exact(bool value) {
13419 ::google::protobuf::internal::TSanWrite(&_impl_);
13420 _impl_.scaling_was_exact_ = value;
13421}
13423// int64 integer_before_offset = 7;
13425 ::google::protobuf::internal::TSanWrite(&_impl_);
13426 _impl_.integer_before_offset_ = ::int64_t{0};
13427 _impl_._has_bits_[0] &= ~0x00000004u;
13428}
13429inline ::int64_t CpObjectiveProto::integer_before_offset() const {
13430 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.integer_before_offset)
13431 return _internal_integer_before_offset();
13432}
13433inline void CpObjectiveProto::set_integer_before_offset(::int64_t value) {
13434 _internal_set_integer_before_offset(value);
13435 _impl_._has_bits_[0] |= 0x00000004u;
13436 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.integer_before_offset)
13437}
13438inline ::int64_t CpObjectiveProto::_internal_integer_before_offset() const {
13439 ::google::protobuf::internal::TSanRead(&_impl_);
13440 return _impl_.integer_before_offset_;
13441}
13442inline void CpObjectiveProto::_internal_set_integer_before_offset(::int64_t value) {
13443 ::google::protobuf::internal::TSanWrite(&_impl_);
13444 _impl_.integer_before_offset_ = value;
13445}
13446
13447// int64 integer_after_offset = 9;
13449 ::google::protobuf::internal::TSanWrite(&_impl_);
13450 _impl_.integer_after_offset_ = ::int64_t{0};
13451 _impl_._has_bits_[0] &= ~0x00000010u;
13452}
13453inline ::int64_t CpObjectiveProto::integer_after_offset() const {
13454 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.integer_after_offset)
13455 return _internal_integer_after_offset();
13456}
13457inline void CpObjectiveProto::set_integer_after_offset(::int64_t value) {
13458 _internal_set_integer_after_offset(value);
13459 _impl_._has_bits_[0] |= 0x00000010u;
13460 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.integer_after_offset)
13461}
13462inline ::int64_t CpObjectiveProto::_internal_integer_after_offset() const {
13463 ::google::protobuf::internal::TSanRead(&_impl_);
13464 return _impl_.integer_after_offset_;
13465}
13466inline void CpObjectiveProto::_internal_set_integer_after_offset(::int64_t value) {
13467 ::google::protobuf::internal::TSanWrite(&_impl_);
13468 _impl_.integer_after_offset_ = value;
13469}
13470
13471// int64 integer_scaling_factor = 8;
13473 ::google::protobuf::internal::TSanWrite(&_impl_);
13474 _impl_.integer_scaling_factor_ = ::int64_t{0};
13475 _impl_._has_bits_[0] &= ~0x00000008u;
13476}
13477inline ::int64_t CpObjectiveProto::integer_scaling_factor() const {
13478 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.integer_scaling_factor)
13479 return _internal_integer_scaling_factor();
13480}
13481inline void CpObjectiveProto::set_integer_scaling_factor(::int64_t value) {
13482 _internal_set_integer_scaling_factor(value);
13483 _impl_._has_bits_[0] |= 0x00000008u;
13484 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.integer_scaling_factor)
13485}
13486inline ::int64_t CpObjectiveProto::_internal_integer_scaling_factor() const {
13487 ::google::protobuf::internal::TSanRead(&_impl_);
13488 return _impl_.integer_scaling_factor_;
13489}
13490inline void CpObjectiveProto::_internal_set_integer_scaling_factor(::int64_t value) {
13491 ::google::protobuf::internal::TSanWrite(&_impl_);
13492 _impl_.integer_scaling_factor_ = value;
13493}
13494
13495// -------------------------------------------------------------------
13496
13497// FloatObjectiveProto
13498
13499// repeated int32 vars = 1;
13500inline int FloatObjectiveProto::_internal_vars_size() const {
13501 return _internal_vars().size();
13503inline int FloatObjectiveProto::vars_size() const {
13504 return _internal_vars_size();
13505}
13506inline void FloatObjectiveProto::clear_vars() {
13507 ::google::protobuf::internal::TSanWrite(&_impl_);
13508 _impl_.vars_.Clear();
13509}
13510inline ::int32_t FloatObjectiveProto::vars(int index) const {
13511 // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.vars)
13512 return _internal_vars().Get(index);
13513}
13514inline void FloatObjectiveProto::set_vars(int index, ::int32_t value) {
13515 _internal_mutable_vars()->Set(index, value);
13516 // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.vars)
13517}
13518inline void FloatObjectiveProto::add_vars(::int32_t value) {
13519 ::google::protobuf::internal::TSanWrite(&_impl_);
13520 _internal_mutable_vars()->Add(value);
13521 // @@protoc_insertion_point(field_add:operations_research.sat.FloatObjectiveProto.vars)
13522}
13523inline const ::google::protobuf::RepeatedField<::int32_t>& FloatObjectiveProto::vars() const
13524 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13525 // @@protoc_insertion_point(field_list:operations_research.sat.FloatObjectiveProto.vars)
13526 return _internal_vars();
13527}
13528inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL FloatObjectiveProto::mutable_vars()
13529 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13530 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.FloatObjectiveProto.vars)
13531 ::google::protobuf::internal::TSanWrite(&_impl_);
13532 return _internal_mutable_vars();
13533}
13534inline const ::google::protobuf::RepeatedField<::int32_t>&
13535FloatObjectiveProto::_internal_vars() const {
13536 ::google::protobuf::internal::TSanRead(&_impl_);
13537 return _impl_.vars_;
13538}
13539inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13540FloatObjectiveProto::_internal_mutable_vars() {
13541 ::google::protobuf::internal::TSanRead(&_impl_);
13542 return &_impl_.vars_;
13543}
13544
13545// repeated double coeffs = 2;
13546inline int FloatObjectiveProto::_internal_coeffs_size() const {
13547 return _internal_coeffs().size();
13548}
13549inline int FloatObjectiveProto::coeffs_size() const {
13550 return _internal_coeffs_size();
13551}
13553 ::google::protobuf::internal::TSanWrite(&_impl_);
13554 _impl_.coeffs_.Clear();
13555}
13556inline double FloatObjectiveProto::coeffs(int index) const {
13557 // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.coeffs)
13558 return _internal_coeffs().Get(index);
13559}
13560inline void FloatObjectiveProto::set_coeffs(int index, double value) {
13561 _internal_mutable_coeffs()->Set(index, value);
13562 // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.coeffs)
13563}
13564inline void FloatObjectiveProto::add_coeffs(double value) {
13565 ::google::protobuf::internal::TSanWrite(&_impl_);
13566 _internal_mutable_coeffs()->Add(value);
13567 // @@protoc_insertion_point(field_add:operations_research.sat.FloatObjectiveProto.coeffs)
13568}
13569inline const ::google::protobuf::RepeatedField<double>& FloatObjectiveProto::coeffs() const
13570 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13571 // @@protoc_insertion_point(field_list:operations_research.sat.FloatObjectiveProto.coeffs)
13572 return _internal_coeffs();
13574inline ::google::protobuf::RepeatedField<double>* PROTOBUF_NONNULL FloatObjectiveProto::mutable_coeffs()
13575 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13576 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.FloatObjectiveProto.coeffs)
13577 ::google::protobuf::internal::TSanWrite(&_impl_);
13578 return _internal_mutable_coeffs();
13579}
13580inline const ::google::protobuf::RepeatedField<double>&
13581FloatObjectiveProto::_internal_coeffs() const {
13582 ::google::protobuf::internal::TSanRead(&_impl_);
13583 return _impl_.coeffs_;
13584}
13585inline ::google::protobuf::RepeatedField<double>* PROTOBUF_NONNULL
13586FloatObjectiveProto::_internal_mutable_coeffs() {
13587 ::google::protobuf::internal::TSanRead(&_impl_);
13588 return &_impl_.coeffs_;
13589}
13590
13591// double offset = 3;
13593 ::google::protobuf::internal::TSanWrite(&_impl_);
13594 _impl_.offset_ = 0;
13595 _impl_._has_bits_[0] &= ~0x00000001u;
13596}
13597inline double FloatObjectiveProto::offset() const {
13598 // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.offset)
13599 return _internal_offset();
13600}
13601inline void FloatObjectiveProto::set_offset(double value) {
13602 _internal_set_offset(value);
13603 _impl_._has_bits_[0] |= 0x00000001u;
13604 // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.offset)
13605}
13606inline double FloatObjectiveProto::_internal_offset() const {
13607 ::google::protobuf::internal::TSanRead(&_impl_);
13608 return _impl_.offset_;
13609}
13610inline void FloatObjectiveProto::_internal_set_offset(double value) {
13611 ::google::protobuf::internal::TSanWrite(&_impl_);
13612 _impl_.offset_ = value;
13613}
13614
13615// bool maximize = 4;
13617 ::google::protobuf::internal::TSanWrite(&_impl_);
13618 _impl_.maximize_ = false;
13619 _impl_._has_bits_[0] &= ~0x00000002u;
13620}
13621inline bool FloatObjectiveProto::maximize() const {
13622 // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.maximize)
13623 return _internal_maximize();
13625inline void FloatObjectiveProto::set_maximize(bool value) {
13626 _internal_set_maximize(value);
13627 _impl_._has_bits_[0] |= 0x00000002u;
13628 // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.maximize)
13630inline bool FloatObjectiveProto::_internal_maximize() const {
13631 ::google::protobuf::internal::TSanRead(&_impl_);
13632 return _impl_.maximize_;
13633}
13634inline void FloatObjectiveProto::_internal_set_maximize(bool value) {
13635 ::google::protobuf::internal::TSanWrite(&_impl_);
13636 _impl_.maximize_ = value;
13637}
13638
13639// -------------------------------------------------------------------
13640
13641// DecisionStrategyProto
13642
13643// repeated int32 variables = 1;
13644inline int DecisionStrategyProto::_internal_variables_size() const {
13645 return _internal_variables().size();
13646}
13648 return _internal_variables_size();
13649}
13651 ::google::protobuf::internal::TSanWrite(&_impl_);
13652 _impl_.variables_.Clear();
13653}
13654inline ::int32_t DecisionStrategyProto::variables(int index) const {
13655 // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
13656 return _internal_variables().Get(index);
13657}
13658inline void DecisionStrategyProto::set_variables(int index, ::int32_t value) {
13659 _internal_mutable_variables()->Set(index, value);
13660 // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
13661}
13662inline void DecisionStrategyProto::add_variables(::int32_t value) {
13663 ::google::protobuf::internal::TSanWrite(&_impl_);
13664 _internal_mutable_variables()->Add(value);
13665 // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
13666}
13667inline const ::google::protobuf::RepeatedField<::int32_t>& DecisionStrategyProto::variables() const
13668 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13669 // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
13670 return _internal_variables();
13672inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL DecisionStrategyProto::mutable_variables()
13673 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13674 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
13675 ::google::protobuf::internal::TSanWrite(&_impl_);
13676 return _internal_mutable_variables();
13677}
13678inline const ::google::protobuf::RepeatedField<::int32_t>&
13679DecisionStrategyProto::_internal_variables() const {
13680 ::google::protobuf::internal::TSanRead(&_impl_);
13681 return _impl_.variables_;
13682}
13683inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13684DecisionStrategyProto::_internal_mutable_variables() {
13685 ::google::protobuf::internal::TSanRead(&_impl_);
13686 return &_impl_.variables_;
13687}
13688
13689// repeated .operations_research.sat.LinearExpressionProto exprs = 5;
13690inline int DecisionStrategyProto::_internal_exprs_size() const {
13691 return _internal_exprs().size();
13692}
13693inline int DecisionStrategyProto::exprs_size() const {
13694 return _internal_exprs_size();
13695}
13697 ::google::protobuf::internal::TSanWrite(&_impl_);
13698 _impl_.exprs_.Clear();
13699}
13700inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL DecisionStrategyProto::mutable_exprs(int index)
13701 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13702 // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.exprs)
13703 return _internal_mutable_exprs()->Mutable(index);
13704}
13705inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL DecisionStrategyProto::mutable_exprs()
13706 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13707 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.exprs)
13708 ::google::protobuf::internal::TSanWrite(&_impl_);
13709 return _internal_mutable_exprs();
13711inline const ::operations_research::sat::LinearExpressionProto& DecisionStrategyProto::exprs(int index) const
13712 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13713 // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.exprs)
13714 return _internal_exprs().Get(index);
13715}
13716inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL DecisionStrategyProto::add_exprs()
13717 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13718 ::google::protobuf::internal::TSanWrite(&_impl_);
13719 ::operations_research::sat::LinearExpressionProto* _add = _internal_mutable_exprs()->Add();
13720 // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.exprs)
13721 return _add;
13722}
13723inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& DecisionStrategyProto::exprs() const
13724 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13725 // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.exprs)
13726 return _internal_exprs();
13727}
13728inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
13729DecisionStrategyProto::_internal_exprs() const {
13730 ::google::protobuf::internal::TSanRead(&_impl_);
13731 return _impl_.exprs_;
13732}
13733inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
13734DecisionStrategyProto::_internal_mutable_exprs() {
13735 ::google::protobuf::internal::TSanRead(&_impl_);
13736 return &_impl_.exprs_;
13737}
13738
13739// .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
13741 ::google::protobuf::internal::TSanWrite(&_impl_);
13742 _impl_.variable_selection_strategy_ = 0;
13743 _impl_._has_bits_[0] &= ~0x00000001u;
13744}
13745inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::variable_selection_strategy() const {
13746 // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
13747 return _internal_variable_selection_strategy();
13748}
13750 _internal_set_variable_selection_strategy(value);
13751 _impl_._has_bits_[0] |= 0x00000001u;
13752 // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
13753}
13754inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
13755 ::google::protobuf::internal::TSanRead(&_impl_);
13757}
13758inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
13759 ::google::protobuf::internal::TSanWrite(&_impl_);
13760 _impl_.variable_selection_strategy_ = value;
13762
13763// .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
13765 ::google::protobuf::internal::TSanWrite(&_impl_);
13766 _impl_.domain_reduction_strategy_ = 0;
13767 _impl_._has_bits_[0] &= ~0x00000002u;
13768}
13769inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::domain_reduction_strategy() const {
13770 // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
13771 return _internal_domain_reduction_strategy();
13774 _internal_set_domain_reduction_strategy(value);
13775 _impl_._has_bits_[0] |= 0x00000002u;
13776 // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
13777}
13778inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
13779 ::google::protobuf::internal::TSanRead(&_impl_);
13780 return static_cast<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>(_impl_.domain_reduction_strategy_);
13781}
13782inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
13783 ::google::protobuf::internal::TSanWrite(&_impl_);
13784 _impl_.domain_reduction_strategy_ = value;
13785}
13786
13787// -------------------------------------------------------------------
13788
13789// PartialVariableAssignment
13790
13791// repeated int32 vars = 1;
13792inline int PartialVariableAssignment::_internal_vars_size() const {
13793 return _internal_vars().size();
13794}
13795inline int PartialVariableAssignment::vars_size() const {
13796 return _internal_vars_size();
13797}
13799 ::google::protobuf::internal::TSanWrite(&_impl_);
13800 _impl_.vars_.Clear();
13802inline ::int32_t PartialVariableAssignment::vars(int index) const {
13803 // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
13804 return _internal_vars().Get(index);
13806inline void PartialVariableAssignment::set_vars(int index, ::int32_t value) {
13807 _internal_mutable_vars()->Set(index, value);
13808 // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
13809}
13810inline void PartialVariableAssignment::add_vars(::int32_t value) {
13811 ::google::protobuf::internal::TSanWrite(&_impl_);
13812 _internal_mutable_vars()->Add(value);
13813 // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
13814}
13815inline const ::google::protobuf::RepeatedField<::int32_t>& PartialVariableAssignment::vars() const
13816 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13817 // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
13818 return _internal_vars();
13819}
13820inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL PartialVariableAssignment::mutable_vars()
13821 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13822 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
13823 ::google::protobuf::internal::TSanWrite(&_impl_);
13824 return _internal_mutable_vars();
13826inline const ::google::protobuf::RepeatedField<::int32_t>&
13827PartialVariableAssignment::_internal_vars() const {
13828 ::google::protobuf::internal::TSanRead(&_impl_);
13829 return _impl_.vars_;
13830}
13831inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13832PartialVariableAssignment::_internal_mutable_vars() {
13833 ::google::protobuf::internal::TSanRead(&_impl_);
13834 return &_impl_.vars_;
13835}
13836
13837// repeated int64 values = 2;
13838inline int PartialVariableAssignment::_internal_values_size() const {
13839 return _internal_values().size();
13840}
13841inline int PartialVariableAssignment::values_size() const {
13842 return _internal_values_size();
13843}
13845 ::google::protobuf::internal::TSanWrite(&_impl_);
13846 _impl_.values_.Clear();
13847}
13848inline ::int64_t PartialVariableAssignment::values(int index) const {
13849 // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
13850 return _internal_values().Get(index);
13851}
13852inline void PartialVariableAssignment::set_values(int index, ::int64_t value) {
13853 _internal_mutable_values()->Set(index, value);
13854 // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
13856inline void PartialVariableAssignment::add_values(::int64_t value) {
13857 ::google::protobuf::internal::TSanWrite(&_impl_);
13858 _internal_mutable_values()->Add(value);
13859 // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
13860}
13861inline const ::google::protobuf::RepeatedField<::int64_t>& PartialVariableAssignment::values() const
13862 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13863 // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
13864 return _internal_values();
13865}
13866inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL PartialVariableAssignment::mutable_values()
13867 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13868 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
13869 ::google::protobuf::internal::TSanWrite(&_impl_);
13870 return _internal_mutable_values();
13871}
13872inline const ::google::protobuf::RepeatedField<::int64_t>&
13873PartialVariableAssignment::_internal_values() const {
13874 ::google::protobuf::internal::TSanRead(&_impl_);
13875 return _impl_.values_;
13876}
13877inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
13878PartialVariableAssignment::_internal_mutable_values() {
13879 ::google::protobuf::internal::TSanRead(&_impl_);
13880 return &_impl_.values_;
13881}
13882
13883// -------------------------------------------------------------------
13884
13885// SparsePermutationProto
13886
13887// repeated int32 support = 1;
13888inline int SparsePermutationProto::_internal_support_size() const {
13889 return _internal_support().size();
13890}
13891inline int SparsePermutationProto::support_size() const {
13892 return _internal_support_size();
13893}
13895 ::google::protobuf::internal::TSanWrite(&_impl_);
13896 _impl_.support_.Clear();
13897}
13898inline ::int32_t SparsePermutationProto::support(int index) const {
13899 // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.support)
13900 return _internal_support().Get(index);
13902inline void SparsePermutationProto::set_support(int index, ::int32_t value) {
13903 _internal_mutable_support()->Set(index, value);
13904 // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.support)
13906inline void SparsePermutationProto::add_support(::int32_t value) {
13907 ::google::protobuf::internal::TSanWrite(&_impl_);
13908 _internal_mutable_support()->Add(value);
13909 // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.support)
13910}
13911inline const ::google::protobuf::RepeatedField<::int32_t>& SparsePermutationProto::support() const
13912 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13913 // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.support)
13914 return _internal_support();
13915}
13916inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SparsePermutationProto::mutable_support()
13917 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13918 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.support)
13919 ::google::protobuf::internal::TSanWrite(&_impl_);
13920 return _internal_mutable_support();
13921}
13922inline const ::google::protobuf::RepeatedField<::int32_t>&
13923SparsePermutationProto::_internal_support() const {
13924 ::google::protobuf::internal::TSanRead(&_impl_);
13925 return _impl_.support_;
13926}
13927inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13928SparsePermutationProto::_internal_mutable_support() {
13929 ::google::protobuf::internal::TSanRead(&_impl_);
13930 return &_impl_.support_;
13931}
13932
13933// repeated int32 cycle_sizes = 2;
13934inline int SparsePermutationProto::_internal_cycle_sizes_size() const {
13935 return _internal_cycle_sizes().size();
13936}
13938 return _internal_cycle_sizes_size();
13939}
13941 ::google::protobuf::internal::TSanWrite(&_impl_);
13942 _impl_.cycle_sizes_.Clear();
13943}
13944inline ::int32_t SparsePermutationProto::cycle_sizes(int index) const {
13945 // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.cycle_sizes)
13946 return _internal_cycle_sizes().Get(index);
13947}
13948inline void SparsePermutationProto::set_cycle_sizes(int index, ::int32_t value) {
13949 _internal_mutable_cycle_sizes()->Set(index, value);
13950 // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.cycle_sizes)
13951}
13952inline void SparsePermutationProto::add_cycle_sizes(::int32_t value) {
13953 ::google::protobuf::internal::TSanWrite(&_impl_);
13954 _internal_mutable_cycle_sizes()->Add(value);
13955 // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.cycle_sizes)
13957inline const ::google::protobuf::RepeatedField<::int32_t>& SparsePermutationProto::cycle_sizes() const
13958 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13959 // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
13960 return _internal_cycle_sizes();
13961}
13962inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SparsePermutationProto::mutable_cycle_sizes()
13963 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13964 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
13965 ::google::protobuf::internal::TSanWrite(&_impl_);
13966 return _internal_mutable_cycle_sizes();
13967}
13968inline const ::google::protobuf::RepeatedField<::int32_t>&
13969SparsePermutationProto::_internal_cycle_sizes() const {
13970 ::google::protobuf::internal::TSanRead(&_impl_);
13971 return _impl_.cycle_sizes_;
13972}
13973inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13974SparsePermutationProto::_internal_mutable_cycle_sizes() {
13975 ::google::protobuf::internal::TSanRead(&_impl_);
13976 return &_impl_.cycle_sizes_;
13977}
13978
13979// -------------------------------------------------------------------
13980
13981// DenseMatrixProto
13982
13983// int32 num_rows = 1;
13985 ::google::protobuf::internal::TSanWrite(&_impl_);
13986 _impl_.num_rows_ = 0;
13987 _impl_._has_bits_[0] &= ~0x00000001u;
13988}
13989inline ::int32_t DenseMatrixProto::num_rows() const {
13990 // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_rows)
13991 return _internal_num_rows();
13992}
13993inline void DenseMatrixProto::set_num_rows(::int32_t value) {
13994 _internal_set_num_rows(value);
13995 _impl_._has_bits_[0] |= 0x00000001u;
13996 // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_rows)
13997}
13998inline ::int32_t DenseMatrixProto::_internal_num_rows() const {
13999 ::google::protobuf::internal::TSanRead(&_impl_);
14000 return _impl_.num_rows_;
14001}
14002inline void DenseMatrixProto::_internal_set_num_rows(::int32_t value) {
14003 ::google::protobuf::internal::TSanWrite(&_impl_);
14004 _impl_.num_rows_ = value;
14005}
14007// int32 num_cols = 2;
14009 ::google::protobuf::internal::TSanWrite(&_impl_);
14010 _impl_.num_cols_ = 0;
14011 _impl_._has_bits_[0] &= ~0x00000002u;
14012}
14013inline ::int32_t DenseMatrixProto::num_cols() const {
14014 // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_cols)
14015 return _internal_num_cols();
14016}
14017inline void DenseMatrixProto::set_num_cols(::int32_t value) {
14018 _internal_set_num_cols(value);
14019 _impl_._has_bits_[0] |= 0x00000002u;
14020 // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_cols)
14021}
14022inline ::int32_t DenseMatrixProto::_internal_num_cols() const {
14023 ::google::protobuf::internal::TSanRead(&_impl_);
14024 return _impl_.num_cols_;
14025}
14026inline void DenseMatrixProto::_internal_set_num_cols(::int32_t value) {
14027 ::google::protobuf::internal::TSanWrite(&_impl_);
14028 _impl_.num_cols_ = value;
14029}
14030
14031// repeated int32 entries = 3;
14032inline int DenseMatrixProto::_internal_entries_size() const {
14033 return _internal_entries().size();
14034}
14035inline int DenseMatrixProto::entries_size() const {
14036 return _internal_entries_size();
14037}
14038inline void DenseMatrixProto::clear_entries() {
14039 ::google::protobuf::internal::TSanWrite(&_impl_);
14040 _impl_.entries_.Clear();
14041}
14042inline ::int32_t DenseMatrixProto::entries(int index) const {
14043 // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.entries)
14044 return _internal_entries().Get(index);
14045}
14046inline void DenseMatrixProto::set_entries(int index, ::int32_t value) {
14047 _internal_mutable_entries()->Set(index, value);
14048 // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.entries)
14049}
14050inline void DenseMatrixProto::add_entries(::int32_t value) {
14051 ::google::protobuf::internal::TSanWrite(&_impl_);
14052 _internal_mutable_entries()->Add(value);
14053 // @@protoc_insertion_point(field_add:operations_research.sat.DenseMatrixProto.entries)
14054}
14055inline const ::google::protobuf::RepeatedField<::int32_t>& DenseMatrixProto::entries() const
14056 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14057 // @@protoc_insertion_point(field_list:operations_research.sat.DenseMatrixProto.entries)
14058 return _internal_entries();
14059}
14060inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL DenseMatrixProto::mutable_entries()
14061 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14062 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DenseMatrixProto.entries)
14063 ::google::protobuf::internal::TSanWrite(&_impl_);
14064 return _internal_mutable_entries();
14065}
14066inline const ::google::protobuf::RepeatedField<::int32_t>&
14067DenseMatrixProto::_internal_entries() const {
14068 ::google::protobuf::internal::TSanRead(&_impl_);
14069 return _impl_.entries_;
14070}
14071inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
14072DenseMatrixProto::_internal_mutable_entries() {
14073 ::google::protobuf::internal::TSanRead(&_impl_);
14074 return &_impl_.entries_;
14075}
14077// -------------------------------------------------------------------
14078
14079// SymmetryProto
14080
14081// repeated .operations_research.sat.SparsePermutationProto permutations = 1;
14082inline int SymmetryProto::_internal_permutations_size() const {
14083 return _internal_permutations().size();
14084}
14085inline int SymmetryProto::permutations_size() const {
14086 return _internal_permutations_size();
14087}
14089 ::google::protobuf::internal::TSanWrite(&_impl_);
14090 _impl_.permutations_.Clear();
14091}
14092inline ::operations_research::sat::SparsePermutationProto* PROTOBUF_NONNULL SymmetryProto::mutable_permutations(int index)
14093 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14094 // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.permutations)
14095 return _internal_mutable_permutations()->Mutable(index);
14096}
14097inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>* PROTOBUF_NONNULL SymmetryProto::mutable_permutations()
14098 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14099 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.permutations)
14100 ::google::protobuf::internal::TSanWrite(&_impl_);
14101 return _internal_mutable_permutations();
14102}
14103inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::permutations(int index) const
14104 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14105 // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.permutations)
14106 return _internal_permutations().Get(index);
14107}
14108inline ::operations_research::sat::SparsePermutationProto* PROTOBUF_NONNULL SymmetryProto::add_permutations()
14109 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14110 ::google::protobuf::internal::TSanWrite(&_impl_);
14111 ::operations_research::sat::SparsePermutationProto* _add = _internal_mutable_permutations()->Add();
14112 // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.permutations)
14113 return _add;
14115inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>& SymmetryProto::permutations() const
14116 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14117 // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.permutations)
14118 return _internal_permutations();
14120inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>&
14121SymmetryProto::_internal_permutations() const {
14122 ::google::protobuf::internal::TSanRead(&_impl_);
14123 return _impl_.permutations_;
14124}
14125inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>* PROTOBUF_NONNULL
14126SymmetryProto::_internal_mutable_permutations() {
14127 ::google::protobuf::internal::TSanRead(&_impl_);
14128 return &_impl_.permutations_;
14129}
14130
14131// repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
14132inline int SymmetryProto::_internal_orbitopes_size() const {
14133 return _internal_orbitopes().size();
14134}
14135inline int SymmetryProto::orbitopes_size() const {
14136 return _internal_orbitopes_size();
14137}
14138inline void SymmetryProto::clear_orbitopes() {
14139 ::google::protobuf::internal::TSanWrite(&_impl_);
14140 _impl_.orbitopes_.Clear();
14141}
14142inline ::operations_research::sat::DenseMatrixProto* PROTOBUF_NONNULL SymmetryProto::mutable_orbitopes(int index)
14143 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14144 // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.orbitopes)
14145 return _internal_mutable_orbitopes()->Mutable(index);
14146}
14147inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>* PROTOBUF_NONNULL SymmetryProto::mutable_orbitopes()
14148 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14149 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.orbitopes)
14150 ::google::protobuf::internal::TSanWrite(&_impl_);
14151 return _internal_mutable_orbitopes();
14153inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::orbitopes(int index) const
14154 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14155 // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.orbitopes)
14156 return _internal_orbitopes().Get(index);
14158inline ::operations_research::sat::DenseMatrixProto* PROTOBUF_NONNULL SymmetryProto::add_orbitopes()
14159 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14160 ::google::protobuf::internal::TSanWrite(&_impl_);
14161 ::operations_research::sat::DenseMatrixProto* _add = _internal_mutable_orbitopes()->Add();
14162 // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.orbitopes)
14163 return _add;
14164}
14165inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>& SymmetryProto::orbitopes() const
14166 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14167 // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.orbitopes)
14168 return _internal_orbitopes();
14169}
14170inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>&
14171SymmetryProto::_internal_orbitopes() const {
14172 ::google::protobuf::internal::TSanRead(&_impl_);
14173 return _impl_.orbitopes_;
14174}
14175inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>* PROTOBUF_NONNULL
14176SymmetryProto::_internal_mutable_orbitopes() {
14177 ::google::protobuf::internal::TSanRead(&_impl_);
14178 return &_impl_.orbitopes_;
14179}
14180
14181// -------------------------------------------------------------------
14182
14183// CpModelProto
14184
14185// string name = 1;
14186inline void CpModelProto::clear_name() {
14187 ::google::protobuf::internal::TSanWrite(&_impl_);
14188 _impl_.name_.ClearToEmpty();
14189 _impl_._has_bits_[0] &= ~0x00000001u;
14190}
14191inline const ::std::string& CpModelProto::name() const
14192 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14193 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
14194 return _internal_name();
14196template <typename Arg_, typename... Args_>
14197PROTOBUF_ALWAYS_INLINE void CpModelProto::set_name(Arg_&& arg, Args_... args) {
14198 ::google::protobuf::internal::TSanWrite(&_impl_);
14199 _impl_._has_bits_[0] |= 0x00000001u;
14200 _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14201 // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
14203inline ::std::string* PROTOBUF_NONNULL CpModelProto::mutable_name()
14204 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14205 ::std::string* _s = _internal_mutable_name();
14206 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
14207 return _s;
14208}
14209inline const ::std::string& CpModelProto::_internal_name() const {
14210 ::google::protobuf::internal::TSanRead(&_impl_);
14211 return _impl_.name_.Get();
14212}
14213inline void CpModelProto::_internal_set_name(const ::std::string& value) {
14214 ::google::protobuf::internal::TSanWrite(&_impl_);
14215 _impl_._has_bits_[0] |= 0x00000001u;
14216 _impl_.name_.Set(value, GetArena());
14217}
14218inline ::std::string* PROTOBUF_NONNULL CpModelProto::_internal_mutable_name() {
14219 ::google::protobuf::internal::TSanWrite(&_impl_);
14220 _impl_._has_bits_[0] |= 0x00000001u;
14221 return _impl_.name_.Mutable( GetArena());
14222}
14223inline ::std::string* PROTOBUF_NULLABLE CpModelProto::release_name() {
14224 ::google::protobuf::internal::TSanWrite(&_impl_);
14225 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
14226 if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
14227 return nullptr;
14228 }
14229 _impl_._has_bits_[0] &= ~0x00000001u;
14230 auto* released = _impl_.name_.Release();
14231 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
14232 _impl_.name_.Set("", GetArena());
14233 }
14234 return released;
14235}
14236inline void CpModelProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
14237 ::google::protobuf::internal::TSanWrite(&_impl_);
14238 if (value != nullptr) {
14239 _impl_._has_bits_[0] |= 0x00000001u;
14240 } else {
14241 _impl_._has_bits_[0] &= ~0x00000001u;
14242 }
14243 _impl_.name_.SetAllocated(value, GetArena());
14244 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
14245 _impl_.name_.Set("", GetArena());
14246 }
14247 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
14248}
14249
14250// repeated .operations_research.sat.IntegerVariableProto variables = 2;
14251inline int CpModelProto::_internal_variables_size() const {
14252 return _internal_variables().size();
14253}
14254inline int CpModelProto::variables_size() const {
14255 return _internal_variables_size();
14256}
14257inline void CpModelProto::clear_variables() {
14258 ::google::protobuf::internal::TSanWrite(&_impl_);
14259 _impl_.variables_.Clear();
14260}
14261inline ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL CpModelProto::mutable_variables(int index)
14262 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14263 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
14264 return _internal_mutable_variables()->Mutable(index);
14265}
14266inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL CpModelProto::mutable_variables()
14267 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14268 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
14269 ::google::protobuf::internal::TSanWrite(&_impl_);
14270 return _internal_mutable_variables();
14271}
14272inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const
14273 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14274 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
14275 return _internal_variables().Get(index);
14276}
14277inline ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL CpModelProto::add_variables()
14278 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14279 ::google::protobuf::internal::TSanWrite(&_impl_);
14280 ::operations_research::sat::IntegerVariableProto* _add = _internal_mutable_variables()->Add();
14281 // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
14282 return _add;
14283}
14284inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& CpModelProto::variables() const
14285 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14286 // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
14287 return _internal_variables();
14288}
14289inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>&
14290CpModelProto::_internal_variables() const {
14291 ::google::protobuf::internal::TSanRead(&_impl_);
14292 return _impl_.variables_;
14293}
14294inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL
14295CpModelProto::_internal_mutable_variables() {
14296 ::google::protobuf::internal::TSanRead(&_impl_);
14297 return &_impl_.variables_;
14298}
14299
14300// repeated .operations_research.sat.ConstraintProto constraints = 3;
14301inline int CpModelProto::_internal_constraints_size() const {
14302 return _internal_constraints().size();
14303}
14304inline int CpModelProto::constraints_size() const {
14305 return _internal_constraints_size();
14306}
14307inline void CpModelProto::clear_constraints() {
14308 ::google::protobuf::internal::TSanWrite(&_impl_);
14309 _impl_.constraints_.Clear();
14310}
14311inline ::operations_research::sat::ConstraintProto* PROTOBUF_NONNULL CpModelProto::mutable_constraints(int index)
14312 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14313 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
14314 return _internal_mutable_constraints()->Mutable(index);
14316inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>* PROTOBUF_NONNULL CpModelProto::mutable_constraints()
14317 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14318 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
14319 ::google::protobuf::internal::TSanWrite(&_impl_);
14320 return _internal_mutable_constraints();
14321}
14322inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const
14323 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14324 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
14325 return _internal_constraints().Get(index);
14326}
14327inline ::operations_research::sat::ConstraintProto* PROTOBUF_NONNULL CpModelProto::add_constraints()
14328 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14329 ::google::protobuf::internal::TSanWrite(&_impl_);
14330 ::operations_research::sat::ConstraintProto* _add = _internal_mutable_constraints()->Add();
14331 // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
14332 return _add;
14334inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>& CpModelProto::constraints() const
14335 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14336 // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
14337 return _internal_constraints();
14339inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>&
14340CpModelProto::_internal_constraints() const {
14341 ::google::protobuf::internal::TSanRead(&_impl_);
14342 return _impl_.constraints_;
14343}
14344inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>* PROTOBUF_NONNULL
14345CpModelProto::_internal_mutable_constraints() {
14346 ::google::protobuf::internal::TSanRead(&_impl_);
14347 return &_impl_.constraints_;
14348}
14349
14350// .operations_research.sat.CpObjectiveProto objective = 4;
14351inline bool CpModelProto::has_objective() const {
14352 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
14353 PROTOBUF_ASSUME(!value || _impl_.objective_ != nullptr);
14354 return value;
14355}
14356inline void CpModelProto::clear_objective() {
14357 ::google::protobuf::internal::TSanWrite(&_impl_);
14358 if (_impl_.objective_ != nullptr) _impl_.objective_->Clear();
14359 _impl_._has_bits_[0] &= ~0x00000002u;
14360}
14361inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
14362 ::google::protobuf::internal::TSanRead(&_impl_);
14363 const ::operations_research::sat::CpObjectiveProto* p = _impl_.objective_;
14366inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14367 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
14368 return _internal_objective();
14369}
14371 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE value) {
14372 ::google::protobuf::internal::TSanWrite(&_impl_);
14373 if (GetArena() == nullptr) {
14374 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.objective_);
14375 }
14376 _impl_.objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(value);
14377 if (value != nullptr) {
14378 _impl_._has_bits_[0] |= 0x00000002u;
14379 } else {
14380 _impl_._has_bits_[0] &= ~0x00000002u;
14381 }
14382 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
14384inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE CpModelProto::release_objective() {
14385 ::google::protobuf::internal::TSanWrite(&_impl_);
14386
14387 _impl_._has_bits_[0] &= ~0x00000002u;
14389 _impl_.objective_ = nullptr;
14390 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14391 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14392 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14393 if (GetArena() == nullptr) {
14394 delete old;
14396 } else {
14397 if (GetArena() != nullptr) {
14398 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14399 }
14400 }
14401 return released;
14402}
14403inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE CpModelProto::unsafe_arena_release_objective() {
14404 ::google::protobuf::internal::TSanWrite(&_impl_);
14405 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
14406
14407 _impl_._has_bits_[0] &= ~0x00000002u;
14408 ::operations_research::sat::CpObjectiveProto* temp = _impl_.objective_;
14409 _impl_.objective_ = nullptr;
14410 return temp;
14411}
14412inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL CpModelProto::_internal_mutable_objective() {
14413 ::google::protobuf::internal::TSanWrite(&_impl_);
14414 if (_impl_.objective_ == nullptr) {
14415 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::CpObjectiveProto>(GetArena());
14416 _impl_.objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(p);
14418 return _impl_.objective_;
14419}
14420inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL CpModelProto::mutable_objective()
14421 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14422 _impl_._has_bits_[0] |= 0x00000002u;
14423 ::operations_research::sat::CpObjectiveProto* _msg = _internal_mutable_objective();
14424 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
14425 return _msg;
14426}
14428 ::google::protobuf::Arena* message_arena = GetArena();
14429 ::google::protobuf::internal::TSanWrite(&_impl_);
14430 if (message_arena == nullptr) {
14431 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.objective_);
14432 }
14433
14434 if (value != nullptr) {
14435 ::google::protobuf::Arena* submessage_arena = value->GetArena();
14436 if (message_arena != submessage_arena) {
14437 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14438 }
14439 _impl_._has_bits_[0] |= 0x00000002u;
14440 } else {
14441 _impl_._has_bits_[0] &= ~0x00000002u;
14442 }
14443
14444 _impl_.objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(value);
14445 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
14446}
14447
14448// .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
14450 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
14451 PROTOBUF_ASSUME(!value || _impl_.floating_point_objective_ != nullptr);
14452 return value;
14453}
14455 ::google::protobuf::internal::TSanWrite(&_impl_);
14456 if (_impl_.floating_point_objective_ != nullptr) _impl_.floating_point_objective_->Clear();
14457 _impl_._has_bits_[0] &= ~0x00000010u;
14458}
14459inline const ::operations_research::sat::FloatObjectiveProto& CpModelProto::_internal_floating_point_objective() const {
14460 ::google::protobuf::internal::TSanRead(&_impl_);
14461 const ::operations_research::sat::FloatObjectiveProto* p = _impl_.floating_point_objective_;
14463}
14464inline const ::operations_research::sat::FloatObjectiveProto& CpModelProto::floating_point_objective() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14465 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.floating_point_objective)
14466 return _internal_floating_point_objective();
14467}
14469 ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NULLABLE value) {
14470 ::google::protobuf::internal::TSanWrite(&_impl_);
14471 if (GetArena() == nullptr) {
14472 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.floating_point_objective_);
14473 }
14474 _impl_.floating_point_objective_ = reinterpret_cast<::operations_research::sat::FloatObjectiveProto*>(value);
14475 if (value != nullptr) {
14476 _impl_._has_bits_[0] |= 0x00000010u;
14477 } else {
14478 _impl_._has_bits_[0] &= ~0x00000010u;
14479 }
14480 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.floating_point_objective)
14482inline ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NULLABLE CpModelProto::release_floating_point_objective() {
14483 ::google::protobuf::internal::TSanWrite(&_impl_);
14484
14485 _impl_._has_bits_[0] &= ~0x00000010u;
14486 ::operations_research::sat::FloatObjectiveProto* released = _impl_.floating_point_objective_;
14487 _impl_.floating_point_objective_ = nullptr;
14488 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14489 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14490 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14491 if (GetArena() == nullptr) {
14492 delete old;
14493 }
14494 } else {
14495 if (GetArena() != nullptr) {
14496 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14497 }
14498 }
14499 return released;
14500}
14501inline ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NULLABLE CpModelProto::unsafe_arena_release_floating_point_objective() {
14502 ::google::protobuf::internal::TSanWrite(&_impl_);
14503 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.floating_point_objective)
14504
14505 _impl_._has_bits_[0] &= ~0x00000010u;
14506 ::operations_research::sat::FloatObjectiveProto* temp = _impl_.floating_point_objective_;
14507 _impl_.floating_point_objective_ = nullptr;
14508 return temp;
14509}
14510inline ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NONNULL CpModelProto::_internal_mutable_floating_point_objective() {
14511 ::google::protobuf::internal::TSanWrite(&_impl_);
14512 if (_impl_.floating_point_objective_ == nullptr) {
14513 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::FloatObjectiveProto>(GetArena());
14514 _impl_.floating_point_objective_ = reinterpret_cast<::operations_research::sat::FloatObjectiveProto*>(p);
14516 return _impl_.floating_point_objective_;
14517}
14518inline ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NONNULL CpModelProto::mutable_floating_point_objective()
14519 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14520 _impl_._has_bits_[0] |= 0x00000010u;
14521 ::operations_research::sat::FloatObjectiveProto* _msg = _internal_mutable_floating_point_objective();
14522 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.floating_point_objective)
14523 return _msg;
14524}
14526 ::google::protobuf::Arena* message_arena = GetArena();
14527 ::google::protobuf::internal::TSanWrite(&_impl_);
14528 if (message_arena == nullptr) {
14529 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.floating_point_objective_);
14530 }
14531
14532 if (value != nullptr) {
14533 ::google::protobuf::Arena* submessage_arena = value->GetArena();
14534 if (message_arena != submessage_arena) {
14535 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14536 }
14537 _impl_._has_bits_[0] |= 0x00000010u;
14538 } else {
14539 _impl_._has_bits_[0] &= ~0x00000010u;
14540 }
14541
14542 _impl_.floating_point_objective_ = reinterpret_cast<::operations_research::sat::FloatObjectiveProto*>(value);
14543 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.floating_point_objective)
14544}
14545
14546// repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
14547inline int CpModelProto::_internal_search_strategy_size() const {
14548 return _internal_search_strategy().size();
14549}
14550inline int CpModelProto::search_strategy_size() const {
14551 return _internal_search_strategy_size();
14552}
14554 ::google::protobuf::internal::TSanWrite(&_impl_);
14555 _impl_.search_strategy_.Clear();
14556}
14557inline ::operations_research::sat::DecisionStrategyProto* PROTOBUF_NONNULL CpModelProto::mutable_search_strategy(int index)
14558 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14559 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
14560 return _internal_mutable_search_strategy()->Mutable(index);
14561}
14562inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>* PROTOBUF_NONNULL CpModelProto::mutable_search_strategy()
14563 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14564 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
14565 ::google::protobuf::internal::TSanWrite(&_impl_);
14566 return _internal_mutable_search_strategy();
14567}
14568inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const
14569 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14570 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
14571 return _internal_search_strategy().Get(index);
14572}
14573inline ::operations_research::sat::DecisionStrategyProto* PROTOBUF_NONNULL CpModelProto::add_search_strategy()
14574 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14575 ::google::protobuf::internal::TSanWrite(&_impl_);
14576 ::operations_research::sat::DecisionStrategyProto* _add = _internal_mutable_search_strategy()->Add();
14577 // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
14578 return _add;
14580inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>& CpModelProto::search_strategy() const
14581 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14582 // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
14583 return _internal_search_strategy();
14584}
14585inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>&
14586CpModelProto::_internal_search_strategy() const {
14587 ::google::protobuf::internal::TSanRead(&_impl_);
14588 return _impl_.search_strategy_;
14589}
14590inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>* PROTOBUF_NONNULL
14591CpModelProto::_internal_mutable_search_strategy() {
14592 ::google::protobuf::internal::TSanRead(&_impl_);
14593 return &_impl_.search_strategy_;
14594}
14595
14596// .operations_research.sat.PartialVariableAssignment solution_hint = 6;
14597inline bool CpModelProto::has_solution_hint() const {
14598 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
14599 PROTOBUF_ASSUME(!value || _impl_.solution_hint_ != nullptr);
14600 return value;
14601}
14603 ::google::protobuf::internal::TSanWrite(&_impl_);
14604 if (_impl_.solution_hint_ != nullptr) _impl_.solution_hint_->Clear();
14605 _impl_._has_bits_[0] &= ~0x00000004u;
14606}
14607inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
14608 ::google::protobuf::internal::TSanRead(&_impl_);
14609 const ::operations_research::sat::PartialVariableAssignment* p = _impl_.solution_hint_;
14610 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment&>(::operations_research::sat::_PartialVariableAssignment_default_instance_);
14612inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14613 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
14614 return _internal_solution_hint();
14615}
14618 ::google::protobuf::internal::TSanWrite(&_impl_);
14619 if (GetArena() == nullptr) {
14620 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.solution_hint_);
14621 }
14622 _impl_.solution_hint_ = reinterpret_cast<::operations_research::sat::PartialVariableAssignment*>(value);
14623 if (value != nullptr) {
14624 _impl_._has_bits_[0] |= 0x00000004u;
14625 } else {
14626 _impl_._has_bits_[0] &= ~0x00000004u;
14627 }
14628 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
14630inline ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NULLABLE CpModelProto::release_solution_hint() {
14631 ::google::protobuf::internal::TSanWrite(&_impl_);
14632
14633 _impl_._has_bits_[0] &= ~0x00000004u;
14635 _impl_.solution_hint_ = nullptr;
14636 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14637 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14638 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14639 if (GetArena() == nullptr) {
14640 delete old;
14642 } else {
14643 if (GetArena() != nullptr) {
14644 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14645 }
14646 }
14647 return released;
14648}
14649inline ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NULLABLE CpModelProto::unsafe_arena_release_solution_hint() {
14650 ::google::protobuf::internal::TSanWrite(&_impl_);
14651 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
14652
14653 _impl_._has_bits_[0] &= ~0x00000004u;
14654 ::operations_research::sat::PartialVariableAssignment* temp = _impl_.solution_hint_;
14655 _impl_.solution_hint_ = nullptr;
14656 return temp;
14657}
14658inline ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NONNULL CpModelProto::_internal_mutable_solution_hint() {
14659 ::google::protobuf::internal::TSanWrite(&_impl_);
14660 if (_impl_.solution_hint_ == nullptr) {
14661 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::PartialVariableAssignment>(GetArena());
14662 _impl_.solution_hint_ = reinterpret_cast<::operations_research::sat::PartialVariableAssignment*>(p);
14664 return _impl_.solution_hint_;
14665}
14666inline ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NONNULL CpModelProto::mutable_solution_hint()
14667 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14668 _impl_._has_bits_[0] |= 0x00000004u;
14669 ::operations_research::sat::PartialVariableAssignment* _msg = _internal_mutable_solution_hint();
14670 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
14671 return _msg;
14672}
14674 ::google::protobuf::Arena* message_arena = GetArena();
14675 ::google::protobuf::internal::TSanWrite(&_impl_);
14676 if (message_arena == nullptr) {
14677 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.solution_hint_);
14678 }
14679
14680 if (value != nullptr) {
14681 ::google::protobuf::Arena* submessage_arena = value->GetArena();
14682 if (message_arena != submessage_arena) {
14683 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14684 }
14685 _impl_._has_bits_[0] |= 0x00000004u;
14686 } else {
14687 _impl_._has_bits_[0] &= ~0x00000004u;
14688 }
14689
14690 _impl_.solution_hint_ = reinterpret_cast<::operations_research::sat::PartialVariableAssignment*>(value);
14691 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
14692}
14693
14694// repeated int32 assumptions = 7;
14695inline int CpModelProto::_internal_assumptions_size() const {
14696 return _internal_assumptions().size();
14697}
14698inline int CpModelProto::assumptions_size() const {
14699 return _internal_assumptions_size();
14700}
14701inline void CpModelProto::clear_assumptions() {
14702 ::google::protobuf::internal::TSanWrite(&_impl_);
14703 _impl_.assumptions_.Clear();
14704}
14705inline ::int32_t CpModelProto::assumptions(int index) const {
14706 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
14707 return _internal_assumptions().Get(index);
14708}
14709inline void CpModelProto::set_assumptions(int index, ::int32_t value) {
14710 _internal_mutable_assumptions()->Set(index, value);
14711 // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
14712}
14713inline void CpModelProto::add_assumptions(::int32_t value) {
14714 ::google::protobuf::internal::TSanWrite(&_impl_);
14715 _internal_mutable_assumptions()->Add(value);
14716 // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
14717}
14718inline const ::google::protobuf::RepeatedField<::int32_t>& CpModelProto::assumptions() const
14719 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14720 // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
14721 return _internal_assumptions();
14722}
14723inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CpModelProto::mutable_assumptions()
14724 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14725 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
14726 ::google::protobuf::internal::TSanWrite(&_impl_);
14727 return _internal_mutable_assumptions();
14728}
14729inline const ::google::protobuf::RepeatedField<::int32_t>&
14730CpModelProto::_internal_assumptions() const {
14731 ::google::protobuf::internal::TSanRead(&_impl_);
14732 return _impl_.assumptions_;
14733}
14734inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
14735CpModelProto::_internal_mutable_assumptions() {
14736 ::google::protobuf::internal::TSanRead(&_impl_);
14737 return &_impl_.assumptions_;
14738}
14739
14740// .operations_research.sat.SymmetryProto symmetry = 8;
14741inline bool CpModelProto::has_symmetry() const {
14742 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
14743 PROTOBUF_ASSUME(!value || _impl_.symmetry_ != nullptr);
14744 return value;
14745}
14746inline void CpModelProto::clear_symmetry() {
14747 ::google::protobuf::internal::TSanWrite(&_impl_);
14748 if (_impl_.symmetry_ != nullptr) _impl_.symmetry_->Clear();
14749 _impl_._has_bits_[0] &= ~0x00000008u;
14750}
14751inline const ::operations_research::sat::SymmetryProto& CpModelProto::_internal_symmetry() const {
14752 ::google::protobuf::internal::TSanRead(&_impl_);
14753 const ::operations_research::sat::SymmetryProto* p = _impl_.symmetry_;
14755}
14756inline const ::operations_research::sat::SymmetryProto& CpModelProto::symmetry() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14757 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.symmetry)
14758 return _internal_symmetry();
14762 ::google::protobuf::internal::TSanWrite(&_impl_);
14763 if (GetArena() == nullptr) {
14764 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.symmetry_);
14765 }
14766 _impl_.symmetry_ = reinterpret_cast<::operations_research::sat::SymmetryProto*>(value);
14767 if (value != nullptr) {
14768 _impl_._has_bits_[0] |= 0x00000008u;
14769 } else {
14770 _impl_._has_bits_[0] &= ~0x00000008u;
14771 }
14772 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.symmetry)
14773}
14774inline ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE CpModelProto::release_symmetry() {
14775 ::google::protobuf::internal::TSanWrite(&_impl_);
14776
14777 _impl_._has_bits_[0] &= ~0x00000008u;
14779 _impl_.symmetry_ = nullptr;
14780 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14781 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14782 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14783 if (GetArena() == nullptr) {
14784 delete old;
14785 }
14786 } else {
14787 if (GetArena() != nullptr) {
14788 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14789 }
14790 }
14791 return released;
14792}
14793inline ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE CpModelProto::unsafe_arena_release_symmetry() {
14794 ::google::protobuf::internal::TSanWrite(&_impl_);
14795 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.symmetry)
14796
14797 _impl_._has_bits_[0] &= ~0x00000008u;
14798 ::operations_research::sat::SymmetryProto* temp = _impl_.symmetry_;
14799 _impl_.symmetry_ = nullptr;
14800 return temp;
14801}
14802inline ::operations_research::sat::SymmetryProto* PROTOBUF_NONNULL CpModelProto::_internal_mutable_symmetry() {
14803 ::google::protobuf::internal::TSanWrite(&_impl_);
14804 if (_impl_.symmetry_ == nullptr) {
14805 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::SymmetryProto>(GetArena());
14806 _impl_.symmetry_ = reinterpret_cast<::operations_research::sat::SymmetryProto*>(p);
14808 return _impl_.symmetry_;
14809}
14810inline ::operations_research::sat::SymmetryProto* PROTOBUF_NONNULL CpModelProto::mutable_symmetry()
14811 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14812 _impl_._has_bits_[0] |= 0x00000008u;
14813 ::operations_research::sat::SymmetryProto* _msg = _internal_mutable_symmetry();
14814 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.symmetry)
14815 return _msg;
14816}
14818 ::google::protobuf::Arena* message_arena = GetArena();
14819 ::google::protobuf::internal::TSanWrite(&_impl_);
14820 if (message_arena == nullptr) {
14821 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.symmetry_);
14822 }
14823
14824 if (value != nullptr) {
14825 ::google::protobuf::Arena* submessage_arena = value->GetArena();
14826 if (message_arena != submessage_arena) {
14827 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14828 }
14829 _impl_._has_bits_[0] |= 0x00000008u;
14830 } else {
14831 _impl_._has_bits_[0] &= ~0x00000008u;
14832 }
14833
14834 _impl_.symmetry_ = reinterpret_cast<::operations_research::sat::SymmetryProto*>(value);
14835 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.symmetry)
14836}
14837
14838// -------------------------------------------------------------------
14839
14840// CpSolverSolution
14841
14842// repeated int64 values = 1;
14843inline int CpSolverSolution::_internal_values_size() const {
14844 return _internal_values().size();
14845}
14846inline int CpSolverSolution::values_size() const {
14847 return _internal_values_size();
14848}
14849inline void CpSolverSolution::clear_values() {
14850 ::google::protobuf::internal::TSanWrite(&_impl_);
14851 _impl_.values_.Clear();
14852}
14853inline ::int64_t CpSolverSolution::values(int index) const {
14854 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverSolution.values)
14855 return _internal_values().Get(index);
14856}
14857inline void CpSolverSolution::set_values(int index, ::int64_t value) {
14858 _internal_mutable_values()->Set(index, value);
14859 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverSolution.values)
14860}
14861inline void CpSolverSolution::add_values(::int64_t value) {
14862 ::google::protobuf::internal::TSanWrite(&_impl_);
14863 _internal_mutable_values()->Add(value);
14864 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverSolution.values)
14865}
14866inline const ::google::protobuf::RepeatedField<::int64_t>& CpSolverSolution::values() const
14867 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14868 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverSolution.values)
14869 return _internal_values();
14870}
14871inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL CpSolverSolution::mutable_values()
14872 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14873 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverSolution.values)
14874 ::google::protobuf::internal::TSanWrite(&_impl_);
14875 return _internal_mutable_values();
14876}
14877inline const ::google::protobuf::RepeatedField<::int64_t>&
14878CpSolverSolution::_internal_values() const {
14879 ::google::protobuf::internal::TSanRead(&_impl_);
14880 return _impl_.values_;
14881}
14882inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
14883CpSolverSolution::_internal_mutable_values() {
14884 ::google::protobuf::internal::TSanRead(&_impl_);
14885 return &_impl_.values_;
14886}
14887
14888// -------------------------------------------------------------------
14889
14890// CpSolverResponse
14891
14892// .operations_research.sat.CpSolverStatus status = 1;
14893inline void CpSolverResponse::clear_status() {
14894 ::google::protobuf::internal::TSanWrite(&_impl_);
14895 _impl_.status_ = 0;
14896 _impl_._has_bits_[0] &= ~0x00080000u;
14897}
14898inline ::operations_research::sat::CpSolverStatus CpSolverResponse::status() const {
14899 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
14900 return _internal_status();
14901}
14903 _internal_set_status(value);
14904 _impl_._has_bits_[0] |= 0x00080000u;
14905 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
14906}
14907inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
14908 ::google::protobuf::internal::TSanRead(&_impl_);
14909 return static_cast<::operations_research::sat::CpSolverStatus>(_impl_.status_);
14910}
14911inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
14912 ::google::protobuf::internal::TSanWrite(&_impl_);
14913 _impl_.status_ = value;
14914}
14916// repeated int64 solution = 2;
14917inline int CpSolverResponse::_internal_solution_size() const {
14918 return _internal_solution().size();
14920inline int CpSolverResponse::solution_size() const {
14921 return _internal_solution_size();
14922}
14924 ::google::protobuf::internal::TSanWrite(&_impl_);
14925 _impl_.solution_.Clear();
14926}
14927inline ::int64_t CpSolverResponse::solution(int index) const {
14928 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
14929 return _internal_solution().Get(index);
14930}
14931inline void CpSolverResponse::set_solution(int index, ::int64_t value) {
14932 _internal_mutable_solution()->Set(index, value);
14933 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
14934}
14935inline void CpSolverResponse::add_solution(::int64_t value) {
14936 ::google::protobuf::internal::TSanWrite(&_impl_);
14937 _internal_mutable_solution()->Add(value);
14938 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
14939}
14940inline const ::google::protobuf::RepeatedField<::int64_t>& CpSolverResponse::solution() const
14941 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14942 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
14943 return _internal_solution();
14944}
14945inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL CpSolverResponse::mutable_solution()
14946 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14947 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
14948 ::google::protobuf::internal::TSanWrite(&_impl_);
14949 return _internal_mutable_solution();
14950}
14951inline const ::google::protobuf::RepeatedField<::int64_t>&
14952CpSolverResponse::_internal_solution() const {
14953 ::google::protobuf::internal::TSanRead(&_impl_);
14954 return _impl_.solution_;
14955}
14956inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
14957CpSolverResponse::_internal_mutable_solution() {
14958 ::google::protobuf::internal::TSanRead(&_impl_);
14959 return &_impl_.solution_;
14960}
14962// double objective_value = 3;
14964 ::google::protobuf::internal::TSanWrite(&_impl_);
14965 _impl_.objective_value_ = 0;
14966 _impl_._has_bits_[0] &= ~0x00000008u;
14967}
14968inline double CpSolverResponse::objective_value() const {
14969 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
14970 return _internal_objective_value();
14971}
14972inline void CpSolverResponse::set_objective_value(double value) {
14973 _internal_set_objective_value(value);
14974 _impl_._has_bits_[0] |= 0x00000008u;
14975 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
14976}
14977inline double CpSolverResponse::_internal_objective_value() const {
14978 ::google::protobuf::internal::TSanRead(&_impl_);
14979 return _impl_.objective_value_;
14980}
14981inline void CpSolverResponse::_internal_set_objective_value(double value) {
14982 ::google::protobuf::internal::TSanWrite(&_impl_);
14983 _impl_.objective_value_ = value;
14984}
14985
14986// double best_objective_bound = 4;
14988 ::google::protobuf::internal::TSanWrite(&_impl_);
14989 _impl_.best_objective_bound_ = 0;
14990 _impl_._has_bits_[0] &= ~0x00000010u;
14991}
14992inline double CpSolverResponse::best_objective_bound() const {
14993 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
14994 return _internal_best_objective_bound();
14995}
14996inline void CpSolverResponse::set_best_objective_bound(double value) {
14997 _internal_set_best_objective_bound(value);
14998 _impl_._has_bits_[0] |= 0x00000010u;
14999 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
15000}
15001inline double CpSolverResponse::_internal_best_objective_bound() const {
15002 ::google::protobuf::internal::TSanRead(&_impl_);
15003 return _impl_.best_objective_bound_;
15004}
15005inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
15006 ::google::protobuf::internal::TSanWrite(&_impl_);
15007 _impl_.best_objective_bound_ = value;
15009
15010// repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
15011inline int CpSolverResponse::_internal_additional_solutions_size() const {
15012 return _internal_additional_solutions().size();
15013}
15015 return _internal_additional_solutions_size();
15016}
15018 ::google::protobuf::internal::TSanWrite(&_impl_);
15019 _impl_.additional_solutions_.Clear();
15020}
15021inline ::operations_research::sat::CpSolverSolution* PROTOBUF_NONNULL CpSolverResponse::mutable_additional_solutions(int index)
15022 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15023 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.additional_solutions)
15024 return _internal_mutable_additional_solutions()->Mutable(index);
15025}
15026inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>* PROTOBUF_NONNULL CpSolverResponse::mutable_additional_solutions()
15027 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15028 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.additional_solutions)
15029 ::google::protobuf::internal::TSanWrite(&_impl_);
15030 return _internal_mutable_additional_solutions();
15032inline const ::operations_research::sat::CpSolverSolution& CpSolverResponse::additional_solutions(int index) const
15033 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15034 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.additional_solutions)
15035 return _internal_additional_solutions().Get(index);
15036}
15037inline ::operations_research::sat::CpSolverSolution* PROTOBUF_NONNULL CpSolverResponse::add_additional_solutions()
15038 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15039 ::google::protobuf::internal::TSanWrite(&_impl_);
15040 ::operations_research::sat::CpSolverSolution* _add = _internal_mutable_additional_solutions()->Add();
15041 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.additional_solutions)
15042 return _add;
15043}
15044inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>& CpSolverResponse::additional_solutions() const
15045 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15046 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.additional_solutions)
15047 return _internal_additional_solutions();
15048}
15049inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>&
15050CpSolverResponse::_internal_additional_solutions() const {
15051 ::google::protobuf::internal::TSanRead(&_impl_);
15052 return _impl_.additional_solutions_;
15053}
15054inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>* PROTOBUF_NONNULL
15055CpSolverResponse::_internal_mutable_additional_solutions() {
15056 ::google::protobuf::internal::TSanRead(&_impl_);
15057 return &_impl_.additional_solutions_;
15058}
15060// repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
15061inline int CpSolverResponse::_internal_tightened_variables_size() const {
15062 return _internal_tightened_variables().size();
15063}
15065 return _internal_tightened_variables_size();
15066}
15068 ::google::protobuf::internal::TSanWrite(&_impl_);
15069 _impl_.tightened_variables_.Clear();
15070}
15071inline ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL CpSolverResponse::mutable_tightened_variables(int index)
15072 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15073 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
15074 return _internal_mutable_tightened_variables()->Mutable(index);
15075}
15076inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL CpSolverResponse::mutable_tightened_variables()
15077 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15078 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
15079 ::google::protobuf::internal::TSanWrite(&_impl_);
15080 return _internal_mutable_tightened_variables();
15081}
15082inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const
15083 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15084 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
15085 return _internal_tightened_variables().Get(index);
15086}
15087inline ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL CpSolverResponse::add_tightened_variables()
15088 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15089 ::google::protobuf::internal::TSanWrite(&_impl_);
15090 ::operations_research::sat::IntegerVariableProto* _add = _internal_mutable_tightened_variables()->Add();
15091 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
15092 return _add;
15093}
15094inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& CpSolverResponse::tightened_variables() const
15095 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15096 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
15097 return _internal_tightened_variables();
15098}
15099inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>&
15100CpSolverResponse::_internal_tightened_variables() const {
15101 ::google::protobuf::internal::TSanRead(&_impl_);
15102 return _impl_.tightened_variables_;
15103}
15104inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL
15105CpSolverResponse::_internal_mutable_tightened_variables() {
15106 ::google::protobuf::internal::TSanRead(&_impl_);
15107 return &_impl_.tightened_variables_;
15108}
15109
15110// repeated int32 sufficient_assumptions_for_infeasibility = 23;
15111inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
15112 return _internal_sufficient_assumptions_for_infeasibility().size();
15113}
15115 return _internal_sufficient_assumptions_for_infeasibility_size();
15116}
15118 ::google::protobuf::internal::TSanWrite(&_impl_);
15119 _impl_.sufficient_assumptions_for_infeasibility_.Clear();
15120}
15121inline ::int32_t CpSolverResponse::sufficient_assumptions_for_infeasibility(int index) const {
15122 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15123 return _internal_sufficient_assumptions_for_infeasibility().Get(index);
15124}
15125inline void CpSolverResponse::set_sufficient_assumptions_for_infeasibility(int index, ::int32_t value) {
15126 _internal_mutable_sufficient_assumptions_for_infeasibility()->Set(index, value);
15127 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15128}
15130 ::google::protobuf::internal::TSanWrite(&_impl_);
15131 _internal_mutable_sufficient_assumptions_for_infeasibility()->Add(value);
15132 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15133}
15134inline const ::google::protobuf::RepeatedField<::int32_t>& CpSolverResponse::sufficient_assumptions_for_infeasibility() const
15135 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15136 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15137 return _internal_sufficient_assumptions_for_infeasibility();
15138}
15139inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CpSolverResponse::mutable_sufficient_assumptions_for_infeasibility()
15140 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15141 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15142 ::google::protobuf::internal::TSanWrite(&_impl_);
15143 return _internal_mutable_sufficient_assumptions_for_infeasibility();
15144}
15145inline const ::google::protobuf::RepeatedField<::int32_t>&
15146CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
15147 ::google::protobuf::internal::TSanRead(&_impl_);
15148 return _impl_.sufficient_assumptions_for_infeasibility_;
15149}
15150inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
15151CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
15152 ::google::protobuf::internal::TSanRead(&_impl_);
15153 return &_impl_.sufficient_assumptions_for_infeasibility_;
15154}
15155
15156// .operations_research.sat.CpObjectiveProto integer_objective = 28;
15158 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
15159 PROTOBUF_ASSUME(!value || _impl_.integer_objective_ != nullptr);
15160 return value;
15161}
15163 ::google::protobuf::internal::TSanWrite(&_impl_);
15164 if (_impl_.integer_objective_ != nullptr) _impl_.integer_objective_->Clear();
15165 _impl_._has_bits_[0] &= ~0x00000004u;
15166}
15167inline const ::operations_research::sat::CpObjectiveProto& CpSolverResponse::_internal_integer_objective() const {
15168 ::google::protobuf::internal::TSanRead(&_impl_);
15169 const ::operations_research::sat::CpObjectiveProto* p = _impl_.integer_objective_;
15171}
15172inline const ::operations_research::sat::CpObjectiveProto& CpSolverResponse::integer_objective() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15173 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.integer_objective)
15174 return _internal_integer_objective();
15175}
15178 ::google::protobuf::internal::TSanWrite(&_impl_);
15179 if (GetArena() == nullptr) {
15180 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.integer_objective_);
15181 }
15182 _impl_.integer_objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(value);
15183 if (value != nullptr) {
15184 _impl_._has_bits_[0] |= 0x00000004u;
15185 } else {
15186 _impl_._has_bits_[0] &= ~0x00000004u;
15187 }
15188 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpSolverResponse.integer_objective)
15189}
15190inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE CpSolverResponse::release_integer_objective() {
15191 ::google::protobuf::internal::TSanWrite(&_impl_);
15193 _impl_._has_bits_[0] &= ~0x00000004u;
15194 ::operations_research::sat::CpObjectiveProto* released = _impl_.integer_objective_;
15195 _impl_.integer_objective_ = nullptr;
15196 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
15197 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
15198 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15199 if (GetArena() == nullptr) {
15200 delete old;
15201 }
15202 } else {
15203 if (GetArena() != nullptr) {
15204 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15205 }
15206 }
15207 return released;
15208}
15209inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE CpSolverResponse::unsafe_arena_release_integer_objective() {
15210 ::google::protobuf::internal::TSanWrite(&_impl_);
15211 // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.integer_objective)
15212
15213 _impl_._has_bits_[0] &= ~0x00000004u;
15214 ::operations_research::sat::CpObjectiveProto* temp = _impl_.integer_objective_;
15215 _impl_.integer_objective_ = nullptr;
15216 return temp;
15217}
15218inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL CpSolverResponse::_internal_mutable_integer_objective() {
15219 ::google::protobuf::internal::TSanWrite(&_impl_);
15220 if (_impl_.integer_objective_ == nullptr) {
15221 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::CpObjectiveProto>(GetArena());
15222 _impl_.integer_objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(p);
15223 }
15224 return _impl_.integer_objective_;
15226inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL CpSolverResponse::mutable_integer_objective()
15227 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15228 _impl_._has_bits_[0] |= 0x00000004u;
15229 ::operations_research::sat::CpObjectiveProto* _msg = _internal_mutable_integer_objective();
15230 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.integer_objective)
15231 return _msg;
15232}
15234 ::google::protobuf::Arena* message_arena = GetArena();
15235 ::google::protobuf::internal::TSanWrite(&_impl_);
15236 if (message_arena == nullptr) {
15237 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.integer_objective_);
15238 }
15240 if (value != nullptr) {
15241 ::google::protobuf::Arena* submessage_arena = value->GetArena();
15242 if (message_arena != submessage_arena) {
15243 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
15244 }
15245 _impl_._has_bits_[0] |= 0x00000004u;
15246 } else {
15247 _impl_._has_bits_[0] &= ~0x00000004u;
15248 }
15249
15250 _impl_.integer_objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(value);
15251 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.integer_objective)
15252}
15254// int64 inner_objective_lower_bound = 29;
15256 ::google::protobuf::internal::TSanWrite(&_impl_);
15257 _impl_.inner_objective_lower_bound_ = ::int64_t{0};
15258 _impl_._has_bits_[0] &= ~0x00010000u;
15259}
15260inline ::int64_t CpSolverResponse::inner_objective_lower_bound() const {
15261 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.inner_objective_lower_bound)
15262 return _internal_inner_objective_lower_bound();
15263}
15264inline void CpSolverResponse::set_inner_objective_lower_bound(::int64_t value) {
15265 _internal_set_inner_objective_lower_bound(value);
15266 _impl_._has_bits_[0] |= 0x00010000u;
15267 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.inner_objective_lower_bound)
15268}
15269inline ::int64_t CpSolverResponse::_internal_inner_objective_lower_bound() const {
15270 ::google::protobuf::internal::TSanRead(&_impl_);
15271 return _impl_.inner_objective_lower_bound_;
15273inline void CpSolverResponse::_internal_set_inner_objective_lower_bound(::int64_t value) {
15274 ::google::protobuf::internal::TSanWrite(&_impl_);
15275 _impl_.inner_objective_lower_bound_ = value;
15276}
15277
15278// int64 num_integers = 30;
15280 ::google::protobuf::internal::TSanWrite(&_impl_);
15281 _impl_.num_integers_ = ::int64_t{0};
15282 _impl_._has_bits_[0] &= ~0x00020000u;
15283}
15284inline ::int64_t CpSolverResponse::num_integers() const {
15285 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integers)
15286 return _internal_num_integers();
15287}
15288inline void CpSolverResponse::set_num_integers(::int64_t value) {
15289 _internal_set_num_integers(value);
15290 _impl_._has_bits_[0] |= 0x00020000u;
15291 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integers)
15292}
15293inline ::int64_t CpSolverResponse::_internal_num_integers() const {
15294 ::google::protobuf::internal::TSanRead(&_impl_);
15295 return _impl_.num_integers_;
15297inline void CpSolverResponse::_internal_set_num_integers(::int64_t value) {
15298 ::google::protobuf::internal::TSanWrite(&_impl_);
15299 _impl_.num_integers_ = value;
15300}
15301
15302// int64 num_booleans = 10;
15304 ::google::protobuf::internal::TSanWrite(&_impl_);
15305 _impl_.num_booleans_ = ::int64_t{0};
15306 _impl_._has_bits_[0] &= ~0x00000020u;
15307}
15308inline ::int64_t CpSolverResponse::num_booleans() const {
15309 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
15310 return _internal_num_booleans();
15311}
15312inline void CpSolverResponse::set_num_booleans(::int64_t value) {
15313 _internal_set_num_booleans(value);
15314 _impl_._has_bits_[0] |= 0x00000020u;
15315 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
15316}
15317inline ::int64_t CpSolverResponse::_internal_num_booleans() const {
15318 ::google::protobuf::internal::TSanRead(&_impl_);
15319 return _impl_.num_booleans_;
15320}
15321inline void CpSolverResponse::_internal_set_num_booleans(::int64_t value) {
15322 ::google::protobuf::internal::TSanWrite(&_impl_);
15323 _impl_.num_booleans_ = value;
15324}
15325
15326// int64 num_fixed_booleans = 31;
15328 ::google::protobuf::internal::TSanWrite(&_impl_);
15329 _impl_.num_fixed_booleans_ = ::int64_t{0};
15330 _impl_._has_bits_[0] &= ~0x00040000u;
15331}
15332inline ::int64_t CpSolverResponse::num_fixed_booleans() const {
15333 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_fixed_booleans)
15334 return _internal_num_fixed_booleans();
15335}
15336inline void CpSolverResponse::set_num_fixed_booleans(::int64_t value) {
15337 _internal_set_num_fixed_booleans(value);
15338 _impl_._has_bits_[0] |= 0x00040000u;
15339 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_fixed_booleans)
15340}
15341inline ::int64_t CpSolverResponse::_internal_num_fixed_booleans() const {
15342 ::google::protobuf::internal::TSanRead(&_impl_);
15343 return _impl_.num_fixed_booleans_;
15344}
15345inline void CpSolverResponse::_internal_set_num_fixed_booleans(::int64_t value) {
15346 ::google::protobuf::internal::TSanWrite(&_impl_);
15347 _impl_.num_fixed_booleans_ = value;
15348}
15349
15350// int64 num_conflicts = 11;
15352 ::google::protobuf::internal::TSanWrite(&_impl_);
15353 _impl_.num_conflicts_ = ::int64_t{0};
15354 _impl_._has_bits_[0] &= ~0x00000040u;
15355}
15356inline ::int64_t CpSolverResponse::num_conflicts() const {
15357 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
15358 return _internal_num_conflicts();
15359}
15360inline void CpSolverResponse::set_num_conflicts(::int64_t value) {
15361 _internal_set_num_conflicts(value);
15362 _impl_._has_bits_[0] |= 0x00000040u;
15363 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
15364}
15365inline ::int64_t CpSolverResponse::_internal_num_conflicts() const {
15366 ::google::protobuf::internal::TSanRead(&_impl_);
15367 return _impl_.num_conflicts_;
15368}
15369inline void CpSolverResponse::_internal_set_num_conflicts(::int64_t value) {
15370 ::google::protobuf::internal::TSanWrite(&_impl_);
15371 _impl_.num_conflicts_ = value;
15372}
15373
15374// int64 num_branches = 12;
15376 ::google::protobuf::internal::TSanWrite(&_impl_);
15377 _impl_.num_branches_ = ::int64_t{0};
15378 _impl_._has_bits_[0] &= ~0x00000080u;
15379}
15380inline ::int64_t CpSolverResponse::num_branches() const {
15381 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
15382 return _internal_num_branches();
15383}
15384inline void CpSolverResponse::set_num_branches(::int64_t value) {
15385 _internal_set_num_branches(value);
15386 _impl_._has_bits_[0] |= 0x00000080u;
15387 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
15388}
15389inline ::int64_t CpSolverResponse::_internal_num_branches() const {
15390 ::google::protobuf::internal::TSanRead(&_impl_);
15391 return _impl_.num_branches_;
15392}
15393inline void CpSolverResponse::_internal_set_num_branches(::int64_t value) {
15394 ::google::protobuf::internal::TSanWrite(&_impl_);
15395 _impl_.num_branches_ = value;
15396}
15397
15398// int64 num_binary_propagations = 13;
15400 ::google::protobuf::internal::TSanWrite(&_impl_);
15401 _impl_.num_binary_propagations_ = ::int64_t{0};
15402 _impl_._has_bits_[0] &= ~0x00000100u;
15403}
15404inline ::int64_t CpSolverResponse::num_binary_propagations() const {
15405 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
15406 return _internal_num_binary_propagations();
15407}
15408inline void CpSolverResponse::set_num_binary_propagations(::int64_t value) {
15409 _internal_set_num_binary_propagations(value);
15410 _impl_._has_bits_[0] |= 0x00000100u;
15411 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
15412}
15413inline ::int64_t CpSolverResponse::_internal_num_binary_propagations() const {
15414 ::google::protobuf::internal::TSanRead(&_impl_);
15415 return _impl_.num_binary_propagations_;
15416}
15417inline void CpSolverResponse::_internal_set_num_binary_propagations(::int64_t value) {
15418 ::google::protobuf::internal::TSanWrite(&_impl_);
15419 _impl_.num_binary_propagations_ = value;
15420}
15421
15422// int64 num_integer_propagations = 14;
15424 ::google::protobuf::internal::TSanWrite(&_impl_);
15425 _impl_.num_integer_propagations_ = ::int64_t{0};
15426 _impl_._has_bits_[0] &= ~0x00000200u;
15427}
15428inline ::int64_t CpSolverResponse::num_integer_propagations() const {
15429 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
15430 return _internal_num_integer_propagations();
15431}
15432inline void CpSolverResponse::set_num_integer_propagations(::int64_t value) {
15433 _internal_set_num_integer_propagations(value);
15434 _impl_._has_bits_[0] |= 0x00000200u;
15435 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
15436}
15437inline ::int64_t CpSolverResponse::_internal_num_integer_propagations() const {
15438 ::google::protobuf::internal::TSanRead(&_impl_);
15439 return _impl_.num_integer_propagations_;
15440}
15441inline void CpSolverResponse::_internal_set_num_integer_propagations(::int64_t value) {
15442 ::google::protobuf::internal::TSanWrite(&_impl_);
15443 _impl_.num_integer_propagations_ = value;
15444}
15445
15446// int64 num_restarts = 24;
15448 ::google::protobuf::internal::TSanWrite(&_impl_);
15449 _impl_.num_restarts_ = ::int64_t{0};
15450 _impl_._has_bits_[0] &= ~0x00004000u;
15451}
15452inline ::int64_t CpSolverResponse::num_restarts() const {
15453 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_restarts)
15454 return _internal_num_restarts();
15455}
15456inline void CpSolverResponse::set_num_restarts(::int64_t value) {
15457 _internal_set_num_restarts(value);
15458 _impl_._has_bits_[0] |= 0x00004000u;
15459 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_restarts)
15460}
15461inline ::int64_t CpSolverResponse::_internal_num_restarts() const {
15462 ::google::protobuf::internal::TSanRead(&_impl_);
15463 return _impl_.num_restarts_;
15464}
15465inline void CpSolverResponse::_internal_set_num_restarts(::int64_t value) {
15466 ::google::protobuf::internal::TSanWrite(&_impl_);
15467 _impl_.num_restarts_ = value;
15468}
15469
15470// int64 num_lp_iterations = 25;
15472 ::google::protobuf::internal::TSanWrite(&_impl_);
15473 _impl_.num_lp_iterations_ = ::int64_t{0};
15474 _impl_._has_bits_[0] &= ~0x00008000u;
15475}
15476inline ::int64_t CpSolverResponse::num_lp_iterations() const {
15477 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_lp_iterations)
15478 return _internal_num_lp_iterations();
15479}
15480inline void CpSolverResponse::set_num_lp_iterations(::int64_t value) {
15481 _internal_set_num_lp_iterations(value);
15482 _impl_._has_bits_[0] |= 0x00008000u;
15483 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_lp_iterations)
15484}
15485inline ::int64_t CpSolverResponse::_internal_num_lp_iterations() const {
15486 ::google::protobuf::internal::TSanRead(&_impl_);
15487 return _impl_.num_lp_iterations_;
15488}
15489inline void CpSolverResponse::_internal_set_num_lp_iterations(::int64_t value) {
15490 ::google::protobuf::internal::TSanWrite(&_impl_);
15491 _impl_.num_lp_iterations_ = value;
15492}
15493
15494// double wall_time = 15;
15496 ::google::protobuf::internal::TSanWrite(&_impl_);
15497 _impl_.wall_time_ = 0;
15498 _impl_._has_bits_[0] &= ~0x00000400u;
15499}
15500inline double CpSolverResponse::wall_time() const {
15501 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
15502 return _internal_wall_time();
15503}
15504inline void CpSolverResponse::set_wall_time(double value) {
15505 _internal_set_wall_time(value);
15506 _impl_._has_bits_[0] |= 0x00000400u;
15507 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
15508}
15509inline double CpSolverResponse::_internal_wall_time() const {
15510 ::google::protobuf::internal::TSanRead(&_impl_);
15511 return _impl_.wall_time_;
15512}
15513inline void CpSolverResponse::_internal_set_wall_time(double value) {
15514 ::google::protobuf::internal::TSanWrite(&_impl_);
15515 _impl_.wall_time_ = value;
15516}
15517
15518// double user_time = 16;
15520 ::google::protobuf::internal::TSanWrite(&_impl_);
15521 _impl_.user_time_ = 0;
15522 _impl_._has_bits_[0] &= ~0x00000800u;
15523}
15524inline double CpSolverResponse::user_time() const {
15525 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
15526 return _internal_user_time();
15527}
15528inline void CpSolverResponse::set_user_time(double value) {
15529 _internal_set_user_time(value);
15530 _impl_._has_bits_[0] |= 0x00000800u;
15531 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
15532}
15533inline double CpSolverResponse::_internal_user_time() const {
15534 ::google::protobuf::internal::TSanRead(&_impl_);
15535 return _impl_.user_time_;
15536}
15537inline void CpSolverResponse::_internal_set_user_time(double value) {
15538 ::google::protobuf::internal::TSanWrite(&_impl_);
15539 _impl_.user_time_ = value;
15540}
15541
15542// double deterministic_time = 17;
15544 ::google::protobuf::internal::TSanWrite(&_impl_);
15545 _impl_.deterministic_time_ = 0;
15546 _impl_._has_bits_[0] &= ~0x00001000u;
15547}
15548inline double CpSolverResponse::deterministic_time() const {
15549 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
15550 return _internal_deterministic_time();
15551}
15552inline void CpSolverResponse::set_deterministic_time(double value) {
15553 _internal_set_deterministic_time(value);
15554 _impl_._has_bits_[0] |= 0x00001000u;
15555 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
15556}
15557inline double CpSolverResponse::_internal_deterministic_time() const {
15558 ::google::protobuf::internal::TSanRead(&_impl_);
15559 return _impl_.deterministic_time_;
15560}
15561inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
15562 ::google::protobuf::internal::TSanWrite(&_impl_);
15563 _impl_.deterministic_time_ = value;
15564}
15565
15566// double gap_integral = 22;
15568 ::google::protobuf::internal::TSanWrite(&_impl_);
15569 _impl_.gap_integral_ = 0;
15570 _impl_._has_bits_[0] &= ~0x00002000u;
15571}
15572inline double CpSolverResponse::gap_integral() const {
15573 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.gap_integral)
15574 return _internal_gap_integral();
15575}
15576inline void CpSolverResponse::set_gap_integral(double value) {
15577 _internal_set_gap_integral(value);
15578 _impl_._has_bits_[0] |= 0x00002000u;
15579 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.gap_integral)
15580}
15581inline double CpSolverResponse::_internal_gap_integral() const {
15582 ::google::protobuf::internal::TSanRead(&_impl_);
15583 return _impl_.gap_integral_;
15584}
15585inline void CpSolverResponse::_internal_set_gap_integral(double value) {
15586 ::google::protobuf::internal::TSanWrite(&_impl_);
15587 _impl_.gap_integral_ = value;
15588}
15589
15590// string solution_info = 20;
15592 ::google::protobuf::internal::TSanWrite(&_impl_);
15593 _impl_.solution_info_.ClearToEmpty();
15594 _impl_._has_bits_[0] &= ~0x00000001u;
15595}
15596inline const ::std::string& CpSolverResponse::solution_info() const
15597 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15598 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
15599 return _internal_solution_info();
15600}
15601template <typename Arg_, typename... Args_>
15602PROTOBUF_ALWAYS_INLINE void CpSolverResponse::set_solution_info(Arg_&& arg, Args_... args) {
15603 ::google::protobuf::internal::TSanWrite(&_impl_);
15604 _impl_._has_bits_[0] |= 0x00000001u;
15605 _impl_.solution_info_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15606 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
15607}
15608inline ::std::string* PROTOBUF_NONNULL CpSolverResponse::mutable_solution_info()
15609 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15610 ::std::string* _s = _internal_mutable_solution_info();
15611 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
15612 return _s;
15613}
15614inline const ::std::string& CpSolverResponse::_internal_solution_info() const {
15615 ::google::protobuf::internal::TSanRead(&_impl_);
15616 return _impl_.solution_info_.Get();
15617}
15618inline void CpSolverResponse::_internal_set_solution_info(const ::std::string& value) {
15619 ::google::protobuf::internal::TSanWrite(&_impl_);
15620 _impl_._has_bits_[0] |= 0x00000001u;
15621 _impl_.solution_info_.Set(value, GetArena());
15622}
15623inline ::std::string* PROTOBUF_NONNULL CpSolverResponse::_internal_mutable_solution_info() {
15624 ::google::protobuf::internal::TSanWrite(&_impl_);
15625 _impl_._has_bits_[0] |= 0x00000001u;
15626 return _impl_.solution_info_.Mutable( GetArena());
15627}
15628inline ::std::string* PROTOBUF_NULLABLE CpSolverResponse::release_solution_info() {
15629 ::google::protobuf::internal::TSanWrite(&_impl_);
15630 // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
15631 if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
15632 return nullptr;
15633 }
15634 _impl_._has_bits_[0] &= ~0x00000001u;
15635 auto* released = _impl_.solution_info_.Release();
15636 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15637 _impl_.solution_info_.Set("", GetArena());
15638 }
15639 return released;
15640}
15641inline void CpSolverResponse::set_allocated_solution_info(::std::string* PROTOBUF_NULLABLE value) {
15642 ::google::protobuf::internal::TSanWrite(&_impl_);
15643 if (value != nullptr) {
15644 _impl_._has_bits_[0] |= 0x00000001u;
15645 } else {
15646 _impl_._has_bits_[0] &= ~0x00000001u;
15647 }
15648 _impl_.solution_info_.SetAllocated(value, GetArena());
15649 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.solution_info_.IsDefault()) {
15650 _impl_.solution_info_.Set("", GetArena());
15651 }
15652 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
15653}
15655// string solve_log = 26;
15657 ::google::protobuf::internal::TSanWrite(&_impl_);
15658 _impl_.solve_log_.ClearToEmpty();
15659 _impl_._has_bits_[0] &= ~0x00000002u;
15660}
15661inline const ::std::string& CpSolverResponse::solve_log() const
15662 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15663 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solve_log)
15664 return _internal_solve_log();
15666template <typename Arg_, typename... Args_>
15667PROTOBUF_ALWAYS_INLINE void CpSolverResponse::set_solve_log(Arg_&& arg, Args_... args) {
15668 ::google::protobuf::internal::TSanWrite(&_impl_);
15669 _impl_._has_bits_[0] |= 0x00000002u;
15670 _impl_.solve_log_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15671 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solve_log)
15672}
15673inline ::std::string* PROTOBUF_NONNULL CpSolverResponse::mutable_solve_log()
15674 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15675 ::std::string* _s = _internal_mutable_solve_log();
15676 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solve_log)
15677 return _s;
15678}
15679inline const ::std::string& CpSolverResponse::_internal_solve_log() const {
15680 ::google::protobuf::internal::TSanRead(&_impl_);
15681 return _impl_.solve_log_.Get();
15682}
15683inline void CpSolverResponse::_internal_set_solve_log(const ::std::string& value) {
15684 ::google::protobuf::internal::TSanWrite(&_impl_);
15685 _impl_._has_bits_[0] |= 0x00000002u;
15686 _impl_.solve_log_.Set(value, GetArena());
15687}
15688inline ::std::string* PROTOBUF_NONNULL CpSolverResponse::_internal_mutable_solve_log() {
15689 ::google::protobuf::internal::TSanWrite(&_impl_);
15690 _impl_._has_bits_[0] |= 0x00000002u;
15691 return _impl_.solve_log_.Mutable( GetArena());
15692}
15693inline ::std::string* PROTOBUF_NULLABLE CpSolverResponse::release_solve_log() {
15694 ::google::protobuf::internal::TSanWrite(&_impl_);
15695 // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solve_log)
15696 if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
15697 return nullptr;
15698 }
15699 _impl_._has_bits_[0] &= ~0x00000002u;
15700 auto* released = _impl_.solve_log_.Release();
15701 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15702 _impl_.solve_log_.Set("", GetArena());
15703 }
15704 return released;
15705}
15706inline void CpSolverResponse::set_allocated_solve_log(::std::string* PROTOBUF_NULLABLE value) {
15707 ::google::protobuf::internal::TSanWrite(&_impl_);
15708 if (value != nullptr) {
15709 _impl_._has_bits_[0] |= 0x00000002u;
15710 } else {
15711 _impl_._has_bits_[0] &= ~0x00000002u;
15712 }
15713 _impl_.solve_log_.SetAllocated(value, GetArena());
15714 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.solve_log_.IsDefault()) {
15715 _impl_.solve_log_.Set("", GetArena());
15716 }
15717 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solve_log)
15718}
15720#ifdef __GNUC__
15721#pragma GCC diagnostic pop
15722#endif // __GNUC__
15723
15724// @@protoc_insertion_point(namespace_scope)
15725} // namespace sat
15726} // namespace operations_research
15727
15728
15729namespace google {
15730namespace protobuf {
15731
15732template <>
15733struct is_proto_enum<::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : std::true_type {};
15734template <>
15736 return ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_descriptor();
15737}
15738template <>
15739struct is_proto_enum<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : std::true_type {};
15740template <>
15742 return ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_descriptor();
15743}
15744template <>
15745struct is_proto_enum<::operations_research::sat::CpSolverStatus> : std::true_type {};
15746template <>
15747inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::sat::CpSolverStatus>() {
15748 return ::operations_research::sat::CpSolverStatus_descriptor();
15749}
15750
15751} // namespace protobuf
15752} // namespace google
15753
15754// @@protoc_insertion_point(global_scope)
15755
15756#include "google/protobuf/port_undef.inc"
15757
15758#endif // ortools_2fsat_2fcp_5fmodel_2eproto_2epb_2eh
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
int exprs_size() const
repeated .operations_research.sat.LinearExpressionProto exprs = 1;
void UnsafeArenaSwap(AllDifferentConstraintProto *PROTOBUF_NONNULL other)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static const AllDifferentConstraintProto & default_instance()
void CopyFrom(const AllDifferentConstraintProto &from)
AllDifferentConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & exprs() const
void MergeFrom(const AllDifferentConstraintProto &from)
::google::protobuf::Metadata GetMetadata() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void Swap(AllDifferentConstraintProto *PROTOBUF_NONNULL other)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_exprs()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_exprs(int index)
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_exprs()
friend class ::google::protobuf::MessageLite
void Swap(AutomatonConstraintProto *PROTOBUF_NONNULL other)
void CopyFrom(const AutomatonConstraintProto &from)
AutomatonConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
::google::protobuf::Metadata GetMetadata() const
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_exprs(int index)
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_transition_tail()
void set_final_states(int index, ::int64_t value)
void set_transition_head(int index, ::int64_t value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
int vars_size() const
repeated int32 vars = 7;
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_final_states()
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & exprs() const
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_transition_head()
void set_transition_label(int index, ::int64_t value)
void set_transition_tail(int index, ::int64_t value)
int transition_head_size() const
repeated int64 transition_head = 5;
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
static const AutomatonConstraintProto & default_instance()
const ::google::protobuf::RepeatedField<::int64_t > & transition_head() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const AutomatonConstraintProto &from)
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
const ::google::protobuf::RepeatedField<::int64_t > & transition_tail() const
int final_states_size() const
repeated int64 final_states = 3;
void clear_starting_state()
int64 starting_state = 2;
int exprs_size() const
repeated .operations_research.sat.LinearExpressionProto exprs = 8;
int transition_label_size() const
repeated int64 transition_label = 6;
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_exprs()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
int transition_tail_size() const
repeated int64 transition_tail = 4;
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_exprs()
const ::google::protobuf::RepeatedField<::int64_t > & transition_label() const
const ::google::protobuf::RepeatedField<::int64_t > & final_states() const
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_transition_label()
BoolArgumentProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
BoolArgumentProto & operator=(const BoolArgumentProto &from)
void Swap(BoolArgumentProto *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedField<::int32_t > & literals() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static const BoolArgumentProto & default_instance()
int literals_size() const
repeated int32 literals = 1;
void set_literals(int index, ::int32_t value)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_literals()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const BoolArgumentProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_tails()
void set_literals(int index, ::int32_t value)
int heads_size() const
repeated int32 heads = 4;
int tails_size() const
repeated int32 tails = 3;
const ::google::protobuf::RepeatedField<::int32_t > & literals() const
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
void set_heads(int index, ::int32_t value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_heads()
void Swap(CircuitConstraintProto *PROTOBUF_NONNULL other)
CircuitConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
int literals_size() const
repeated int32 literals = 5;
const ::google::protobuf::RepeatedField<::int32_t > & tails() const
const ::google::protobuf::RepeatedField<::int32_t > & heads() const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_literals()
static const CircuitConstraintProto & default_instance()
void set_tails(int index, ::int32_t value)
void unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE release_exactly_one()
::operations_research::sat::NoOverlapConstraintProto *PROTOBUF_NULLABLE release_no_overlap()
bool has_circuit() const
.operations_research.sat.CircuitConstraintProto circuit = 15;
::operations_research::sat::TableConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_table()
void unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto *PROTOBUF_NULLABLE value)
void CopyFrom(const ConstraintProto &from)
void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE release_bool_xor()
const ::operations_research::sat::TableConstraintProto & table() const
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
::operations_research::sat::NoOverlapConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_no_overlap()
::operations_research::sat::ElementConstraintProto *PROTOBUF_NULLABLE release_element()
void unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE release_int_prod()
::std::string *PROTOBUF_NONNULL mutable_name()
bool has_routes() const
.operations_research.sat.RoutesConstraintProto routes = 23;
void UnsafeArenaSwap(ConstraintProto *PROTOBUF_NONNULL other)
void unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *PROTOBUF_NULLABLE value)
void MergeFrom(const ConstraintProto &from)
::operations_research::sat::BoolArgumentProto *PROTOBUF_NONNULL mutable_bool_and()
const ::operations_research::sat::InverseConstraintProto & inverse() const
::operations_research::sat::CumulativeConstraintProto *PROTOBUF_NONNULL mutable_cumulative()
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE release_bool_or()
::operations_research::sat::CircuitConstraintProto *PROTOBUF_NULLABLE release_circuit()
void unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *PROTOBUF_NULLABLE value)
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *PROTOBUF_NULLABLE value)
bool has_no_overlap() const
.operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
::int32_t enforcement_literal(int index) const
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_bool_or()
::operations_research::sat::NoOverlapConstraintProto *PROTOBUF_NONNULL mutable_no_overlap()
::operations_research::sat::AllDifferentConstraintProto *PROTOBUF_NONNULL mutable_all_diff()
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::RoutesConstraintProto *PROTOBUF_NULLABLE release_routes()
::operations_research::sat::LinearConstraintProto *PROTOBUF_NULLABLE release_linear()
void set_enforcement_literal(int index, ::int32_t value)
const ::operations_research::sat::BoolArgumentProto & exactly_one() const
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
void unsafe_arena_set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
const ::operations_research::sat::ListOfVariablesProto & dummy_constraint() const
::operations_research::sat::CumulativeConstraintProto *PROTOBUF_NULLABLE release_cumulative()
void unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto *PROTOBUF_NULLABLE value)
friend void swap(ConstraintProto &a, ConstraintProto &b)
const ::operations_research::sat::AllDifferentConstraintProto & all_diff() const
void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::NoOverlap2DConstraintProto *PROTOBUF_NONNULL mutable_no_overlap_2d()
const ::std::string & name() const
bool has_at_most_one() const
.operations_research.sat.BoolArgumentProto at_most_one = 26;
void set_allocated_int_div(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
const ::operations_research::sat::LinearConstraintProto & linear() const
::operations_research::sat::IntervalConstraintProto *PROTOBUF_NONNULL mutable_interval()
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
::operations_research::sat::NoOverlap2DConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_no_overlap_2d()
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_bool_and()
void set_allocated_table(::operations_research::sat::TableConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::AutomatonConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_automaton()
const ::operations_research::sat::IntervalConstraintProto & interval() const
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE release_int_div()
::operations_research::sat::ReservoirConstraintProto *PROTOBUF_NONNULL mutable_reservoir()
void unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::ReservoirConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_reservoir()
::operations_research::sat::ListOfVariablesProto *PROTOBUF_NULLABLE release_dummy_constraint()
::operations_research::sat::BoolArgumentProto *PROTOBUF_NONNULL mutable_bool_xor()
const ::operations_research::sat::RoutesConstraintProto & routes() const
bool has_cumulative() const
.operations_research.sat.CumulativeConstraintProto cumulative = 22;
void unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *PROTOBUF_NULLABLE value)
void set_allocated_int_prod(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *PROTOBUF_NULLABLE value)
bool has_element() const
.operations_research.sat.ElementConstraintProto element = 14;
void unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::RoutesConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_routes()
void set_allocated_int_mod(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
bool has_bool_and() const
.operations_research.sat.BoolArgumentProto bool_and = 4;
::operations_research::sat::ListOfVariablesProto *PROTOBUF_NULLABLE unsafe_arena_release_dummy_constraint()
void unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
const ::operations_research::sat::LinearArgumentProto & lin_max() const
bool has_reservoir() const
.operations_research.sat.ReservoirConstraintProto reservoir = 24;
const ::google::protobuf::RepeatedField<::int32_t > & enforcement_literal() const
::operations_research::sat::LinearArgumentProto *PROTOBUF_NONNULL mutable_int_div()
::std::string *PROTOBUF_NULLABLE release_name()
::operations_research::sat::LinearArgumentProto *PROTOBUF_NONNULL mutable_int_prod()
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE release_at_most_one()
::operations_research::sat::CircuitConstraintProto *PROTOBUF_NONNULL mutable_circuit()
const ::operations_research::sat::ElementConstraintProto & element() const
void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *PROTOBUF_NULLABLE value)
bool has_automaton() const
.operations_research.sat.AutomatonConstraintProto automaton = 17;
::operations_research::sat::BoolArgumentProto *PROTOBUF_NONNULL mutable_exactly_one()
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_int_div()
void unsafe_arena_set_allocated_int_prod(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
::operations_research::sat::AllDifferentConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_all_diff()
const ::operations_research::sat::BoolArgumentProto & bool_and() const
bool has_all_diff() const
.operations_research.sat.AllDifferentConstraintProto all_diff = 13;
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE release_bool_and()
void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::BoolArgumentProto *PROTOBUF_NONNULL mutable_bool_or()
void set_allocated_inverse(::operations_research::sat::InverseConstraintProto *PROTOBUF_NULLABLE value)
bool has_int_div() const
.operations_research.sat.LinearArgumentProto int_div = 7;
bool has_bool_or() const
.operations_research.sat.BoolArgumentProto bool_or = 3;
bool has_interval() const
.operations_research.sat.IntervalConstraintProto interval = 19;
::operations_research::sat::LinearArgumentProto *PROTOBUF_NONNULL mutable_lin_max()
::operations_research::sat::NoOverlap2DConstraintProto *PROTOBUF_NULLABLE release_no_overlap_2d()
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_at_most_one()
void set_allocated_linear(::operations_research::sat::LinearConstraintProto *PROTOBUF_NULLABLE value)
bool has_exactly_one() const
.operations_research.sat.BoolArgumentProto exactly_one = 29;
const ::operations_research::sat::BoolArgumentProto & bool_or() const
ConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_bool_xor()
::operations_research::sat::LinearConstraintProto *PROTOBUF_NONNULL mutable_linear()
const ::operations_research::sat::LinearArgumentProto & int_mod() const
::operations_research::sat::RoutesConstraintProto *PROTOBUF_NONNULL mutable_routes()
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_enforcement_literal()
::operations_research::sat::AutomatonConstraintProto *PROTOBUF_NULLABLE release_automaton()
::operations_research::sat::ElementConstraintProto *PROTOBUF_NONNULL mutable_element()
void Swap(ConstraintProto *PROTOBUF_NONNULL other)
void unsafe_arena_set_allocated_int_div(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
static const ConstraintProto & default_instance()
void unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_int_prod()
::operations_research::sat::ReservoirConstraintProto *PROTOBUF_NULLABLE release_reservoir()
void unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
::operations_research::sat::ElementConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_element()
::operations_research::sat::AllDifferentConstraintProto *PROTOBUF_NULLABLE release_all_diff()
void unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
::operations_research::sat::TableConstraintProto *PROTOBUF_NONNULL mutable_table()
const ::operations_research::sat::LinearArgumentProto & int_prod() const
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE release_lin_max()
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_lin_max()
::operations_research::sat::InverseConstraintProto *PROTOBUF_NULLABLE release_inverse()
bool has_linear() const
.operations_research.sat.LinearConstraintProto linear = 12;
const ::operations_research::sat::LinearArgumentProto & int_div() const
const ::operations_research::sat::AutomatonConstraintProto & automaton() const
void set_allocated_name(::std::string *PROTOBUF_NULLABLE value)
::operations_research::sat::IntervalConstraintProto *PROTOBUF_NULLABLE release_interval()
::operations_research::sat::CumulativeConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_cumulative()
::operations_research::sat::CircuitConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_circuit()
ConstraintProto & operator=(const ConstraintProto &from)
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
const ::operations_research::sat::CircuitConstraintProto & circuit() const
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
void set_allocated_element(::operations_research::sat::ElementConstraintProto *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::TableConstraintProto *PROTOBUF_NULLABLE release_table()
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE release_int_mod()
void unsafe_arena_set_allocated_int_mod(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
bool has_dummy_constraint() const
.operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
::operations_research::sat::InverseConstraintProto *PROTOBUF_NONNULL mutable_inverse()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *PROTOBUF_NULLABLE value)
int enforcement_literal_size() const
repeated int32 enforcement_literal = 2;
::operations_research::sat::ListOfVariablesProto *PROTOBUF_NONNULL mutable_dummy_constraint()
bool has_int_prod() const
.operations_research.sat.LinearArgumentProto int_prod = 11;
::operations_research::sat::LinearConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_linear()
void set_allocated_dummy_constraint(::operations_research::sat::ListOfVariablesProto *PROTOBUF_NULLABLE value)
::operations_research::sat::IntervalConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_interval()
bool has_int_mod() const
.operations_research.sat.LinearArgumentProto int_mod = 8;
bool has_bool_xor() const
.operations_research.sat.BoolArgumentProto bool_xor = 5;
void set_name(Arg_ &&arg, Args_... args)
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_int_mod()
bool has_lin_max() const
.operations_research.sat.LinearArgumentProto lin_max = 27;
::operations_research::sat::LinearArgumentProto *PROTOBUF_NONNULL mutable_int_mod()
void unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_exactly_one()
const ::operations_research::sat::ReservoirConstraintProto & reservoir() const
void unsafe_arena_set_allocated_dummy_constraint(::operations_research::sat::ListOfVariablesProto *PROTOBUF_NULLABLE value)
bool has_table() const
.operations_research.sat.TableConstraintProto table = 16;
void unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::InverseConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_inverse()
bool has_no_overlap_2d() const
.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto *PROTOBUF_NULLABLE value)
bool has_inverse() const
.operations_research.sat.InverseConstraintProto inverse = 18;
const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d() const
::operations_research::sat::BoolArgumentProto *PROTOBUF_NONNULL mutable_at_most_one()
::operations_research::sat::AutomatonConstraintProto *PROTOBUF_NONNULL mutable_automaton()
::operations_research::sat::PartialVariableAssignment *PROTOBUF_NULLABLE unsafe_arena_release_solution_hint()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void CopyFrom(const CpModelProto &from)
void set_allocated_objective(::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE value)
::operations_research::sat::SymmetryProto *PROTOBUF_NULLABLE release_symmetry()
::operations_research::sat::FloatObjectiveProto *PROTOBUF_NONNULL mutable_floating_point_objective()
::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE unsafe_arena_release_objective()
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto > & constraints() const
bool has_symmetry() const
.operations_research.sat.SymmetryProto symmetry = 8;
void unsafe_arena_set_allocated_objective(::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE value)
::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE release_objective()
::operations_research::sat::ConstraintProto *PROTOBUF_NONNULL mutable_constraints(int index)
int assumptions_size() const
repeated int32 assumptions = 7;
bool has_solution_hint() const
.operations_research.sat.PartialVariableAssignment solution_hint = 6;
bool has_floating_point_objective() const
.operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
const ::operations_research::sat::SymmetryProto & symmetry() const
::operations_research::sat::FloatObjectiveProto *PROTOBUF_NULLABLE unsafe_arena_release_floating_point_objective()
::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto > *PROTOBUF_NONNULL mutable_constraints()
const ::operations_research::sat::IntegerVariableProto & variables(int index) const
const ::operations_research::sat::FloatObjectiveProto & floating_point_objective() const
const ::operations_research::sat::ConstraintProto & constraints(int index) const
void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *PROTOBUF_NULLABLE value)
bool has_objective() const
.operations_research.sat.CpObjectiveProto objective = 4;
void unsafe_arena_set_allocated_floating_point_objective(::operations_research::sat::FloatObjectiveProto *PROTOBUF_NULLABLE value)
static const CpModelProto & default_instance()
const ::google::protobuf::RepeatedField<::int32_t > & assumptions() const
void set_assumptions(int index, ::int32_t value)
const ::operations_research::sat::DecisionStrategyProto & search_strategy(int index) const
::std::string *PROTOBUF_NULLABLE release_name()
::int32_t assumptions(int index) const
CpModelProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
int constraints_size() const
repeated .operations_research.sat.ConstraintProto constraints = 3;
void set_name(Arg_ &&arg, Args_... args)
void set_allocated_name(::std::string *PROTOBUF_NULLABLE value)
::operations_research::sat::IntegerVariableProto *PROTOBUF_NONNULL add_variables()
int search_strategy_size() const
repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
::operations_research::sat::SymmetryProto *PROTOBUF_NONNULL mutable_symmetry()
void set_allocated_floating_point_objective(::operations_research::sat::FloatObjectiveProto *PROTOBUF_NULLABLE value)
::operations_research::sat::PartialVariableAssignment *PROTOBUF_NONNULL mutable_solution_hint()
void unsafe_arena_set_allocated_symmetry(::operations_research::sat::SymmetryProto *PROTOBUF_NULLABLE value)
::operations_research::sat::PartialVariableAssignment *PROTOBUF_NULLABLE release_solution_hint()
::operations_research::sat::ConstraintProto *PROTOBUF_NONNULL add_constraints()
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto > & variables() const
::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto > *PROTOBUF_NONNULL mutable_variables()
int variables_size() const
repeated .operations_research.sat.IntegerVariableProto variables = 2;
::operations_research::sat::CpObjectiveProto *PROTOBUF_NONNULL mutable_objective()
::operations_research::sat::SymmetryProto *PROTOBUF_NULLABLE unsafe_arena_release_symmetry()
void MergeFrom(const CpModelProto &from)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_assumptions()
::operations_research::sat::FloatObjectiveProto *PROTOBUF_NULLABLE release_floating_point_objective()
::operations_research::sat::IntegerVariableProto *PROTOBUF_NONNULL mutable_variables(int index)
const ::std::string & name() const
void unsafe_arena_set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *PROTOBUF_NULLABLE value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::operations_research::sat::DecisionStrategyProto *PROTOBUF_NONNULL mutable_search_strategy(int index)
void Swap(CpModelProto *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto > & search_strategy() const
::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto > *PROTOBUF_NONNULL mutable_search_strategy()
::operations_research::sat::DecisionStrategyProto *PROTOBUF_NONNULL add_search_strategy()
void set_allocated_symmetry(::operations_research::sat::SymmetryProto *PROTOBUF_NULLABLE value)
const ::operations_research::sat::PartialVariableAssignment & solution_hint() const
friend class ::google::protobuf::Arena
::std::string *PROTOBUF_NONNULL mutable_name()
const ::operations_research::sat::CpObjectiveProto & objective() const
void set_domain(int index, ::int64_t value)
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_domain()
const ::google::protobuf::RepeatedField<::int64_t > & domain() const
void CopyFrom(const CpObjectiveProto &from)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
const ::google::protobuf::RepeatedField<::int64_t > & coeffs() const
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_coeffs()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
void UnsafeArenaSwap(CpObjectiveProto *PROTOBUF_NONNULL other)
void set_vars(int index, ::int32_t value)
int vars_size() const
repeated int32 vars = 1;
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
void clear_integer_before_offset()
int64 integer_before_offset = 7;
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
void clear_scaling_was_exact()
bool scaling_was_exact = 6;
static const CpObjectiveProto & default_instance()
::google::protobuf::Metadata GetMetadata() const
int domain_size() const
repeated int64 domain = 5;
CpObjectiveProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
int coeffs_size() const
repeated int64 coeffs = 4;
void clear_scaling_factor()
double scaling_factor = 3;
void MergeFrom(const CpObjectiveProto &from)
void clear_integer_after_offset()
int64 integer_after_offset = 9;
void clear_integer_scaling_factor()
int64 integer_scaling_factor = 8;
void set_coeffs(int index, ::int64_t value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void Swap(CpObjectiveProto *PROTOBUF_NONNULL other)
const ::operations_research::sat::CpSolverSolution & additional_solutions(int index) const
void set_solve_log(Arg_ &&arg, Args_... args)
::std::string *PROTOBUF_NULLABLE release_solve_log()
::int32_t sufficient_assumptions_for_infeasibility(int index) const
::operations_research::sat::CpSolverSolution *PROTOBUF_NONNULL add_additional_solutions()
friend class ::google::protobuf::MessageLite
::operations_research::sat::CpObjectiveProto *PROTOBUF_NONNULL mutable_integer_objective()
int tightened_variables_size() const
repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
void clear_num_restarts()
int64 num_restarts = 24;
::std::string *PROTOBUF_NULLABLE release_solution_info()
void clear_num_integers()
int64 num_integers = 30;
void set_sufficient_assumptions_for_infeasibility(int index, ::int32_t value)
void clear_num_integer_propagations()
int64 num_integer_propagations = 14;
void clear_solve_log()
string solve_log = 26;
::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE unsafe_arena_release_integer_objective()
void clear_solution_info()
string solution_info = 20;
void clear_num_lp_iterations()
int64 num_lp_iterations = 25;
const ::google::protobuf::RepeatedField<::int64_t > & solution() const
void clear_num_booleans()
int64 num_booleans = 10;
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_solution()
::operations_research::sat::IntegerVariableProto *PROTOBUF_NONNULL add_tightened_variables()
void set_allocated_solution_info(::std::string *PROTOBUF_NULLABLE value)
void clear_inner_objective_lower_bound()
int64 inner_objective_lower_bound = 29;
void clear_user_time()
double user_time = 16;
void set_solution_info(Arg_ &&arg, Args_... args)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_sufficient_assumptions_for_infeasibility()
void set_status(::operations_research::sat::CpSolverStatus value)
::operations_research::sat::CpSolverStatus status() const
void clear_deterministic_time()
double deterministic_time = 17;
void clear_best_objective_bound()
double best_objective_bound = 4;
void set_solution(int index, ::int64_t value)
::std::string *PROTOBUF_NONNULL mutable_solution_info()
void clear_num_fixed_booleans()
int64 num_fixed_booleans = 31;
const ::operations_research::sat::IntegerVariableProto & tightened_variables(int index) const
int additional_solutions_size() const
repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
CpSolverResponse & operator=(const CpSolverResponse &from)
::google::protobuf::Metadata GetMetadata() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void set_inner_objective_lower_bound(::int64_t value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
CpSolverResponse *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
void clear_num_conflicts()
int64 num_conflicts = 11;
::operations_research::sat::CpSolverSolution *PROTOBUF_NONNULL mutable_additional_solutions(int index)
void clear_objective_value()
double objective_value = 3;
const ::std::string & solution_info() const
bool has_integer_objective() const
.operations_research.sat.CpObjectiveProto integer_objective = 28;
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution > & additional_solutions() const
static constexpr auto InternalGenerateClassData_()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
void add_sufficient_assumptions_for_infeasibility(::int32_t value)
void set_num_binary_propagations(::int64_t value)
const ::std::string & solve_log() const
::operations_research::sat::IntegerVariableProto *PROTOBUF_NONNULL mutable_tightened_variables(int index)
::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution > *PROTOBUF_NONNULL mutable_additional_solutions()
int solution_size() const
repeated int64 solution = 2;
static const CpSolverResponse & default_instance()
void Swap(CpSolverResponse *PROTOBUF_NONNULL other)
void CopyFrom(const CpSolverResponse &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
int sufficient_assumptions_for_infeasibility_size() const
repeated int32 sufficient_assumptions_for_infeasibility = 23;
::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto > *PROTOBUF_NONNULL mutable_tightened_variables()
void MergeFrom(const CpSolverResponse &from)
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto > & tightened_variables() const
void clear_gap_integral()
double gap_integral = 22;
::std::string *PROTOBUF_NONNULL mutable_solve_log()
void clear_num_binary_propagations()
int64 num_binary_propagations = 13;
void set_allocated_integer_objective(::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_integer_objective(::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE value)
void clear_wall_time()
double wall_time = 15;
void set_num_integer_propagations(::int64_t value)
const ::google::protobuf::RepeatedField<::int32_t > & sufficient_assumptions_for_infeasibility() const
void clear_status()
.operations_research.sat.CpSolverStatus status = 1;
const ::operations_research::sat::CpObjectiveProto & integer_objective() const
void set_allocated_solve_log(::std::string *PROTOBUF_NULLABLE value)
friend class ::google::protobuf::Arena
void clear_num_branches()
int64 num_branches = 12;
::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE release_integer_objective()
friend void swap(CpSolverSolution &a, CpSolverSolution &b)
int values_size() const
repeated int64 values = 1;
CpSolverSolution *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static const CpSolverSolution & default_instance()
void Swap(CpSolverSolution *PROTOBUF_NONNULL other)
void MergeFrom(const CpSolverSolution &from)
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_values()
const ::google::protobuf::RepeatedField<::int64_t > & values() const
void set_values(int index, ::int64_t value)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_intervals()
friend class ::google::protobuf::MessageLite
void unsafe_arena_set_allocated_capacity(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
CumulativeConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
void set_allocated_capacity(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
static const CumulativeConstraintProto & default_instance()
::google::protobuf::Metadata GetMetadata() const
void CopyFrom(const CumulativeConstraintProto &from)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_demands()
const ::operations_research::sat::LinearExpressionProto & demands(int index) const
void MergeFrom(const CumulativeConstraintProto &from)
int intervals_size() const
repeated int32 intervals = 2;
int demands_size() const
repeated .operations_research.sat.LinearExpressionProto demands = 3;
bool has_capacity() const
.operations_research.sat.LinearExpressionProto capacity = 1;
void Swap(CumulativeConstraintProto *PROTOBUF_NONNULL other)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE unsafe_arena_release_capacity()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_demands(int index)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_capacity()
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & demands() const
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
void set_intervals(int index, ::int32_t value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::operations_research::sat::LinearExpressionProto & capacity() const
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_demands()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE release_capacity()
const ::google::protobuf::RepeatedField<::int32_t > & intervals() const
static constexpr DomainReductionStrategy SELECT_MAX_VALUE
static bool DomainReductionStrategy_Parse(::absl::string_view name, DomainReductionStrategy *PROTOBUF_NONNULL value)
DecisionStrategyProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_exprs(int index)
int variables_size() const
repeated int32 variables = 1;
static constexpr DomainReductionStrategy SELECT_MIN_VALUE
::google::protobuf::Metadata GetMetadata() const
DecisionStrategyProto_DomainReductionStrategy DomainReductionStrategy
::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy variable_selection_strategy() const
static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX
void Swap(DecisionStrategyProto *PROTOBUF_NONNULL other)
void set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_variables()
static constexpr VariableSelectionStrategy CHOOSE_FIRST
static constexpr DomainReductionStrategy DomainReductionStrategy_MIN
int exprs_size() const
repeated .operations_research.sat.LinearExpressionProto exprs = 5;
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE
static constexpr DomainReductionStrategy SELECT_UPPER_HALF
void clear_variable_selection_strategy()
.operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy ...
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy domain_reduction_strategy() const
static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN
void set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value)
void MergeFrom(const DecisionStrategyProto &from)
static const ::std::string & DomainReductionStrategy_Name(T value)
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & exprs() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
DecisionStrategyProto_VariableSelectionStrategy VariableSelectionStrategy
nested types -------------------------------------------------—
static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_exprs()
void set_variables(int index, ::int32_t value)
static constexpr DomainReductionStrategy DomainReductionStrategy_MAX
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL DomainReductionStrategy_descriptor()
static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE
static constexpr DomainReductionStrategy SELECT_LOWER_HALF
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_exprs()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
const ::google::protobuf::RepeatedField<::int32_t > & variables() const
void clear_domain_reduction_strategy()
.operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
static constexpr DomainReductionStrategy SELECT_RANDOM_HALF
static bool VariableSelectionStrategy_IsValid(int value)
::google::protobuf::Metadata GetMetadata() const
void Swap(DenseMatrixProto *PROTOBUF_NONNULL other)
static const DenseMatrixProto & default_instance()
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_entries()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static constexpr auto InternalGenerateClassData_()
void CopyFrom(const DenseMatrixProto &from)
void set_entries(int index, ::int32_t value)
void MergeFrom(const DenseMatrixProto &from)
const ::google::protobuf::RepeatedField<::int32_t > & entries() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
int entries_size() const
repeated int32 entries = 3;
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
void Swap(ElementConstraintProto *PROTOBUF_NONNULL other)
int vars_size() const
repeated int32 vars = 3;
void MergeFrom(const ElementConstraintProto &from)
static const ElementConstraintProto & default_instance()
int exprs_size() const
repeated .operations_research.sat.LinearExpressionProto exprs = 6;
void unsafe_arena_set_allocated_linear_index(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_exprs()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE release_linear_target()
void set_vars(int index, ::int32_t value)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE unsafe_arena_release_linear_index()
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_exprs()
ElementConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
void set_allocated_linear_target(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
void UnsafeArenaSwap(ElementConstraintProto *PROTOBUF_NONNULL other)
const ::operations_research::sat::LinearExpressionProto & linear_target() const
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & exprs() const
void set_allocated_linear_index(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
bool has_linear_index() const
.operations_research.sat.LinearExpressionProto linear_index = 4;
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_exprs(int index)
bool has_linear_target() const
.operations_research.sat.LinearExpressionProto linear_target = 5;
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE release_linear_index()
const ::operations_research::sat::LinearExpressionProto & linear_index() const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_linear_index()
ElementConstraintProto & operator=(const ElementConstraintProto &from)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE unsafe_arena_release_linear_target()
::google::protobuf::Metadata GetMetadata() const
void unsafe_arena_set_allocated_linear_target(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_linear_target()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
static const FloatObjectiveProto & default_instance()
::google::protobuf::RepeatedField< double > *PROTOBUF_NONNULL mutable_coeffs()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const FloatObjectiveProto &from)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
friend void swap(FloatObjectiveProto &a, FloatObjectiveProto &b)
void Swap(FloatObjectiveProto *PROTOBUF_NONNULL other)
int vars_size() const
repeated int32 vars = 1;
::google::protobuf::Metadata GetMetadata() const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
void set_vars(int index, ::int32_t value)
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
const ::google::protobuf::RepeatedField< double > & coeffs() const
int coeffs_size() const
repeated double coeffs = 2;
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const FloatObjectiveProto &from)
void set_coeffs(int index, double value)
::std::string *PROTOBUF_NONNULL mutable_name()
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_domain()
void UnsafeArenaSwap(IntegerVariableProto *PROTOBUF_NONNULL other)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
int domain_size() const
repeated int64 domain = 2;
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::RepeatedField<::int64_t > & domain() const
void Swap(IntegerVariableProto *PROTOBUF_NONNULL other)
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void set_domain(int index, ::int64_t value)
void set_name(Arg_ &&arg, Args_... args)
::std::string *PROTOBUF_NULLABLE release_name()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_allocated_name(::std::string *PROTOBUF_NULLABLE value)
::google::protobuf::Metadata GetMetadata() const
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_start()
bool has_start() const
.operations_research.sat.LinearExpressionProto start = 4;
bool has_size() const
.operations_research.sat.LinearExpressionProto size = 6;
static const IntervalConstraintProto & default_instance()
bool has_end() const
.operations_research.sat.LinearExpressionProto end = 5;
void MergeFrom(const IntervalConstraintProto &from)
void Swap(IntervalConstraintProto *PROTOBUF_NONNULL other)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE unsafe_arena_release_end()
void set_allocated_start(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_end(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE release_size()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_size()
void set_allocated_size(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_size(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
void CopyFrom(const IntervalConstraintProto &from)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_end()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE release_end()
void unsafe_arena_set_allocated_start(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
const ::operations_research::sat::LinearExpressionProto & size() const
const ::operations_research::sat::LinearExpressionProto & end() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE unsafe_arena_release_start()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::Metadata GetMetadata() const
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE unsafe_arena_release_size()
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE release_start()
const ::operations_research::sat::LinearExpressionProto & start() const
IntervalConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
void set_allocated_end(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void Swap(InverseConstraintProto *PROTOBUF_NONNULL other)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
int f_direct_size() const
repeated int32 f_direct = 1;
::google::protobuf::Metadata GetMetadata() const
void set_f_direct(int index, ::int32_t value)
int f_inverse_size() const
repeated int32 f_inverse = 2;
void CopyFrom(const InverseConstraintProto &from)
const ::google::protobuf::RepeatedField<::int32_t > & f_inverse() const
void UnsafeArenaSwap(InverseConstraintProto *PROTOBUF_NONNULL other)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static const InverseConstraintProto & default_instance()
void set_f_inverse(int index, ::int32_t value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
InverseConstraintProto & operator=(const InverseConstraintProto &from)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_f_direct()
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_f_inverse()
const ::google::protobuf::RepeatedField<::int32_t > & f_direct() const
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_target()
LinearArgumentProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const LinearArgumentProto &from)
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & exprs() const
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_exprs()
void unsafe_arena_set_allocated_target(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE release_target()
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_exprs()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE unsafe_arena_release_target()
::google::protobuf::Metadata GetMetadata() const
int exprs_size() const
repeated .operations_research.sat.LinearExpressionProto exprs = 2;
const ::operations_research::sat::LinearExpressionProto & target() const
bool has_target() const
.operations_research.sat.LinearExpressionProto target = 1;
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void Swap(LinearArgumentProto *PROTOBUF_NONNULL other)
void set_allocated_target(::operations_research::sat::LinearExpressionProto *PROTOBUF_NULLABLE value)
friend class ::google::protobuf::Arena
void CopyFrom(const LinearArgumentProto &from)
void Swap(LinearConstraintProto *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
const ::google::protobuf::RepeatedField<::int64_t > & domain() const
void UnsafeArenaSwap(LinearConstraintProto *PROTOBUF_NONNULL other)
void set_vars(int index, ::int32_t value)
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_coeffs()
int vars_size() const
repeated int32 vars = 1;
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
LinearConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
int coeffs_size() const
repeated int64 coeffs = 2;
void set_domain(int index, ::int64_t value)
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
static const LinearConstraintProto & default_instance()
int domain_size() const
repeated int64 domain = 3;
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_domain()
void set_coeffs(int index, ::int64_t value)
friend class ::google::protobuf::Arena
const ::google::protobuf::RepeatedField<::int64_t > & coeffs() const
static const LinearExpressionProto & default_instance()
LinearExpressionProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
::google::protobuf::Metadata GetMetadata() const
LinearExpressionProto & operator=(const LinearExpressionProto &from)
void set_vars(int index, ::int32_t value)
const ::google::protobuf::RepeatedField<::int64_t > & coeffs() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void Swap(LinearExpressionProto *PROTOBUF_NONNULL other)
void set_coeffs(int index, ::int64_t value)
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_coeffs()
int coeffs_size() const
repeated int64 coeffs = 2;
int vars_size() const
repeated int32 vars = 1;
friend class ::google::protobuf::Arena
void Swap(ListOfVariablesProto *PROTOBUF_NONNULL other)
static const ListOfVariablesProto & default_instance()
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const ListOfVariablesProto &from)
ListOfVariablesProto & operator=(const ListOfVariablesProto &from)
void set_vars(int index, ::int32_t value)
void CopyFrom(const ListOfVariablesProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
ListOfVariablesProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
int vars_size() const
repeated int32 vars = 1;
friend class ::google::protobuf::Arena
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
int y_intervals_size() const
repeated int32 y_intervals = 2;
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
NoOverlap2DConstraintProto & operator=(const NoOverlap2DConstraintProto &from)
const ::google::protobuf::RepeatedField<::int32_t > & y_intervals() const
void MergeFrom(const NoOverlap2DConstraintProto &from)
void Swap(NoOverlap2DConstraintProto *PROTOBUF_NONNULL other)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_y_intervals()
void set_x_intervals(int index, ::int32_t value)
void CopyFrom(const NoOverlap2DConstraintProto &from)
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void set_y_intervals(int index, ::int32_t value)
int x_intervals_size() const
repeated int32 x_intervals = 1;
const ::google::protobuf::RepeatedField<::int32_t > & x_intervals() const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_x_intervals()
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
NoOverlap2DConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
friend class ::google::protobuf::MessageLite
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
int intervals_size() const
repeated int32 intervals = 1;
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_intervals()
PROTOBUF_CONSTEXPR NoOverlapConstraintProto(::google::protobuf::internal::ConstantInitialized)
static const NoOverlapConstraintProto & default_instance()
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
void CopyFrom(const NoOverlapConstraintProto &from)
void set_intervals(int index, ::int32_t value)
void Swap(NoOverlapConstraintProto *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedField<::int32_t > & intervals() const
NoOverlapConstraintProto & operator=(const NoOverlapConstraintProto &from)
void MergeFrom(const NoOverlapConstraintProto &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_values()
friend class ::google::protobuf::MessageLite
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
void Swap(PartialVariableAssignment *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
int vars_size() const
repeated int32 vars = 1;
const ::google::protobuf::RepeatedField<::int64_t > & values() const
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
void MergeFrom(const PartialVariableAssignment &from)
static const PartialVariableAssignment & default_instance()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
int values_size() const
repeated int64 values = 2;
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
PROTOBUF_CONSTEXPR PartialVariableAssignment(::google::protobuf::internal::ConstantInitialized)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const PartialVariableAssignment &from)
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & level_changes() const
int level_changes_size() const
repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
void Swap(ReservoirConstraintProto *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedField<::int32_t > & active_literals() const
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_time_exprs()
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_level_changes()
int active_literals_size() const
repeated int32 active_literals = 5;
void MergeFrom(const ReservoirConstraintProto &from)
void CopyFrom(const ReservoirConstraintProto &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & time_exprs() const
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
int time_exprs_size() const
repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_time_exprs()
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_active_literals()
void UnsafeArenaSwap(ReservoirConstraintProto *PROTOBUF_NONNULL other)
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
ReservoirConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_level_changes(int index)
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_level_changes()
const ::operations_research::sat::LinearExpressionProto & time_exprs(int index) const
::google::protobuf::Metadata GetMetadata() const
const ::operations_research::sat::LinearExpressionProto & level_changes(int index) const
ReservoirConstraintProto & operator=(const ReservoirConstraintProto &from)
void set_active_literals(int index, ::int32_t value)
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_exprs()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & exprs() const
RoutesConstraintProto_NodeExpressions & operator=(const RoutesConstraintProto_NodeExpressions &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
RoutesConstraintProto_NodeExpressions *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
int exprs_size() const
repeated .operations_research.sat.LinearExpressionProto exprs = 1;
friend void swap(RoutesConstraintProto_NodeExpressions &a, RoutesConstraintProto_NodeExpressions &b)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_exprs()
void Swap(RoutesConstraintProto_NodeExpressions *PROTOBUF_NONNULL other)
void CopyFrom(const RoutesConstraintProto_NodeExpressions &from)
void MergeFrom(const RoutesConstraintProto_NodeExpressions &from)
const ::google::protobuf::RepeatedField<::int32_t > & tails() const
void set_literals(int index, ::int32_t value)
void CopyFrom(const RoutesConstraintProto &from)
const ::operations_research::sat::RoutesConstraintProto_NodeExpressions & dimensions(int index) const
::operations_research::sat::RoutesConstraintProto_NodeExpressions *PROTOBUF_NONNULL add_dimensions()
const ::google::protobuf::RepeatedField<::int32_t > & heads() const
int literals_size() const
repeated int32 literals = 3;
RoutesConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
int dimensions_size() const
repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_heads()
int heads_size() const
repeated int32 heads = 2;
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_literals()
void set_heads(int index, ::int32_t value)
void set_demands(int index, ::int32_t value)
static const RoutesConstraintProto & default_instance()
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::operations_research::sat::RoutesConstraintProto_NodeExpressions *PROTOBUF_NONNULL mutable_dimensions(int index)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_demands()
::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions > *PROTOBUF_NONNULL mutable_dimensions()
void MergeFrom(const RoutesConstraintProto &from)
int demands_size() const
repeated int32 demands = 4;
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions > & dimensions() const
int tails_size() const
repeated int32 tails = 1;
void set_tails(int index, ::int32_t value)
RoutesConstraintProto_NodeExpressions NodeExpressions
nested types -------------------------------------------------—
void Swap(RoutesConstraintProto *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedField<::int32_t > & literals() const
const ::google::protobuf::RepeatedField<::int32_t > & demands() const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_tails()
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_cycle_sizes()
friend class ::google::protobuf::MessageLite
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
int cycle_sizes_size() const
repeated int32 cycle_sizes = 2;
const ::google::protobuf::RepeatedField<::int32_t > & cycle_sizes() const
void CopyFrom(const SparsePermutationProto &from)
PROTOBUF_CONSTEXPR SparsePermutationProto(::google::protobuf::internal::ConstantInitialized)
void set_cycle_sizes(int index, ::int32_t value)
void Swap(SparsePermutationProto *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedField<::int32_t > & support() const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_support()
SparsePermutationProto(::google::protobuf::Arena *PROTOBUF_NULLABLE arena, SparsePermutationProto &&from) noexcept
int support_size() const
repeated int32 support = 1;
SparsePermutationProto & operator=(const SparsePermutationProto &from)
SparsePermutationProto(const SparsePermutationProto &from)
void set_support(int index, ::int32_t value)
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
static const SymmetryProto & default_instance()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
const ::operations_research::sat::SparsePermutationProto & permutations(int index) const
const ::operations_research::sat::DenseMatrixProto & orbitopes(int index) const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
SymmetryProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto > *PROTOBUF_NONNULL mutable_permutations()
void Swap(SymmetryProto *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto > & permutations() const
::operations_research::sat::SparsePermutationProto *PROTOBUF_NONNULL add_permutations()
friend void swap(SymmetryProto &a, SymmetryProto &b)
::operations_research::sat::DenseMatrixProto *PROTOBUF_NONNULL mutable_orbitopes(int index)
::operations_research::sat::DenseMatrixProto *PROTOBUF_NONNULL add_orbitopes()
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto > & orbitopes() const
::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto > *PROTOBUF_NONNULL mutable_orbitopes()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
int orbitopes_size() const
repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
int permutations_size() const
repeated .operations_research.sat.SparsePermutationProto permutations = 1;
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_exprs(int index)
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_values()
TableConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
void UnsafeArenaSwap(TableConstraintProto *PROTOBUF_NONNULL other)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const TableConstraintProto &from)
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
void set_vars(int index, ::int32_t value)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL add_exprs()
int vars_size() const
repeated int32 vars = 1;
void Swap(TableConstraintProto *PROTOBUF_NONNULL other)
void set_values(int index, ::int64_t value)
int values_size() const
repeated int64 values = 2;
int exprs_size() const
repeated .operations_research.sat.LinearExpressionProto exprs = 4;
const ::google::protobuf::RepeatedField<::int64_t > & values() const
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & exprs() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_exprs()
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::sat::CpSolverStatus >()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AllDifferentConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpObjectiveProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PartialVariableAssignment_class_data_
constexpr CpSolverStatus CpSolverStatus_MIN
PROTOBUF_CONSTINIT const uint32_t CpSolverStatus_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpSolverResponse_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull DenseMatrixProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BoolArgumentProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CircuitConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_RANDOM_HALF
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL CpSolverStatus_descriptor()
const ::std::string & DecisionStrategyProto_DomainReductionStrategy_Name(T value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull NoOverlap2DConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FloatObjectiveProtoDefaultTypeInternal _FloatObjectiveProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
const ::std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T value)
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(::absl::string_view name, DecisionStrategyProto_VariableSelectionStrategy *PROTOBUF_NONNULL value)
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull FloatObjectiveProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpSolverSolution_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CumulativeConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AutomatonConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutesConstraintProto_class_data_
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
bool DecisionStrategyProto_DomainReductionStrategy_Parse(::absl::string_view name, DecisionStrategyProto_DomainReductionStrategy *PROTOBUF_NONNULL value)
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL DecisionStrategyProto_DomainReductionStrategy_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull DecisionStrategyProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IntegerVariableProto_class_data_
bool CpSolverStatus_IsValid(int value)
const ::std::string & CpSolverStatus_Name(T value)
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
bool CpSolverStatus_Parse(::absl::string_view name, CpSolverStatus *PROTOBUF_NONNULL value)
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutesConstraintProto_NodeExpressions_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull TableConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearExpressionProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SparsePermutationProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpModelProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ReservoirConstraintProto_class_data_
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpSolverSolutionDefaultTypeInternal _CpSolverSolution_default_instance_
constexpr CpSolverStatus CpSolverStatus_MAX
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull NoOverlapConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ListOfVariablesProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ElementConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull InverseConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearArgumentProto_class_data_
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutesConstraintProto_NodeExpressionsDefaultTypeInternal _RoutesConstraintProto_NodeExpressions_default_instance_
PROTOBUF_CONSTINIT const uint32_t DecisionStrategyProto_VariableSelectionStrategy_internal_data_[]
PROTOBUF_CONSTINIT const uint32_t DecisionStrategyProto_DomainReductionStrategy_internal_data_[]
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
constexpr int CpSolverStatus_ARRAYSIZE
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SymmetryProto_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL DecisionStrategyProto_VariableSelectionStrategy_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IntervalConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ConstraintProto_class_data_
In SWIG mode, we don't want anything besides these top-level includes.
Internal implementation detail – do not use these members.
Definition cp_model.pb.h:50
::google::protobuf::Message *PROTOBUF_NULLABLE lin_max_
::google::protobuf::Message *PROTOBUF_NULLABLE int_mod_
::google::protobuf::Message *PROTOBUF_NULLABLE table_
::google::protobuf::Message *PROTOBUF_NULLABLE no_overlap_2d_
::google::protobuf::Message *PROTOBUF_NULLABLE routes_
::google::protobuf::Message *PROTOBUF_NULLABLE automaton_
::google::protobuf::Message *PROTOBUF_NULLABLE exactly_one_
::google::protobuf::Message *PROTOBUF_NULLABLE interval_
::google::protobuf::Message *PROTOBUF_NULLABLE bool_or_
::google::protobuf::Message *PROTOBUF_NULLABLE element_
::google::protobuf::Message *PROTOBUF_NULLABLE no_overlap_
::google::protobuf::Message *PROTOBUF_NULLABLE circuit_
::google::protobuf::Message *PROTOBUF_NULLABLE int_prod_
::google::protobuf::Message *PROTOBUF_NULLABLE all_diff_
::google::protobuf::Message *PROTOBUF_NULLABLE linear_
::google::protobuf::Message *PROTOBUF_NULLABLE reservoir_
::google::protobuf::Message *PROTOBUF_NULLABLE dummy_constraint_
::google::protobuf::Message *PROTOBUF_NULLABLE int_div_
::google::protobuf::Message *PROTOBUF_NULLABLE bool_and_
::google::protobuf::Message *PROTOBUF_NULLABLE bool_xor_
::google::protobuf::Message *PROTOBUF_NULLABLE inverse_
::google::protobuf::Message *PROTOBUF_NULLABLE at_most_one_
::google::protobuf::Message *PROTOBUF_NULLABLE cumulative_