Google OR-Tools v9.15
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.33.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 != 6033001
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 explicit SparsePermutationProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
448 SparsePermutationProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SparsePermutationProto& from);
450 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SparsePermutationProto&& from) noexcept
451 : SparsePermutationProto(arena) {
452 *this = ::std::move(from);
453 }
454 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
455 static void* PROTOBUF_NONNULL PlacementNew_(
456 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
457 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
458 static constexpr auto InternalNewImpl_();
459
460 public:
461 static constexpr auto InternalGenerateClassData_();
462
463 ::google::protobuf::Metadata GetMetadata() const;
464 // nested types ----------------------------------------------------
465
466 // accessors -------------------------------------------------------
467 enum : int {
468 kSupportFieldNumber = 1,
469 kCycleSizesFieldNumber = 2,
470 };
471 // repeated int32 support = 1;
472 int support_size() const;
473 private:
474 int _internal_support_size() const;
475
476 public:
477 void clear_support() ;
478 ::int32_t support(int index) const;
479 void set_support(int index, ::int32_t value);
480 void add_support(::int32_t value);
481 const ::google::protobuf::RepeatedField<::int32_t>& support() const;
482 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_support();
483
484 private:
485 const ::google::protobuf::RepeatedField<::int32_t>& _internal_support() const;
486 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_support();
487
488 public:
489 // repeated int32 cycle_sizes = 2;
490 int cycle_sizes_size() const;
491 private:
492 int _internal_cycle_sizes_size() const;
493
494 public:
495 void clear_cycle_sizes() ;
496 ::int32_t cycle_sizes(int index) const;
497 void set_cycle_sizes(int index, ::int32_t value);
498 void add_cycle_sizes(::int32_t value);
499 const ::google::protobuf::RepeatedField<::int32_t>& cycle_sizes() const;
500 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_cycle_sizes();
501
502 private:
503 const ::google::protobuf::RepeatedField<::int32_t>& _internal_cycle_sizes() const;
504 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_cycle_sizes();
505
506 public:
507 // @@protoc_insertion_point(class_scope:operations_research.sat.SparsePermutationProto)
508 private:
509 class _Internal;
510 friend class ::google::protobuf::internal::TcParser;
511 static const ::google::protobuf::internal::TcParseTable<1, 2,
512 0, 0,
513 2>
514 _table_;
515
516 friend class ::google::protobuf::MessageLite;
517 friend class ::google::protobuf::Arena;
518 template <typename T>
519 friend class ::google::protobuf::Arena::InternalHelper;
520 using InternalArenaConstructable_ = void;
521 using DestructorSkippable_ = void;
522 struct Impl_ {
523 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
524 inline explicit Impl_(
525 ::google::protobuf::internal::InternalVisibility visibility,
526 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
527 inline explicit Impl_(
528 ::google::protobuf::internal::InternalVisibility visibility,
529 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
530 const SparsePermutationProto& from_msg);
531 ::google::protobuf::internal::HasBits<1> _has_bits_;
532 ::google::protobuf::internal::CachedSize _cached_size_;
533 ::google::protobuf::RepeatedField<::int32_t> support_;
534 ::google::protobuf::internal::CachedSize _support_cached_byte_size_;
535 ::google::protobuf::RepeatedField<::int32_t> cycle_sizes_;
536 ::google::protobuf::internal::CachedSize _cycle_sizes_cached_byte_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 explicit PartialVariableAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
668 PartialVariableAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PartialVariableAssignment& from);
670 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PartialVariableAssignment&& from) noexcept
672 *this = ::std::move(from);
673 }
674 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
675 static void* PROTOBUF_NONNULL PlacementNew_(
676 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
677 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
678 static constexpr auto InternalNewImpl_();
679
680 public:
681 static constexpr auto InternalGenerateClassData_();
682
683 ::google::protobuf::Metadata GetMetadata() const;
684 // nested types ----------------------------------------------------
685
686 // accessors -------------------------------------------------------
687 enum : int {
688 kVarsFieldNumber = 1,
689 kValuesFieldNumber = 2,
690 };
691 // repeated int32 vars = 1;
692 int vars_size() const;
693 private:
694 int _internal_vars_size() const;
695
696 public:
697 void clear_vars() ;
698 ::int32_t vars(int index) const;
699 void set_vars(int index, ::int32_t value);
700 void add_vars(::int32_t value);
701 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
702 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
703
704 private:
705 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
706 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
707
708 public:
709 // repeated int64 values = 2;
710 int values_size() const;
711 private:
712 int _internal_values_size() const;
713
714 public:
715 void clear_values() ;
716 ::int64_t values(int index) const;
717 void set_values(int index, ::int64_t value);
718 void add_values(::int64_t value);
719 const ::google::protobuf::RepeatedField<::int64_t>& values() const;
720 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_values();
721
722 private:
723 const ::google::protobuf::RepeatedField<::int64_t>& _internal_values() const;
724 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_values();
725
726 public:
727 // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
728 private:
729 class _Internal;
730 friend class ::google::protobuf::internal::TcParser;
731 static const ::google::protobuf::internal::TcParseTable<1, 2,
732 0, 0,
733 2>
734 _table_;
735
736 friend class ::google::protobuf::MessageLite;
737 friend class ::google::protobuf::Arena;
738 template <typename T>
739 friend class ::google::protobuf::Arena::InternalHelper;
740 using InternalArenaConstructable_ = void;
741 using DestructorSkippable_ = void;
742 struct Impl_ {
743 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
744 inline explicit Impl_(
745 ::google::protobuf::internal::InternalVisibility visibility,
746 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
747 inline explicit Impl_(
748 ::google::protobuf::internal::InternalVisibility visibility,
749 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
750 const PartialVariableAssignment& from_msg);
751 ::google::protobuf::internal::HasBits<1> _has_bits_;
752 ::google::protobuf::internal::CachedSize _cached_size_;
753 ::google::protobuf::RepeatedField<::int32_t> vars_;
754 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
755 ::google::protobuf::RepeatedField<::int64_t> values_;
756 ::google::protobuf::internal::CachedSize _values_cached_byte_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 explicit NoOverlapConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
888 NoOverlapConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NoOverlapConstraintProto& from);
890 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NoOverlapConstraintProto&& from) noexcept
891 : NoOverlapConstraintProto(arena) {
892 *this = ::std::move(from);
893 }
894 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
895 static void* PROTOBUF_NONNULL PlacementNew_(
896 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
897 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
898 static constexpr auto InternalNewImpl_();
899
900 public:
901 static constexpr auto InternalGenerateClassData_();
902
903 ::google::protobuf::Metadata GetMetadata() const;
904 // nested types ----------------------------------------------------
905
906 // accessors -------------------------------------------------------
907 enum : int {
908 kIntervalsFieldNumber = 1,
909 };
910 // repeated int32 intervals = 1;
911 int intervals_size() const;
912 private:
913 int _internal_intervals_size() const;
914
915 public:
916 void clear_intervals() ;
917 ::int32_t intervals(int index) const;
918 void set_intervals(int index, ::int32_t value);
919 void add_intervals(::int32_t value);
920 const ::google::protobuf::RepeatedField<::int32_t>& intervals() const;
921 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_intervals();
922
923 private:
924 const ::google::protobuf::RepeatedField<::int32_t>& _internal_intervals() const;
925 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_intervals();
926
927 public:
928 // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
929 private:
930 class _Internal;
931 friend class ::google::protobuf::internal::TcParser;
932 static const ::google::protobuf::internal::TcParseTable<0, 1,
933 0, 0,
934 2>
935 _table_;
936
937 friend class ::google::protobuf::MessageLite;
938 friend class ::google::protobuf::Arena;
939 template <typename T>
940 friend class ::google::protobuf::Arena::InternalHelper;
941 using InternalArenaConstructable_ = void;
942 using DestructorSkippable_ = void;
943 struct Impl_ {
944 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
945 inline explicit Impl_(
946 ::google::protobuf::internal::InternalVisibility visibility,
947 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
948 inline explicit Impl_(
949 ::google::protobuf::internal::InternalVisibility visibility,
950 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
951 const NoOverlapConstraintProto& from_msg);
952 ::google::protobuf::internal::HasBits<1> _has_bits_;
953 ::google::protobuf::internal::CachedSize _cached_size_;
954 ::google::protobuf::RepeatedField<::int32_t> intervals_;
955 ::google::protobuf::internal::CachedSize _intervals_cached_byte_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 explicit NoOverlap2DConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1087 NoOverlap2DConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NoOverlap2DConstraintProto& from);
1089 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NoOverlap2DConstraintProto&& from) noexcept
1091 *this = ::std::move(from);
1092 }
1093 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1094 static void* PROTOBUF_NONNULL PlacementNew_(
1095 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1096 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1097 static constexpr auto InternalNewImpl_();
1098
1099 public:
1100 static constexpr auto InternalGenerateClassData_();
1101
1102 ::google::protobuf::Metadata GetMetadata() const;
1103 // nested types ----------------------------------------------------
1104
1105 // accessors -------------------------------------------------------
1106 enum : int {
1107 kXIntervalsFieldNumber = 1,
1108 kYIntervalsFieldNumber = 2,
1109 };
1110 // repeated int32 x_intervals = 1;
1111 int x_intervals_size() const;
1112 private:
1113 int _internal_x_intervals_size() const;
1114
1115 public:
1116 void clear_x_intervals() ;
1117 ::int32_t x_intervals(int index) const;
1118 void set_x_intervals(int index, ::int32_t value);
1119 void add_x_intervals(::int32_t value);
1120 const ::google::protobuf::RepeatedField<::int32_t>& x_intervals() const;
1121 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_x_intervals();
1122
1123 private:
1124 const ::google::protobuf::RepeatedField<::int32_t>& _internal_x_intervals() const;
1125 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_x_intervals();
1126
1127 public:
1128 // repeated int32 y_intervals = 2;
1129 int y_intervals_size() const;
1130 private:
1131 int _internal_y_intervals_size() const;
1132
1133 public:
1134 void clear_y_intervals() ;
1135 ::int32_t y_intervals(int index) const;
1136 void set_y_intervals(int index, ::int32_t value);
1137 void add_y_intervals(::int32_t value);
1138 const ::google::protobuf::RepeatedField<::int32_t>& y_intervals() const;
1139 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_y_intervals();
1140
1141 private:
1142 const ::google::protobuf::RepeatedField<::int32_t>& _internal_y_intervals() const;
1143 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_y_intervals();
1144
1145 public:
1146 // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
1147 private:
1148 class _Internal;
1149 friend class ::google::protobuf::internal::TcParser;
1150 static const ::google::protobuf::internal::TcParseTable<1, 2,
1151 0, 0,
1152 2>
1153 _table_;
1155 friend class ::google::protobuf::MessageLite;
1156 friend class ::google::protobuf::Arena;
1157 template <typename T>
1158 friend class ::google::protobuf::Arena::InternalHelper;
1159 using InternalArenaConstructable_ = void;
1160 using DestructorSkippable_ = void;
1161 struct Impl_ {
1162 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1163 inline explicit Impl_(
1164 ::google::protobuf::internal::InternalVisibility visibility,
1165 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1166 inline explicit Impl_(
1167 ::google::protobuf::internal::InternalVisibility visibility,
1168 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1169 const NoOverlap2DConstraintProto& from_msg);
1170 ::google::protobuf::internal::HasBits<1> _has_bits_;
1171 ::google::protobuf::internal::CachedSize _cached_size_;
1172 ::google::protobuf::RepeatedField<::int32_t> x_intervals_;
1173 ::google::protobuf::internal::CachedSize _x_intervals_cached_byte_size_;
1174 ::google::protobuf::RepeatedField<::int32_t> y_intervals_;
1175 ::google::protobuf::internal::CachedSize _y_intervals_cached_byte_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 explicit ListOfVariablesProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1307 ListOfVariablesProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListOfVariablesProto& from);
1309 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListOfVariablesProto&& from) noexcept
1310 : ListOfVariablesProto(arena) {
1311 *this = ::std::move(from);
1312 }
1313 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1314 static void* PROTOBUF_NONNULL PlacementNew_(
1315 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1316 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1317 static constexpr auto InternalNewImpl_();
1318
1319 public:
1320 static constexpr auto InternalGenerateClassData_();
1321
1322 ::google::protobuf::Metadata GetMetadata() const;
1323 // nested types ----------------------------------------------------
1324
1325 // accessors -------------------------------------------------------
1326 enum : int {
1327 kVarsFieldNumber = 1,
1328 };
1329 // repeated int32 vars = 1;
1330 int vars_size() const;
1331 private:
1332 int _internal_vars_size() const;
1334 public:
1335 void clear_vars() ;
1336 ::int32_t vars(int index) const;
1337 void set_vars(int index, ::int32_t value);
1338 void add_vars(::int32_t value);
1339 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
1340 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
1341
1342 private:
1343 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
1344 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
1345
1346 public:
1347 // @@protoc_insertion_point(class_scope:operations_research.sat.ListOfVariablesProto)
1348 private:
1349 class _Internal;
1350 friend class ::google::protobuf::internal::TcParser;
1351 static const ::google::protobuf::internal::TcParseTable<0, 1,
1352 0, 0,
1353 2>
1354 _table_;
1355
1356 friend class ::google::protobuf::MessageLite;
1357 friend class ::google::protobuf::Arena;
1358 template <typename T>
1359 friend class ::google::protobuf::Arena::InternalHelper;
1360 using InternalArenaConstructable_ = void;
1361 using DestructorSkippable_ = void;
1362 struct Impl_ {
1363 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1364 inline explicit Impl_(
1365 ::google::protobuf::internal::InternalVisibility visibility,
1366 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1367 inline explicit Impl_(
1368 ::google::protobuf::internal::InternalVisibility visibility,
1369 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1370 const ListOfVariablesProto& from_msg);
1371 ::google::protobuf::internal::HasBits<1> _has_bits_;
1372 ::google::protobuf::internal::CachedSize _cached_size_;
1373 ::google::protobuf::RepeatedField<::int32_t> vars_;
1374 ::google::protobuf::internal::CachedSize _vars_cached_byte_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 explicit LinearExpressionProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1506 LinearExpressionProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LinearExpressionProto& from);
1508 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LinearExpressionProto&& from) noexcept
1509 : LinearExpressionProto(arena) {
1510 *this = ::std::move(from);
1511 }
1512 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1513 static void* PROTOBUF_NONNULL PlacementNew_(
1514 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1515 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1516 static constexpr auto InternalNewImpl_();
1517
1518 public:
1519 static constexpr auto InternalGenerateClassData_();
1520
1521 ::google::protobuf::Metadata GetMetadata() const;
1522 // nested types ----------------------------------------------------
1523
1524 // accessors -------------------------------------------------------
1525 enum : int {
1526 kVarsFieldNumber = 1,
1527 kCoeffsFieldNumber = 2,
1528 kOffsetFieldNumber = 3,
1529 };
1530 // repeated int32 vars = 1;
1531 int vars_size() const;
1532 private:
1533 int _internal_vars_size() const;
1535 public:
1536 void clear_vars() ;
1537 ::int32_t vars(int index) const;
1538 void set_vars(int index, ::int32_t value);
1539 void add_vars(::int32_t value);
1540 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
1541 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
1542
1543 private:
1544 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
1545 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
1546
1547 public:
1548 // repeated int64 coeffs = 2;
1549 int coeffs_size() const;
1550 private:
1551 int _internal_coeffs_size() const;
1552
1553 public:
1554 void clear_coeffs() ;
1555 ::int64_t coeffs(int index) const;
1556 void set_coeffs(int index, ::int64_t value);
1557 void add_coeffs(::int64_t value);
1558 const ::google::protobuf::RepeatedField<::int64_t>& coeffs() const;
1559 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_coeffs();
1560
1561 private:
1562 const ::google::protobuf::RepeatedField<::int64_t>& _internal_coeffs() const;
1563 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_coeffs();
1564
1565 public:
1566 // int64 offset = 3;
1567 void clear_offset() ;
1568 ::int64_t offset() const;
1569 void set_offset(::int64_t value);
1570
1571 private:
1572 ::int64_t _internal_offset() const;
1573 void _internal_set_offset(::int64_t value);
1574
1575 public:
1576 // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
1577 private:
1578 class _Internal;
1579 friend class ::google::protobuf::internal::TcParser;
1580 static const ::google::protobuf::internal::TcParseTable<2, 3,
1581 0, 0,
1582 2>
1583 _table_;
1584
1585 friend class ::google::protobuf::MessageLite;
1586 friend class ::google::protobuf::Arena;
1587 template <typename T>
1588 friend class ::google::protobuf::Arena::InternalHelper;
1589 using InternalArenaConstructable_ = void;
1590 using DestructorSkippable_ = void;
1591 struct Impl_ {
1592 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1593 inline explicit Impl_(
1594 ::google::protobuf::internal::InternalVisibility visibility,
1595 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1596 inline explicit Impl_(
1597 ::google::protobuf::internal::InternalVisibility visibility,
1598 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1599 const LinearExpressionProto& from_msg);
1600 ::google::protobuf::internal::HasBits<1> _has_bits_;
1601 ::google::protobuf::internal::CachedSize _cached_size_;
1602 ::google::protobuf::RepeatedField<::int32_t> vars_;
1603 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
1604 ::google::protobuf::RepeatedField<::int64_t> coeffs_;
1605 ::google::protobuf::internal::CachedSize _coeffs_cached_byte_size_;
1606 ::int64_t offset_;
1607 PROTOBUF_TSAN_DECLARE_MEMBER
1608 };
1609 union { Impl_ _impl_; };
1610 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1611};
1612
1613OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearExpressionProto_class_data_;
1614// -------------------------------------------------------------------
1615
1616class OR_PROTO_DLL LinearConstraintProto final : public ::google::protobuf::Message
1617/* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1618 public:
1619 inline LinearConstraintProto() : LinearConstraintProto(nullptr) {}
1620 ~LinearConstraintProto() PROTOBUF_FINAL;
1621
1622#if defined(PROTOBUF_CUSTOM_VTABLE)
1623 void operator delete(LinearConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1624 SharedDtor(*msg);
1625 ::google::protobuf::internal::SizedDelete(msg, sizeof(LinearConstraintProto));
1626 }
1627#endif
1628
1629 template <typename = void>
1630 explicit PROTOBUF_CONSTEXPR LinearConstraintProto(::google::protobuf::internal::ConstantInitialized);
1631
1632 inline LinearConstraintProto(const LinearConstraintProto& from) : LinearConstraintProto(nullptr, from) {}
1633 inline LinearConstraintProto(LinearConstraintProto&& from) noexcept
1634 : LinearConstraintProto(nullptr, ::std::move(from)) {}
1635 inline LinearConstraintProto& operator=(const LinearConstraintProto& from) {
1636 CopyFrom(from);
1637 return *this;
1639 inline LinearConstraintProto& operator=(LinearConstraintProto&& from) noexcept {
1640 if (this == &from) return *this;
1641 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1642 InternalSwap(&from);
1643 } else {
1644 CopyFrom(from);
1645 }
1646 return *this;
1648
1649 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1650 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1651 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1652 }
1653 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1654 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1655 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1656 }
1658 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1659 return GetDescriptor();
1660 }
1661 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1662 return default_instance().GetMetadata().descriptor;
1663 }
1664 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1665 return default_instance().GetMetadata().reflection;
1667 static const LinearConstraintProto& default_instance() {
1668 return *reinterpret_cast<const LinearConstraintProto*>(
1670 }
1671 static constexpr int kIndexInFileMessages = 5;
1673 inline void Swap(LinearConstraintProto* PROTOBUF_NONNULL other) {
1674 if (other == this) return;
1675 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1676 InternalSwap(other);
1677 } else {
1678 ::google::protobuf::internal::GenericSwap(this, other);
1681 void UnsafeArenaSwap(LinearConstraintProto* PROTOBUF_NONNULL other) {
1682 if (other == this) return;
1683 ABSL_DCHECK(GetArena() == other->GetArena());
1684 InternalSwap(other);
1685 }
1686
1687 // implements Message ----------------------------------------------
1688
1689 LinearConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1690 return ::google::protobuf::Message::DefaultConstruct<LinearConstraintProto>(arena);
1691 }
1692 using ::google::protobuf::Message::CopyFrom;
1693 void CopyFrom(const LinearConstraintProto& from);
1694 using ::google::protobuf::Message::MergeFrom;
1695 void MergeFrom(const LinearConstraintProto& from) { LinearConstraintProto::MergeImpl(*this, from); }
1696
1697 private:
1698 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1699 const ::google::protobuf::MessageLite& from_msg);
1700
1701 public:
1702 bool IsInitialized() const {
1703 return true;
1704 }
1705 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1706 #if defined(PROTOBUF_CUSTOM_VTABLE)
1707 private:
1708 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1709 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1710 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1711 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1712
1713 public:
1714 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1715 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1716 ::uint8_t* PROTOBUF_NONNULL target,
1717 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1718 return _InternalSerialize(*this, target, stream);
1719 }
1720 #else // PROTOBUF_CUSTOM_VTABLE
1721 ::size_t ByteSizeLong() const final;
1722 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1723 ::uint8_t* PROTOBUF_NONNULL target,
1724 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1725 #endif // PROTOBUF_CUSTOM_VTABLE
1726 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1727
1728 private:
1729 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1730 static void SharedDtor(MessageLite& self);
1731 void InternalSwap(LinearConstraintProto* PROTOBUF_NONNULL other);
1732 private:
1733 template <typename T>
1735 static ::absl::string_view FullMessageName() { return "operations_research.sat.LinearConstraintProto"; }
1736
1737 explicit LinearConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1738 LinearConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LinearConstraintProto& from);
1740 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LinearConstraintProto&& from) noexcept
1741 : LinearConstraintProto(arena) {
1742 *this = ::std::move(from);
1743 }
1744 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1745 static void* PROTOBUF_NONNULL PlacementNew_(
1746 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1747 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1748 static constexpr auto InternalNewImpl_();
1749
1750 public:
1751 static constexpr auto InternalGenerateClassData_();
1752
1753 ::google::protobuf::Metadata GetMetadata() const;
1754 // nested types ----------------------------------------------------
1755
1756 // accessors -------------------------------------------------------
1757 enum : int {
1758 kVarsFieldNumber = 1,
1759 kCoeffsFieldNumber = 2,
1760 kDomainFieldNumber = 3,
1761 };
1762 // repeated int32 vars = 1;
1763 int vars_size() const;
1764 private:
1765 int _internal_vars_size() const;
1767 public:
1768 void clear_vars() ;
1769 ::int32_t vars(int index) const;
1770 void set_vars(int index, ::int32_t value);
1771 void add_vars(::int32_t value);
1772 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
1773 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
1774
1775 private:
1776 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
1777 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
1778
1779 public:
1780 // repeated int64 coeffs = 2;
1781 int coeffs_size() const;
1782 private:
1783 int _internal_coeffs_size() const;
1784
1785 public:
1786 void clear_coeffs() ;
1787 ::int64_t coeffs(int index) const;
1788 void set_coeffs(int index, ::int64_t value);
1789 void add_coeffs(::int64_t value);
1790 const ::google::protobuf::RepeatedField<::int64_t>& coeffs() const;
1791 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_coeffs();
1792
1793 private:
1794 const ::google::protobuf::RepeatedField<::int64_t>& _internal_coeffs() const;
1795 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_coeffs();
1796
1797 public:
1798 // repeated int64 domain = 3;
1799 int domain_size() const;
1800 private:
1801 int _internal_domain_size() const;
1802
1803 public:
1804 void clear_domain() ;
1805 ::int64_t domain(int index) const;
1806 void set_domain(int index, ::int64_t value);
1807 void add_domain(::int64_t value);
1808 const ::google::protobuf::RepeatedField<::int64_t>& domain() const;
1809 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_domain();
1810
1811 private:
1812 const ::google::protobuf::RepeatedField<::int64_t>& _internal_domain() const;
1813 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_domain();
1814
1815 public:
1816 // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1817 private:
1818 class _Internal;
1819 friend class ::google::protobuf::internal::TcParser;
1820 static const ::google::protobuf::internal::TcParseTable<2, 3,
1821 0, 0,
1822 2>
1823 _table_;
1824
1825 friend class ::google::protobuf::MessageLite;
1826 friend class ::google::protobuf::Arena;
1827 template <typename T>
1828 friend class ::google::protobuf::Arena::InternalHelper;
1829 using InternalArenaConstructable_ = void;
1830 using DestructorSkippable_ = void;
1831 struct Impl_ {
1832 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1833 inline explicit Impl_(
1834 ::google::protobuf::internal::InternalVisibility visibility,
1835 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1836 inline explicit Impl_(
1837 ::google::protobuf::internal::InternalVisibility visibility,
1838 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1839 const LinearConstraintProto& from_msg);
1840 ::google::protobuf::internal::HasBits<1> _has_bits_;
1841 ::google::protobuf::internal::CachedSize _cached_size_;
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 PROTOBUF_TSAN_DECLARE_MEMBER
1849 };
1850 union { Impl_ _impl_; };
1851 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1852};
1853
1854OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearConstraintProto_class_data_;
1855// -------------------------------------------------------------------
1856
1857class OR_PROTO_DLL InverseConstraintProto final : public ::google::protobuf::Message
1858/* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
1859 public:
1860 inline InverseConstraintProto() : InverseConstraintProto(nullptr) {}
1861 ~InverseConstraintProto() PROTOBUF_FINAL;
1862
1863#if defined(PROTOBUF_CUSTOM_VTABLE)
1864 void operator delete(InverseConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1865 SharedDtor(*msg);
1866 ::google::protobuf::internal::SizedDelete(msg, sizeof(InverseConstraintProto));
1867 }
1868#endif
1870 template <typename = void>
1871 explicit PROTOBUF_CONSTEXPR InverseConstraintProto(::google::protobuf::internal::ConstantInitialized);
1872
1873 inline InverseConstraintProto(const InverseConstraintProto& from) : InverseConstraintProto(nullptr, from) {}
1874 inline InverseConstraintProto(InverseConstraintProto&& from) noexcept
1875 : InverseConstraintProto(nullptr, ::std::move(from)) {}
1876 inline InverseConstraintProto& operator=(const InverseConstraintProto& from) {
1877 CopyFrom(from);
1878 return *this;
1879 }
1881 if (this == &from) return *this;
1882 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1883 InternalSwap(&from);
1884 } else {
1886 }
1887 return *this;
1888 }
1890 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1891 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1892 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1893 }
1894 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1895 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1896 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1897 }
1898
1899 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1900 return GetDescriptor();
1901 }
1902 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1903 return default_instance().GetMetadata().descriptor;
1904 }
1905 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1906 return default_instance().GetMetadata().reflection;
1907 }
1912 static constexpr int kIndexInFileMessages = 16;
1913 friend void swap(InverseConstraintProto& a, InverseConstraintProto& b) { a.Swap(&b); }
1914 inline void Swap(InverseConstraintProto* PROTOBUF_NONNULL other) {
1915 if (other == this) return;
1916 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1917 InternalSwap(other);
1918 } else {
1919 ::google::protobuf::internal::GenericSwap(this, other);
1920 }
1922 void UnsafeArenaSwap(InverseConstraintProto* PROTOBUF_NONNULL other) {
1923 if (other == this) return;
1924 ABSL_DCHECK(GetArena() == other->GetArena());
1925 InternalSwap(other);
1926 }
1927
1928 // implements Message ----------------------------------------------
1929
1930 InverseConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1931 return ::google::protobuf::Message::DefaultConstruct<InverseConstraintProto>(arena);
1932 }
1933 using ::google::protobuf::Message::CopyFrom;
1934 void CopyFrom(const InverseConstraintProto& from);
1935 using ::google::protobuf::Message::MergeFrom;
1936 void MergeFrom(const InverseConstraintProto& from) { InverseConstraintProto::MergeImpl(*this, from); }
1937
1938 private:
1939 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1940 const ::google::protobuf::MessageLite& from_msg);
1941
1942 public:
1943 bool IsInitialized() const {
1944 return true;
1946 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1947 #if defined(PROTOBUF_CUSTOM_VTABLE)
1948 private:
1949 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1950 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1951 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1952 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1953
1954 public:
1955 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1956 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1957 ::uint8_t* PROTOBUF_NONNULL target,
1958 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1959 return _InternalSerialize(*this, target, stream);
1960 }
1961 #else // PROTOBUF_CUSTOM_VTABLE
1962 ::size_t ByteSizeLong() const final;
1963 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1964 ::uint8_t* PROTOBUF_NONNULL target,
1965 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1966 #endif // PROTOBUF_CUSTOM_VTABLE
1967 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1968
1969 private:
1970 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1971 static void SharedDtor(MessageLite& self);
1972 void InternalSwap(InverseConstraintProto* PROTOBUF_NONNULL other);
1973 private:
1974 template <typename T>
1975 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1976 static ::absl::string_view FullMessageName() { return "operations_research.sat.InverseConstraintProto"; }
1977
1978 explicit InverseConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1979 InverseConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const InverseConstraintProto& from);
1981 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, InverseConstraintProto&& from) noexcept
1982 : InverseConstraintProto(arena) {
1983 *this = ::std::move(from);
1984 }
1985 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1986 static void* PROTOBUF_NONNULL PlacementNew_(
1987 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1988 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1989 static constexpr auto InternalNewImpl_();
1990
1991 public:
1992 static constexpr auto InternalGenerateClassData_();
1993
1994 ::google::protobuf::Metadata GetMetadata() const;
1995 // nested types ----------------------------------------------------
1996
1997 // accessors -------------------------------------------------------
1998 enum : int {
1999 kFDirectFieldNumber = 1,
2000 kFInverseFieldNumber = 2,
2001 };
2002 // repeated int32 f_direct = 1;
2003 int f_direct_size() const;
2004 private:
2005 int _internal_f_direct_size() const;
2006
2007 public:
2009 ::int32_t f_direct(int index) const;
2010 void set_f_direct(int index, ::int32_t value);
2011 void add_f_direct(::int32_t value);
2012 const ::google::protobuf::RepeatedField<::int32_t>& f_direct() const;
2013 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_f_direct();
2014
2015 private:
2016 const ::google::protobuf::RepeatedField<::int32_t>& _internal_f_direct() const;
2017 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_f_direct();
2018
2019 public:
2020 // repeated int32 f_inverse = 2;
2021 int f_inverse_size() const;
2022 private:
2023 int _internal_f_inverse_size() const;
2024
2025 public:
2026 void clear_f_inverse() ;
2027 ::int32_t f_inverse(int index) const;
2028 void set_f_inverse(int index, ::int32_t value);
2029 void add_f_inverse(::int32_t value);
2030 const ::google::protobuf::RepeatedField<::int32_t>& f_inverse() const;
2031 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_f_inverse();
2032
2033 private:
2034 const ::google::protobuf::RepeatedField<::int32_t>& _internal_f_inverse() const;
2035 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_f_inverse();
2036
2037 public:
2038 // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
2039 private:
2040 class _Internal;
2041 friend class ::google::protobuf::internal::TcParser;
2042 static const ::google::protobuf::internal::TcParseTable<1, 2,
2043 0, 0,
2044 2>
2045 _table_;
2046
2047 friend class ::google::protobuf::MessageLite;
2048 friend class ::google::protobuf::Arena;
2049 template <typename T>
2050 friend class ::google::protobuf::Arena::InternalHelper;
2051 using InternalArenaConstructable_ = void;
2052 using DestructorSkippable_ = void;
2053 struct Impl_ {
2054 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2055 inline explicit Impl_(
2056 ::google::protobuf::internal::InternalVisibility visibility,
2057 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2058 inline explicit Impl_(
2059 ::google::protobuf::internal::InternalVisibility visibility,
2060 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2061 const InverseConstraintProto& from_msg);
2062 ::google::protobuf::internal::HasBits<1> _has_bits_;
2063 ::google::protobuf::internal::CachedSize _cached_size_;
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 PROTOBUF_TSAN_DECLARE_MEMBER
2069 };
2070 union { Impl_ _impl_; };
2071 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2072};
2073
2074OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull InverseConstraintProto_class_data_;
2075// -------------------------------------------------------------------
2076
2077class OR_PROTO_DLL IntegerVariableProto final : public ::google::protobuf::Message
2078/* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
2079 public:
2081 ~IntegerVariableProto() PROTOBUF_FINAL;
2082
2083#if defined(PROTOBUF_CUSTOM_VTABLE)
2084 void operator delete(IntegerVariableProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2085 SharedDtor(*msg);
2086 ::google::protobuf::internal::SizedDelete(msg, sizeof(IntegerVariableProto));
2088#endif
2089
2090 template <typename = void>
2091 explicit PROTOBUF_CONSTEXPR IntegerVariableProto(::google::protobuf::internal::ConstantInitialized);
2092
2093 inline IntegerVariableProto(const IntegerVariableProto& from) : IntegerVariableProto(nullptr, from) {}
2094 inline IntegerVariableProto(IntegerVariableProto&& from) noexcept
2095 : IntegerVariableProto(nullptr, ::std::move(from)) {}
2096 inline IntegerVariableProto& operator=(const IntegerVariableProto& from) {
2097 CopyFrom(from);
2098 return *this;
2099 }
2100 inline IntegerVariableProto& operator=(IntegerVariableProto&& from) noexcept {
2101 if (this == &from) return *this;
2102 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2103 InternalSwap(&from);
2104 } else {
2105 CopyFrom(from);
2107 return *this;
2108 }
2109
2110 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2111 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2112 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2113 }
2114 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2115 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2116 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2117 }
2118
2119 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2121 }
2122 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2123 return default_instance().GetMetadata().descriptor;
2125 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2126 return default_instance().GetMetadata().reflection;
2127 }
2128 static const IntegerVariableProto& default_instance() {
2129 return *reinterpret_cast<const IntegerVariableProto*>(
2131 }
2132 static constexpr int kIndexInFileMessages = 0;
2133 friend void swap(IntegerVariableProto& a, IntegerVariableProto& b) { a.Swap(&b); }
2134 inline void Swap(IntegerVariableProto* PROTOBUF_NONNULL other) {
2135 if (other == this) return;
2136 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2137 InternalSwap(other);
2138 } else {
2139 ::google::protobuf::internal::GenericSwap(this, other);
2140 }
2141 }
2142 void UnsafeArenaSwap(IntegerVariableProto* PROTOBUF_NONNULL other) {
2143 if (other == this) return;
2144 ABSL_DCHECK(GetArena() == other->GetArena());
2145 InternalSwap(other);
2146 }
2147
2148 // implements Message ----------------------------------------------
2149
2150 IntegerVariableProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2151 return ::google::protobuf::Message::DefaultConstruct<IntegerVariableProto>(arena);
2153 using ::google::protobuf::Message::CopyFrom;
2154 void CopyFrom(const IntegerVariableProto& from);
2155 using ::google::protobuf::Message::MergeFrom;
2156 void MergeFrom(const IntegerVariableProto& from) { IntegerVariableProto::MergeImpl(*this, from); }
2157
2158 private:
2159 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2160 const ::google::protobuf::MessageLite& from_msg);
2161
2162 public:
2163 bool IsInitialized() const {
2164 return true;
2165 }
2166 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2167 #if defined(PROTOBUF_CUSTOM_VTABLE)
2168 private:
2169 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2170 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2171 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2172 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2174 public:
2175 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2176 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2177 ::uint8_t* PROTOBUF_NONNULL target,
2178 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2179 return _InternalSerialize(*this, target, stream);
2180 }
2181 #else // PROTOBUF_CUSTOM_VTABLE
2182 ::size_t ByteSizeLong() const final;
2183 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2184 ::uint8_t* PROTOBUF_NONNULL target,
2185 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2186 #endif // PROTOBUF_CUSTOM_VTABLE
2187 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2188
2189 private:
2190 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2191 static void SharedDtor(MessageLite& self);
2192 void InternalSwap(IntegerVariableProto* PROTOBUF_NONNULL other);
2193 private:
2194 template <typename T>
2195 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2196 static ::absl::string_view FullMessageName() { return "operations_research.sat.IntegerVariableProto"; }
2198 explicit IntegerVariableProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2199 IntegerVariableProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IntegerVariableProto& from);
2201 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, IntegerVariableProto&& from) noexcept
2202 : IntegerVariableProto(arena) {
2203 *this = ::std::move(from);
2204 }
2205 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2206 static void* PROTOBUF_NONNULL PlacementNew_(
2207 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2208 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2209 static constexpr auto InternalNewImpl_();
2210
2211 public:
2212 static constexpr auto InternalGenerateClassData_();
2213
2214 ::google::protobuf::Metadata GetMetadata() const;
2215 // nested types ----------------------------------------------------
2216
2217 // accessors -------------------------------------------------------
2218 enum : int {
2219 kDomainFieldNumber = 2,
2220 kNameFieldNumber = 1,
2221 };
2222 // repeated int64 domain = 2;
2223 int domain_size() const;
2224 private:
2225 int _internal_domain_size() const;
2226
2227 public:
2228 void clear_domain() ;
2229 ::int64_t domain(int index) const;
2230 void set_domain(int index, ::int64_t value);
2231 void add_domain(::int64_t value);
2232 const ::google::protobuf::RepeatedField<::int64_t>& domain() const;
2233 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_domain();
2234
2235 private:
2236 const ::google::protobuf::RepeatedField<::int64_t>& _internal_domain() const;
2237 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_domain();
2238
2239 public:
2240 // string name = 1;
2241 void clear_name() ;
2242 const ::std::string& name() const;
2243 template <typename Arg_ = const ::std::string&, typename... Args_>
2244 void set_name(Arg_&& arg, Args_... args);
2245 ::std::string* PROTOBUF_NONNULL mutable_name();
2246 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
2247 void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
2248
2249 private:
2250 const ::std::string& _internal_name() const;
2251 PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
2252 ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
2253
2254 public:
2255 // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
2256 private:
2257 class _Internal;
2258 friend class ::google::protobuf::internal::TcParser;
2259 static const ::google::protobuf::internal::TcParseTable<1, 2,
2260 0, 57,
2261 2>
2262 _table_;
2263
2264 friend class ::google::protobuf::MessageLite;
2265 friend class ::google::protobuf::Arena;
2266 template <typename T>
2267 friend class ::google::protobuf::Arena::InternalHelper;
2268 using InternalArenaConstructable_ = void;
2269 using DestructorSkippable_ = void;
2270 struct Impl_ {
2271 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2272 inline explicit Impl_(
2273 ::google::protobuf::internal::InternalVisibility visibility,
2274 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2275 inline explicit Impl_(
2276 ::google::protobuf::internal::InternalVisibility visibility,
2277 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2278 const IntegerVariableProto& from_msg);
2279 ::google::protobuf::internal::HasBits<1> _has_bits_;
2280 ::google::protobuf::internal::CachedSize _cached_size_;
2281 ::google::protobuf::RepeatedField<::int64_t> domain_;
2282 ::google::protobuf::internal::CachedSize _domain_cached_byte_size_;
2283 ::google::protobuf::internal::ArenaStringPtr name_;
2284 PROTOBUF_TSAN_DECLARE_MEMBER
2285 };
2286 union { Impl_ _impl_; };
2287 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2288};
2289
2290OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull IntegerVariableProto_class_data_;
2291// -------------------------------------------------------------------
2292
2293class OR_PROTO_DLL FloatObjectiveProto final : public ::google::protobuf::Message
2294/* @@protoc_insertion_point(class_definition:operations_research.sat.FloatObjectiveProto) */ {
2295 public:
2297 ~FloatObjectiveProto() PROTOBUF_FINAL;
2298
2299#if defined(PROTOBUF_CUSTOM_VTABLE)
2300 void operator delete(FloatObjectiveProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2301 SharedDtor(*msg);
2302 ::google::protobuf::internal::SizedDelete(msg, sizeof(FloatObjectiveProto));
2303 }
2304#endif
2305
2306 template <typename = void>
2307 explicit PROTOBUF_CONSTEXPR FloatObjectiveProto(::google::protobuf::internal::ConstantInitialized);
2308
2309 inline FloatObjectiveProto(const FloatObjectiveProto& from) : FloatObjectiveProto(nullptr, from) {}
2310 inline FloatObjectiveProto(FloatObjectiveProto&& from) noexcept
2311 : FloatObjectiveProto(nullptr, ::std::move(from)) {}
2312 inline FloatObjectiveProto& operator=(const FloatObjectiveProto& from) {
2313 CopyFrom(from);
2314 return *this;
2315 }
2316 inline FloatObjectiveProto& operator=(FloatObjectiveProto&& from) noexcept {
2317 if (this == &from) return *this;
2318 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2319 InternalSwap(&from);
2320 } else {
2322 }
2323 return *this;
2324 }
2325
2326 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2327 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2328 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2329 }
2330 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2331 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2332 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2333 }
2334
2335 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2336 return GetDescriptor();
2338 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2339 return default_instance().GetMetadata().descriptor;
2340 }
2341 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2342 return default_instance().GetMetadata().reflection;
2343 }
2344 static const FloatObjectiveProto& default_instance() {
2345 return *reinterpret_cast<const FloatObjectiveProto*>(
2347 }
2348 static constexpr int kIndexInFileMessages = 21;
2350 inline void Swap(FloatObjectiveProto* PROTOBUF_NONNULL other) {
2351 if (other == this) return;
2352 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2353 InternalSwap(other);
2354 } else {
2355 ::google::protobuf::internal::GenericSwap(this, other);
2356 }
2357 }
2358 void UnsafeArenaSwap(FloatObjectiveProto* PROTOBUF_NONNULL other) {
2359 if (other == this) return;
2360 ABSL_DCHECK(GetArena() == other->GetArena());
2361 InternalSwap(other);
2362 }
2363
2364 // implements Message ----------------------------------------------
2365
2366 FloatObjectiveProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2367 return ::google::protobuf::Message::DefaultConstruct<FloatObjectiveProto>(arena);
2368 }
2369 using ::google::protobuf::Message::CopyFrom;
2370 void CopyFrom(const FloatObjectiveProto& from);
2371 using ::google::protobuf::Message::MergeFrom;
2372 void MergeFrom(const FloatObjectiveProto& from) { FloatObjectiveProto::MergeImpl(*this, from); }
2373
2374 private:
2375 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2376 const ::google::protobuf::MessageLite& from_msg);
2378 public:
2379 bool IsInitialized() const {
2380 return true;
2381 }
2382 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2383 #if defined(PROTOBUF_CUSTOM_VTABLE)
2384 private:
2385 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2386 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2387 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2388 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2389
2390 public:
2391 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2392 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2393 ::uint8_t* PROTOBUF_NONNULL target,
2394 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2395 return _InternalSerialize(*this, target, stream);
2396 }
2397 #else // PROTOBUF_CUSTOM_VTABLE
2398 ::size_t ByteSizeLong() const final;
2399 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2400 ::uint8_t* PROTOBUF_NONNULL target,
2401 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2402 #endif // PROTOBUF_CUSTOM_VTABLE
2403 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2404
2405 private:
2406 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2407 static void SharedDtor(MessageLite& self);
2408 void InternalSwap(FloatObjectiveProto* PROTOBUF_NONNULL other);
2409 private:
2410 template <typename T>
2411 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2412 static ::absl::string_view FullMessageName() { return "operations_research.sat.FloatObjectiveProto"; }
2413
2414 explicit FloatObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2415 FloatObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FloatObjectiveProto& from);
2417 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FloatObjectiveProto&& from) noexcept
2418 : FloatObjectiveProto(arena) {
2419 *this = ::std::move(from);
2420 }
2421 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2422 static void* PROTOBUF_NONNULL PlacementNew_(
2423 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2424 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2425 static constexpr auto InternalNewImpl_();
2426
2427 public:
2428 static constexpr auto InternalGenerateClassData_();
2429
2430 ::google::protobuf::Metadata GetMetadata() const;
2431 // nested types ----------------------------------------------------
2432
2433 // accessors -------------------------------------------------------
2434 enum : int {
2435 kVarsFieldNumber = 1,
2436 kCoeffsFieldNumber = 2,
2437 kOffsetFieldNumber = 3,
2438 kMaximizeFieldNumber = 4,
2439 };
2440 // repeated int32 vars = 1;
2441 int vars_size() const;
2442 private:
2443 int _internal_vars_size() const;
2444
2445 public:
2446 void clear_vars() ;
2447 ::int32_t vars(int index) const;
2448 void set_vars(int index, ::int32_t value);
2449 void add_vars(::int32_t value);
2450 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
2451 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
2452
2453 private:
2454 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
2455 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
2456
2457 public:
2458 // repeated double coeffs = 2;
2459 int coeffs_size() const;
2460 private:
2461 int _internal_coeffs_size() const;
2462
2463 public:
2464 void clear_coeffs() ;
2465 double coeffs(int index) const;
2466 void set_coeffs(int index, double value);
2467 void add_coeffs(double value);
2468 const ::google::protobuf::RepeatedField<double>& coeffs() const;
2469 ::google::protobuf::RepeatedField<double>* PROTOBUF_NONNULL mutable_coeffs();
2470
2471 private:
2472 const ::google::protobuf::RepeatedField<double>& _internal_coeffs() const;
2473 ::google::protobuf::RepeatedField<double>* PROTOBUF_NONNULL _internal_mutable_coeffs();
2474
2475 public:
2476 // double offset = 3;
2477 void clear_offset() ;
2478 double offset() const;
2479 void set_offset(double value);
2480
2481 private:
2482 double _internal_offset() const;
2483 void _internal_set_offset(double value);
2484
2485 public:
2486 // bool maximize = 4;
2487 void clear_maximize() ;
2488 bool maximize() const;
2489 void set_maximize(bool value);
2490
2491 private:
2492 bool _internal_maximize() const;
2493 void _internal_set_maximize(bool value);
2494
2495 public:
2496 // @@protoc_insertion_point(class_scope:operations_research.sat.FloatObjectiveProto)
2497 private:
2498 class _Internal;
2499 friend class ::google::protobuf::internal::TcParser;
2500 static const ::google::protobuf::internal::TcParseTable<2, 4,
2501 0, 0,
2502 2>
2503 _table_;
2504
2505 friend class ::google::protobuf::MessageLite;
2506 friend class ::google::protobuf::Arena;
2507 template <typename T>
2508 friend class ::google::protobuf::Arena::InternalHelper;
2509 using InternalArenaConstructable_ = void;
2510 using DestructorSkippable_ = void;
2511 struct Impl_ {
2512 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2513 inline explicit Impl_(
2514 ::google::protobuf::internal::InternalVisibility visibility,
2515 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2516 inline explicit Impl_(
2517 ::google::protobuf::internal::InternalVisibility visibility,
2518 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2519 const FloatObjectiveProto& from_msg);
2520 ::google::protobuf::internal::HasBits<1> _has_bits_;
2521 ::google::protobuf::internal::CachedSize _cached_size_;
2522 ::google::protobuf::RepeatedField<::int32_t> vars_;
2523 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
2524 ::google::protobuf::RepeatedField<double> coeffs_;
2525 double offset_;
2526 bool maximize_;
2527 PROTOBUF_TSAN_DECLARE_MEMBER
2528 };
2529 union { Impl_ _impl_; };
2530 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2531};
2532
2533OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull FloatObjectiveProto_class_data_;
2534// -------------------------------------------------------------------
2535
2536class OR_PROTO_DLL DenseMatrixProto final : public ::google::protobuf::Message
2537/* @@protoc_insertion_point(class_definition:operations_research.sat.DenseMatrixProto) */ {
2538 public:
2539 inline DenseMatrixProto() : DenseMatrixProto(nullptr) {}
2540 ~DenseMatrixProto() PROTOBUF_FINAL;
2542#if defined(PROTOBUF_CUSTOM_VTABLE)
2543 void operator delete(DenseMatrixProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2544 SharedDtor(*msg);
2545 ::google::protobuf::internal::SizedDelete(msg, sizeof(DenseMatrixProto));
2546 }
2547#endif
2549 template <typename = void>
2550 explicit PROTOBUF_CONSTEXPR DenseMatrixProto(::google::protobuf::internal::ConstantInitialized);
2552 inline DenseMatrixProto(const DenseMatrixProto& from) : DenseMatrixProto(nullptr, from) {}
2553 inline DenseMatrixProto(DenseMatrixProto&& from) noexcept
2554 : DenseMatrixProto(nullptr, ::std::move(from)) {}
2555 inline DenseMatrixProto& operator=(const DenseMatrixProto& from) {
2556 CopyFrom(from);
2557 return *this;
2558 }
2559 inline DenseMatrixProto& operator=(DenseMatrixProto&& from) noexcept {
2560 if (this == &from) return *this;
2561 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2562 InternalSwap(&from);
2563 } else {
2566 return *this;
2568
2569 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2570 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2571 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2572 }
2573 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2574 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2575 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2576 }
2577
2578 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2579 return GetDescriptor();
2580 }
2581 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2582 return default_instance().GetMetadata().descriptor;
2583 }
2584 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2585 return default_instance().GetMetadata().reflection;
2586 }
2587 static const DenseMatrixProto& default_instance() {
2588 return *reinterpret_cast<const DenseMatrixProto*>(
2591 static constexpr int kIndexInFileMessages = 25;
2592 friend void swap(DenseMatrixProto& a, DenseMatrixProto& b) { a.Swap(&b); }
2593 inline void Swap(DenseMatrixProto* PROTOBUF_NONNULL other) {
2594 if (other == this) return;
2595 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2596 InternalSwap(other);
2597 } else {
2598 ::google::protobuf::internal::GenericSwap(this, other);
2600 }
2601 void UnsafeArenaSwap(DenseMatrixProto* PROTOBUF_NONNULL other) {
2602 if (other == this) return;
2603 ABSL_DCHECK(GetArena() == other->GetArena());
2604 InternalSwap(other);
2606
2607 // implements Message ----------------------------------------------
2608
2609 DenseMatrixProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2610 return ::google::protobuf::Message::DefaultConstruct<DenseMatrixProto>(arena);
2611 }
2612 using ::google::protobuf::Message::CopyFrom;
2613 void CopyFrom(const DenseMatrixProto& from);
2614 using ::google::protobuf::Message::MergeFrom;
2615 void MergeFrom(const DenseMatrixProto& from) { DenseMatrixProto::MergeImpl(*this, from); }
2616
2617 private:
2618 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2619 const ::google::protobuf::MessageLite& from_msg);
2620
2621 public:
2622 bool IsInitialized() const {
2623 return true;
2624 }
2625 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2626 #if defined(PROTOBUF_CUSTOM_VTABLE)
2627 private:
2628 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2629 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2630 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2631 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2632
2633 public:
2634 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2635 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2636 ::uint8_t* PROTOBUF_NONNULL target,
2637 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2638 return _InternalSerialize(*this, target, stream);
2639 }
2640 #else // PROTOBUF_CUSTOM_VTABLE
2641 ::size_t ByteSizeLong() const final;
2642 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2643 ::uint8_t* PROTOBUF_NONNULL target,
2644 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2645 #endif // PROTOBUF_CUSTOM_VTABLE
2646 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2647
2648 private:
2649 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2650 static void SharedDtor(MessageLite& self);
2651 void InternalSwap(DenseMatrixProto* PROTOBUF_NONNULL other);
2652 private:
2653 template <typename T>
2654 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2655 static ::absl::string_view FullMessageName() { return "operations_research.sat.DenseMatrixProto"; }
2656
2657 explicit DenseMatrixProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2658 DenseMatrixProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DenseMatrixProto& from);
2660 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DenseMatrixProto&& from) noexcept
2661 : DenseMatrixProto(arena) {
2662 *this = ::std::move(from);
2663 }
2664 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2665 static void* PROTOBUF_NONNULL PlacementNew_(
2666 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2667 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2668 static constexpr auto InternalNewImpl_();
2669
2670 public:
2671 static constexpr auto InternalGenerateClassData_();
2672
2673 ::google::protobuf::Metadata GetMetadata() const;
2674 // nested types ----------------------------------------------------
2675
2676 // accessors -------------------------------------------------------
2677 enum : int {
2678 kEntriesFieldNumber = 3,
2679 kNumRowsFieldNumber = 1,
2680 kNumColsFieldNumber = 2,
2681 };
2682 // repeated int32 entries = 3;
2683 int entries_size() const;
2684 private:
2685 int _internal_entries_size() const;
2686
2687 public:
2688 void clear_entries() ;
2689 ::int32_t entries(int index) const;
2690 void set_entries(int index, ::int32_t value);
2691 void add_entries(::int32_t value);
2692 const ::google::protobuf::RepeatedField<::int32_t>& entries() const;
2693 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_entries();
2694
2695 private:
2696 const ::google::protobuf::RepeatedField<::int32_t>& _internal_entries() const;
2697 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_entries();
2698
2699 public:
2700 // int32 num_rows = 1;
2701 void clear_num_rows() ;
2702 ::int32_t num_rows() const;
2703 void set_num_rows(::int32_t value);
2704
2705 private:
2706 ::int32_t _internal_num_rows() const;
2707 void _internal_set_num_rows(::int32_t value);
2708
2709 public:
2710 // int32 num_cols = 2;
2711 void clear_num_cols() ;
2712 ::int32_t num_cols() const;
2713 void set_num_cols(::int32_t value);
2714
2715 private:
2716 ::int32_t _internal_num_cols() const;
2717 void _internal_set_num_cols(::int32_t value);
2718
2719 public:
2720 // @@protoc_insertion_point(class_scope:operations_research.sat.DenseMatrixProto)
2721 private:
2722 class _Internal;
2723 friend class ::google::protobuf::internal::TcParser;
2724 static const ::google::protobuf::internal::TcParseTable<2, 3,
2725 0, 0,
2726 2>
2727 _table_;
2728
2729 friend class ::google::protobuf::MessageLite;
2730 friend class ::google::protobuf::Arena;
2731 template <typename T>
2732 friend class ::google::protobuf::Arena::InternalHelper;
2733 using InternalArenaConstructable_ = void;
2734 using DestructorSkippable_ = void;
2735 struct Impl_ {
2736 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2737 inline explicit Impl_(
2738 ::google::protobuf::internal::InternalVisibility visibility,
2739 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2740 inline explicit Impl_(
2741 ::google::protobuf::internal::InternalVisibility visibility,
2742 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2743 const DenseMatrixProto& from_msg);
2744 ::google::protobuf::internal::HasBits<1> _has_bits_;
2745 ::google::protobuf::internal::CachedSize _cached_size_;
2746 ::google::protobuf::RepeatedField<::int32_t> entries_;
2747 ::google::protobuf::internal::CachedSize _entries_cached_byte_size_;
2748 ::int32_t num_rows_;
2749 ::int32_t num_cols_;
2750 PROTOBUF_TSAN_DECLARE_MEMBER
2751 };
2752 union { Impl_ _impl_; };
2753 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2754};
2755
2756OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull DenseMatrixProto_class_data_;
2757// -------------------------------------------------------------------
2758
2759class OR_PROTO_DLL CpSolverSolution final : public ::google::protobuf::Message
2760/* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverSolution) */ {
2761 public:
2762 inline CpSolverSolution() : CpSolverSolution(nullptr) {}
2763 ~CpSolverSolution() PROTOBUF_FINAL;
2765#if defined(PROTOBUF_CUSTOM_VTABLE)
2766 void operator delete(CpSolverSolution* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2767 SharedDtor(*msg);
2768 ::google::protobuf::internal::SizedDelete(msg, sizeof(CpSolverSolution));
2769 }
2770#endif
2771
2772 template <typename = void>
2773 explicit PROTOBUF_CONSTEXPR CpSolverSolution(::google::protobuf::internal::ConstantInitialized);
2774
2775 inline CpSolverSolution(const CpSolverSolution& from) : CpSolverSolution(nullptr, from) {}
2776 inline CpSolverSolution(CpSolverSolution&& from) noexcept
2777 : CpSolverSolution(nullptr, ::std::move(from)) {}
2778 inline CpSolverSolution& operator=(const CpSolverSolution& from) {
2779 CopyFrom(from);
2780 return *this;
2781 }
2782 inline CpSolverSolution& operator=(CpSolverSolution&& from) noexcept {
2783 if (this == &from) return *this;
2784 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2785 InternalSwap(&from);
2786 } else {
2787 CopyFrom(from);
2789 return *this;
2790 }
2792 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2793 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2794 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2796 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2797 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2798 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2799 }
2800
2801 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2802 return GetDescriptor();
2803 }
2804 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2805 return default_instance().GetMetadata().descriptor;
2806 }
2807 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2808 return default_instance().GetMetadata().reflection;
2810 static const CpSolverSolution& default_instance() {
2811 return *reinterpret_cast<const CpSolverSolution*>(
2813 }
2814 static constexpr int kIndexInFileMessages = 28;
2815 friend void swap(CpSolverSolution& a, CpSolverSolution& b) { a.Swap(&b); }
2816 inline void Swap(CpSolverSolution* PROTOBUF_NONNULL other) {
2817 if (other == this) return;
2818 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2819 InternalSwap(other);
2820 } else {
2821 ::google::protobuf::internal::GenericSwap(this, other);
2822 }
2824 void UnsafeArenaSwap(CpSolverSolution* PROTOBUF_NONNULL other) {
2825 if (other == this) return;
2826 ABSL_DCHECK(GetArena() == other->GetArena());
2827 InternalSwap(other);
2830 // implements Message ----------------------------------------------
2831
2832 CpSolverSolution* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2833 return ::google::protobuf::Message::DefaultConstruct<CpSolverSolution>(arena);
2834 }
2835 using ::google::protobuf::Message::CopyFrom;
2836 void CopyFrom(const CpSolverSolution& from);
2837 using ::google::protobuf::Message::MergeFrom;
2838 void MergeFrom(const CpSolverSolution& from) { CpSolverSolution::MergeImpl(*this, from); }
2839
2840 private:
2841 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2842 const ::google::protobuf::MessageLite& from_msg);
2843
2844 public:
2845 bool IsInitialized() const {
2846 return true;
2847 }
2848 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2849 #if defined(PROTOBUF_CUSTOM_VTABLE)
2850 private:
2851 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2852 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2853 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2854 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2855
2856 public:
2857 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2858 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2859 ::uint8_t* PROTOBUF_NONNULL target,
2860 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2861 return _InternalSerialize(*this, target, stream);
2862 }
2863 #else // PROTOBUF_CUSTOM_VTABLE
2864 ::size_t ByteSizeLong() const final;
2865 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2866 ::uint8_t* PROTOBUF_NONNULL target,
2867 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2868 #endif // PROTOBUF_CUSTOM_VTABLE
2869 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2870
2871 private:
2872 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2873 static void SharedDtor(MessageLite& self);
2874 void InternalSwap(CpSolverSolution* PROTOBUF_NONNULL other);
2875 private:
2876 template <typename T>
2877 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2878 static ::absl::string_view FullMessageName() { return "operations_research.sat.CpSolverSolution"; }
2879
2880 explicit CpSolverSolution(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2881 CpSolverSolution(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CpSolverSolution& from);
2883 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CpSolverSolution&& from) noexcept
2884 : CpSolverSolution(arena) {
2885 *this = ::std::move(from);
2886 }
2887 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2888 static void* PROTOBUF_NONNULL PlacementNew_(
2889 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2890 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2891 static constexpr auto InternalNewImpl_();
2892
2893 public:
2894 static constexpr auto InternalGenerateClassData_();
2895
2896 ::google::protobuf::Metadata GetMetadata() const;
2897 // nested types ----------------------------------------------------
2898
2899 // accessors -------------------------------------------------------
2900 enum : int {
2901 kValuesFieldNumber = 1,
2902 };
2903 // repeated int64 values = 1;
2904 int values_size() const;
2905 private:
2906 int _internal_values_size() const;
2907
2908 public:
2909 void clear_values() ;
2910 ::int64_t values(int index) const;
2911 void set_values(int index, ::int64_t value);
2912 void add_values(::int64_t value);
2913 const ::google::protobuf::RepeatedField<::int64_t>& values() const;
2914 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_values();
2915
2916 private:
2917 const ::google::protobuf::RepeatedField<::int64_t>& _internal_values() const;
2918 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_values();
2919
2920 public:
2921 // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverSolution)
2922 private:
2923 class _Internal;
2924 friend class ::google::protobuf::internal::TcParser;
2925 static const ::google::protobuf::internal::TcParseTable<0, 1,
2926 0, 0,
2927 2>
2928 _table_;
2929
2930 friend class ::google::protobuf::MessageLite;
2931 friend class ::google::protobuf::Arena;
2932 template <typename T>
2933 friend class ::google::protobuf::Arena::InternalHelper;
2934 using InternalArenaConstructable_ = void;
2935 using DestructorSkippable_ = void;
2936 struct Impl_ {
2937 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2938 inline explicit Impl_(
2939 ::google::protobuf::internal::InternalVisibility visibility,
2940 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2941 inline explicit Impl_(
2942 ::google::protobuf::internal::InternalVisibility visibility,
2943 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2944 const CpSolverSolution& from_msg);
2945 ::google::protobuf::internal::HasBits<1> _has_bits_;
2946 ::google::protobuf::internal::CachedSize _cached_size_;
2947 ::google::protobuf::RepeatedField<::int64_t> values_;
2948 ::google::protobuf::internal::CachedSize _values_cached_byte_size_;
2949 PROTOBUF_TSAN_DECLARE_MEMBER
2950 };
2951 union { Impl_ _impl_; };
2952 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2953};
2954
2955OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpSolverSolution_class_data_;
2956// -------------------------------------------------------------------
2957
2958class OR_PROTO_DLL CpObjectiveProto final : public ::google::protobuf::Message
2959/* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
2960 public:
2961 inline CpObjectiveProto() : CpObjectiveProto(nullptr) {}
2962 ~CpObjectiveProto() PROTOBUF_FINAL;
2963
2964#if defined(PROTOBUF_CUSTOM_VTABLE)
2965 void operator delete(CpObjectiveProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2966 SharedDtor(*msg);
2967 ::google::protobuf::internal::SizedDelete(msg, sizeof(CpObjectiveProto));
2968 }
2969#endif
2970
2971 template <typename = void>
2972 explicit PROTOBUF_CONSTEXPR CpObjectiveProto(::google::protobuf::internal::ConstantInitialized);
2973
2974 inline CpObjectiveProto(const CpObjectiveProto& from) : CpObjectiveProto(nullptr, from) {}
2975 inline CpObjectiveProto(CpObjectiveProto&& from) noexcept
2976 : CpObjectiveProto(nullptr, ::std::move(from)) {}
2977 inline CpObjectiveProto& operator=(const CpObjectiveProto& from) {
2978 CopyFrom(from);
2979 return *this;
2980 }
2981 inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
2982 if (this == &from) return *this;
2983 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2984 InternalSwap(&from);
2985 } else {
2987 }
2988 return *this;
2990
2991 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2992 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2993 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2994 }
2995 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2996 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2997 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2998 }
2999
3000 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3001 return GetDescriptor();
3002 }
3003 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3004 return default_instance().GetMetadata().descriptor;
3006 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3007 return default_instance().GetMetadata().reflection;
3008 }
3010 return *reinterpret_cast<const CpObjectiveProto*>(
3012 }
3013 static constexpr int kIndexInFileMessages = 20;
3014 friend void swap(CpObjectiveProto& a, CpObjectiveProto& b) { a.Swap(&b); }
3015 inline void Swap(CpObjectiveProto* PROTOBUF_NONNULL other) {
3016 if (other == this) return;
3017 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3018 InternalSwap(other);
3019 } else {
3020 ::google::protobuf::internal::GenericSwap(this, other);
3021 }
3022 }
3023 void UnsafeArenaSwap(CpObjectiveProto* PROTOBUF_NONNULL other) {
3024 if (other == this) return;
3025 ABSL_DCHECK(GetArena() == other->GetArena());
3026 InternalSwap(other);
3029 // implements Message ----------------------------------------------
3030
3031 CpObjectiveProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3032 return ::google::protobuf::Message::DefaultConstruct<CpObjectiveProto>(arena);
3033 }
3034 using ::google::protobuf::Message::CopyFrom;
3035 void CopyFrom(const CpObjectiveProto& from);
3036 using ::google::protobuf::Message::MergeFrom;
3037 void MergeFrom(const CpObjectiveProto& from) { CpObjectiveProto::MergeImpl(*this, from); }
3038
3039 private:
3040 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3041 const ::google::protobuf::MessageLite& from_msg);
3042
3043 public:
3044 bool IsInitialized() const {
3045 return true;
3046 }
3047 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3048 #if defined(PROTOBUF_CUSTOM_VTABLE)
3049 private:
3050 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3051 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3052 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3053 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3054
3055 public:
3056 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3057 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3058 ::uint8_t* PROTOBUF_NONNULL target,
3059 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3060 return _InternalSerialize(*this, target, stream);
3061 }
3062 #else // PROTOBUF_CUSTOM_VTABLE
3063 ::size_t ByteSizeLong() const final;
3064 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3065 ::uint8_t* PROTOBUF_NONNULL target,
3066 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3067 #endif // PROTOBUF_CUSTOM_VTABLE
3068 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3069
3070 private:
3071 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3072 static void SharedDtor(MessageLite& self);
3073 void InternalSwap(CpObjectiveProto* PROTOBUF_NONNULL other);
3074 private:
3075 template <typename T>
3076 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3077 static ::absl::string_view FullMessageName() { return "operations_research.sat.CpObjectiveProto"; }
3078
3079 explicit CpObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3080 CpObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CpObjectiveProto& from);
3081 CpObjectiveProto(
3082 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CpObjectiveProto&& from) noexcept
3083 : CpObjectiveProto(arena) {
3084 *this = ::std::move(from);
3085 }
3086 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3087 static void* PROTOBUF_NONNULL PlacementNew_(
3088 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3089 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3090 static constexpr auto InternalNewImpl_();
3091
3092 public:
3093 static constexpr auto InternalGenerateClassData_();
3094
3095 ::google::protobuf::Metadata GetMetadata() const;
3096 // nested types ----------------------------------------------------
3097
3098 // accessors -------------------------------------------------------
3099 enum : int {
3100 kVarsFieldNumber = 1,
3101 kCoeffsFieldNumber = 4,
3102 kDomainFieldNumber = 5,
3103 kOffsetFieldNumber = 2,
3104 kScalingFactorFieldNumber = 3,
3105 kIntegerBeforeOffsetFieldNumber = 7,
3106 kIntegerScalingFactorFieldNumber = 8,
3107 kIntegerAfterOffsetFieldNumber = 9,
3108 kScalingWasExactFieldNumber = 6,
3109 };
3110 // repeated int32 vars = 1;
3111 int vars_size() const;
3112 private:
3113 int _internal_vars_size() const;
3115 public:
3116 void clear_vars() ;
3117 ::int32_t vars(int index) const;
3118 void set_vars(int index, ::int32_t value);
3119 void add_vars(::int32_t value);
3120 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
3121 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
3123 private:
3124 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
3125 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
3126
3127 public:
3128 // repeated int64 coeffs = 4;
3129 int coeffs_size() const;
3130 private:
3131 int _internal_coeffs_size() const;
3132
3133 public:
3134 void clear_coeffs() ;
3135 ::int64_t coeffs(int index) const;
3136 void set_coeffs(int index, ::int64_t value);
3137 void add_coeffs(::int64_t value);
3138 const ::google::protobuf::RepeatedField<::int64_t>& coeffs() const;
3139 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_coeffs();
3140
3141 private:
3142 const ::google::protobuf::RepeatedField<::int64_t>& _internal_coeffs() const;
3143 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_coeffs();
3144
3145 public:
3146 // repeated int64 domain = 5;
3147 int domain_size() const;
3148 private:
3149 int _internal_domain_size() const;
3150
3151 public:
3152 void clear_domain() ;
3153 ::int64_t domain(int index) const;
3154 void set_domain(int index, ::int64_t value);
3155 void add_domain(::int64_t value);
3156 const ::google::protobuf::RepeatedField<::int64_t>& domain() const;
3157 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_domain();
3158
3159 private:
3160 const ::google::protobuf::RepeatedField<::int64_t>& _internal_domain() const;
3161 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_domain();
3162
3163 public:
3164 // double offset = 2;
3165 void clear_offset() ;
3166 double offset() const;
3167 void set_offset(double value);
3168
3169 private:
3170 double _internal_offset() const;
3171 void _internal_set_offset(double value);
3172
3173 public:
3174 // double scaling_factor = 3;
3175 void clear_scaling_factor() ;
3176 double scaling_factor() const;
3177 void set_scaling_factor(double value);
3178
3179 private:
3180 double _internal_scaling_factor() const;
3181 void _internal_set_scaling_factor(double value);
3182
3183 public:
3184 // int64 integer_before_offset = 7;
3186 ::int64_t integer_before_offset() const;
3187 void set_integer_before_offset(::int64_t value);
3188
3189 private:
3190 ::int64_t _internal_integer_before_offset() const;
3191 void _internal_set_integer_before_offset(::int64_t value);
3192
3193 public:
3194 // int64 integer_scaling_factor = 8;
3196 ::int64_t integer_scaling_factor() const;
3197 void set_integer_scaling_factor(::int64_t value);
3198
3199 private:
3200 ::int64_t _internal_integer_scaling_factor() const;
3201 void _internal_set_integer_scaling_factor(::int64_t value);
3202
3203 public:
3204 // int64 integer_after_offset = 9;
3206 ::int64_t integer_after_offset() const;
3207 void set_integer_after_offset(::int64_t value);
3208
3209 private:
3210 ::int64_t _internal_integer_after_offset() const;
3211 void _internal_set_integer_after_offset(::int64_t value);
3212
3213 public:
3214 // bool scaling_was_exact = 6;
3216 bool scaling_was_exact() const;
3217 void set_scaling_was_exact(bool value);
3218
3219 private:
3220 bool _internal_scaling_was_exact() const;
3221 void _internal_set_scaling_was_exact(bool value);
3222
3223 public:
3224 // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
3225 private:
3226 class _Internal;
3227 friend class ::google::protobuf::internal::TcParser;
3228 static const ::google::protobuf::internal::TcParseTable<4, 9,
3229 0, 0,
3230 2>
3231 _table_;
3232
3233 friend class ::google::protobuf::MessageLite;
3234 friend class ::google::protobuf::Arena;
3235 template <typename T>
3236 friend class ::google::protobuf::Arena::InternalHelper;
3237 using InternalArenaConstructable_ = void;
3238 using DestructorSkippable_ = void;
3239 struct Impl_ {
3240 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3241 inline explicit Impl_(
3242 ::google::protobuf::internal::InternalVisibility visibility,
3243 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3244 inline explicit Impl_(
3245 ::google::protobuf::internal::InternalVisibility visibility,
3246 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3247 const CpObjectiveProto& from_msg);
3248 ::google::protobuf::internal::HasBits<1> _has_bits_;
3249 ::google::protobuf::internal::CachedSize _cached_size_;
3250 ::google::protobuf::RepeatedField<::int32_t> vars_;
3251 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
3252 ::google::protobuf::RepeatedField<::int64_t> coeffs_;
3253 ::google::protobuf::internal::CachedSize _coeffs_cached_byte_size_;
3254 ::google::protobuf::RepeatedField<::int64_t> domain_;
3255 ::google::protobuf::internal::CachedSize _domain_cached_byte_size_;
3256 double offset_;
3257 double scaling_factor_;
3258 ::int64_t integer_before_offset_;
3259 ::int64_t integer_scaling_factor_;
3260 ::int64_t integer_after_offset_;
3261 bool scaling_was_exact_;
3262 PROTOBUF_TSAN_DECLARE_MEMBER
3263 };
3264 union { Impl_ _impl_; };
3265 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3266};
3267
3268OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpObjectiveProto_class_data_;
3269// -------------------------------------------------------------------
3270
3271class OR_PROTO_DLL CircuitConstraintProto final : public ::google::protobuf::Message
3272/* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
3273 public:
3274 inline CircuitConstraintProto() : CircuitConstraintProto(nullptr) {}
3275 ~CircuitConstraintProto() PROTOBUF_FINAL;
3276
3277#if defined(PROTOBUF_CUSTOM_VTABLE)
3278 void operator delete(CircuitConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3279 SharedDtor(*msg);
3280 ::google::protobuf::internal::SizedDelete(msg, sizeof(CircuitConstraintProto));
3281 }
3282#endif
3283
3284 template <typename = void>
3285 explicit PROTOBUF_CONSTEXPR CircuitConstraintProto(::google::protobuf::internal::ConstantInitialized);
3287 inline CircuitConstraintProto(const CircuitConstraintProto& from) : CircuitConstraintProto(nullptr, from) {}
3288 inline CircuitConstraintProto(CircuitConstraintProto&& from) noexcept
3289 : CircuitConstraintProto(nullptr, ::std::move(from)) {}
3290 inline CircuitConstraintProto& operator=(const CircuitConstraintProto& from) {
3291 CopyFrom(from);
3292 return *this;
3293 }
3294 inline CircuitConstraintProto& operator=(CircuitConstraintProto&& from) noexcept {
3295 if (this == &from) return *this;
3296 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3297 InternalSwap(&from);
3298 } else {
3299 CopyFrom(from);
3301 return *this;
3304 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3305 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3306 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3307 }
3308 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3309 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3310 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3311 }
3312
3313 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3314 return GetDescriptor();
3315 }
3316 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3317 return default_instance().GetMetadata().descriptor;
3318 }
3319 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3320 return default_instance().GetMetadata().reflection;
3321 }
3322 static const CircuitConstraintProto& default_instance() {
3323 return *reinterpret_cast<const CircuitConstraintProto*>(
3325 }
3326 static constexpr int kIndexInFileMessages = 12;
3327 friend void swap(CircuitConstraintProto& a, CircuitConstraintProto& b) { a.Swap(&b); }
3328 inline void Swap(CircuitConstraintProto* PROTOBUF_NONNULL other) {
3329 if (other == this) return;
3330 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3331 InternalSwap(other);
3332 } else {
3333 ::google::protobuf::internal::GenericSwap(this, other);
3335 }
3336 void UnsafeArenaSwap(CircuitConstraintProto* PROTOBUF_NONNULL other) {
3337 if (other == this) return;
3338 ABSL_DCHECK(GetArena() == other->GetArena());
3339 InternalSwap(other);
3340 }
3342 // implements Message ----------------------------------------------
3344 CircuitConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3345 return ::google::protobuf::Message::DefaultConstruct<CircuitConstraintProto>(arena);
3346 }
3347 using ::google::protobuf::Message::CopyFrom;
3348 void CopyFrom(const CircuitConstraintProto& from);
3349 using ::google::protobuf::Message::MergeFrom;
3350 void MergeFrom(const CircuitConstraintProto& from) { CircuitConstraintProto::MergeImpl(*this, from); }
3352 private:
3353 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3354 const ::google::protobuf::MessageLite& from_msg);
3355
3356 public:
3357 bool IsInitialized() const {
3358 return true;
3360 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3361 #if defined(PROTOBUF_CUSTOM_VTABLE)
3362 private:
3363 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3364 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3365 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3366 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3367
3368 public:
3369 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3370 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3371 ::uint8_t* PROTOBUF_NONNULL target,
3372 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3373 return _InternalSerialize(*this, target, stream);
3374 }
3375 #else // PROTOBUF_CUSTOM_VTABLE
3376 ::size_t ByteSizeLong() const final;
3377 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3378 ::uint8_t* PROTOBUF_NONNULL target,
3379 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3380 #endif // PROTOBUF_CUSTOM_VTABLE
3381 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3382
3383 private:
3384 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3385 static void SharedDtor(MessageLite& self);
3386 void InternalSwap(CircuitConstraintProto* PROTOBUF_NONNULL other);
3387 private:
3388 template <typename T>
3389 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3390 static ::absl::string_view FullMessageName() { return "operations_research.sat.CircuitConstraintProto"; }
3391
3392 explicit CircuitConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3393 CircuitConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CircuitConstraintProto& from);
3394 CircuitConstraintProto(
3395 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CircuitConstraintProto&& from) noexcept
3397 *this = ::std::move(from);
3398 }
3399 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3400 static void* PROTOBUF_NONNULL PlacementNew_(
3401 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3402 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3403 static constexpr auto InternalNewImpl_();
3404
3405 public:
3406 static constexpr auto InternalGenerateClassData_();
3407
3408 ::google::protobuf::Metadata GetMetadata() const;
3409 // nested types ----------------------------------------------------
3410
3411 // accessors -------------------------------------------------------
3412 enum : int {
3413 kTailsFieldNumber = 3,
3414 kHeadsFieldNumber = 4,
3415 kLiteralsFieldNumber = 5,
3416 };
3417 // repeated int32 tails = 3;
3418 int tails_size() const;
3419 private:
3420 int _internal_tails_size() const;
3421
3422 public:
3423 void clear_tails() ;
3424 ::int32_t tails(int index) const;
3425 void set_tails(int index, ::int32_t value);
3426 void add_tails(::int32_t value);
3427 const ::google::protobuf::RepeatedField<::int32_t>& tails() const;
3428 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_tails();
3430 private:
3431 const ::google::protobuf::RepeatedField<::int32_t>& _internal_tails() const;
3432 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_tails();
3433
3434 public:
3435 // repeated int32 heads = 4;
3436 int heads_size() const;
3437 private:
3438 int _internal_heads_size() const;
3439
3440 public:
3441 void clear_heads() ;
3442 ::int32_t heads(int index) const;
3443 void set_heads(int index, ::int32_t value);
3444 void add_heads(::int32_t value);
3445 const ::google::protobuf::RepeatedField<::int32_t>& heads() const;
3446 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_heads();
3447
3448 private:
3449 const ::google::protobuf::RepeatedField<::int32_t>& _internal_heads() const;
3450 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_heads();
3451
3452 public:
3453 // repeated int32 literals = 5;
3454 int literals_size() const;
3455 private:
3456 int _internal_literals_size() const;
3457
3458 public:
3459 void clear_literals() ;
3460 ::int32_t literals(int index) const;
3461 void set_literals(int index, ::int32_t value);
3462 void add_literals(::int32_t value);
3463 const ::google::protobuf::RepeatedField<::int32_t>& literals() const;
3464 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_literals();
3465
3466 private:
3467 const ::google::protobuf::RepeatedField<::int32_t>& _internal_literals() const;
3468 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_literals();
3469
3470 public:
3471 // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
3472 private:
3473 class _Internal;
3474 friend class ::google::protobuf::internal::TcParser;
3475 static const ::google::protobuf::internal::TcParseTable<2, 3,
3476 0, 0,
3477 2>
3478 _table_;
3479
3480 friend class ::google::protobuf::MessageLite;
3481 friend class ::google::protobuf::Arena;
3482 template <typename T>
3483 friend class ::google::protobuf::Arena::InternalHelper;
3484 using InternalArenaConstructable_ = void;
3485 using DestructorSkippable_ = void;
3486 struct Impl_ {
3487 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3488 inline explicit Impl_(
3489 ::google::protobuf::internal::InternalVisibility visibility,
3490 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3491 inline explicit Impl_(
3492 ::google::protobuf::internal::InternalVisibility visibility,
3493 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3494 const CircuitConstraintProto& from_msg);
3495 ::google::protobuf::internal::HasBits<1> _has_bits_;
3496 ::google::protobuf::internal::CachedSize _cached_size_;
3497 ::google::protobuf::RepeatedField<::int32_t> tails_;
3498 ::google::protobuf::internal::CachedSize _tails_cached_byte_size_;
3499 ::google::protobuf::RepeatedField<::int32_t> heads_;
3500 ::google::protobuf::internal::CachedSize _heads_cached_byte_size_;
3501 ::google::protobuf::RepeatedField<::int32_t> literals_;
3502 ::google::protobuf::internal::CachedSize _literals_cached_byte_size_;
3503 PROTOBUF_TSAN_DECLARE_MEMBER
3504 };
3505 union { Impl_ _impl_; };
3506 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3507};
3508
3509OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CircuitConstraintProto_class_data_;
3510// -------------------------------------------------------------------
3511
3512class OR_PROTO_DLL BoolArgumentProto final : public ::google::protobuf::Message
3513/* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
3514 public:
3515 inline BoolArgumentProto() : BoolArgumentProto(nullptr) {}
3516 ~BoolArgumentProto() PROTOBUF_FINAL;
3517
3518#if defined(PROTOBUF_CUSTOM_VTABLE)
3519 void operator delete(BoolArgumentProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3520 SharedDtor(*msg);
3521 ::google::protobuf::internal::SizedDelete(msg, sizeof(BoolArgumentProto));
3522 }
3523#endif
3524
3525 template <typename = void>
3526 explicit PROTOBUF_CONSTEXPR BoolArgumentProto(::google::protobuf::internal::ConstantInitialized);
3527
3528 inline BoolArgumentProto(const BoolArgumentProto& from) : BoolArgumentProto(nullptr, from) {}
3529 inline BoolArgumentProto(BoolArgumentProto&& from) noexcept
3530 : BoolArgumentProto(nullptr, ::std::move(from)) {}
3532 CopyFrom(from);
3533 return *this;
3534 }
3535 inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
3536 if (this == &from) return *this;
3537 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3538 InternalSwap(&from);
3539 } else {
3540 CopyFrom(from);
3541 }
3542 return *this;
3543 }
3545 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3546 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3547 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3548 }
3549 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3550 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3551 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3552 }
3553
3554 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3555 return GetDescriptor();
3556 }
3557 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3558 return default_instance().GetMetadata().descriptor;
3559 }
3560 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3561 return default_instance().GetMetadata().reflection;
3562 }
3563 static const BoolArgumentProto& default_instance() {
3564 return *reinterpret_cast<const BoolArgumentProto*>(
3566 }
3567 static constexpr int kIndexInFileMessages = 1;
3568 friend void swap(BoolArgumentProto& a, BoolArgumentProto& b) { a.Swap(&b); }
3569 inline void Swap(BoolArgumentProto* PROTOBUF_NONNULL other) {
3570 if (other == this) return;
3571 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3572 InternalSwap(other);
3573 } else {
3574 ::google::protobuf::internal::GenericSwap(this, other);
3575 }
3577 void UnsafeArenaSwap(BoolArgumentProto* PROTOBUF_NONNULL other) {
3578 if (other == this) return;
3579 ABSL_DCHECK(GetArena() == other->GetArena());
3580 InternalSwap(other);
3581 }
3582
3583 // implements Message ----------------------------------------------
3585 BoolArgumentProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3586 return ::google::protobuf::Message::DefaultConstruct<BoolArgumentProto>(arena);
3587 }
3588 using ::google::protobuf::Message::CopyFrom;
3589 void CopyFrom(const BoolArgumentProto& from);
3590 using ::google::protobuf::Message::MergeFrom;
3591 void MergeFrom(const BoolArgumentProto& from) { BoolArgumentProto::MergeImpl(*this, from); }
3592
3593 private:
3594 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3595 const ::google::protobuf::MessageLite& from_msg);
3596
3597 public:
3598 bool IsInitialized() const {
3599 return true;
3600 }
3601 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3602 #if defined(PROTOBUF_CUSTOM_VTABLE)
3603 private:
3604 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3605 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3606 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3607 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3608
3609 public:
3610 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3611 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3612 ::uint8_t* PROTOBUF_NONNULL target,
3613 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3614 return _InternalSerialize(*this, target, stream);
3615 }
3616 #else // PROTOBUF_CUSTOM_VTABLE
3617 ::size_t ByteSizeLong() const final;
3618 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3619 ::uint8_t* PROTOBUF_NONNULL target,
3620 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3621 #endif // PROTOBUF_CUSTOM_VTABLE
3622 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3623
3624 private:
3625 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3626 static void SharedDtor(MessageLite& self);
3627 void InternalSwap(BoolArgumentProto* PROTOBUF_NONNULL other);
3628 private:
3629 template <typename T>
3630 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3631 static ::absl::string_view FullMessageName() { return "operations_research.sat.BoolArgumentProto"; }
3632
3633 explicit BoolArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3634 BoolArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BoolArgumentProto& from);
3635 BoolArgumentProto(
3636 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BoolArgumentProto&& from) noexcept
3637 : BoolArgumentProto(arena) {
3638 *this = ::std::move(from);
3639 }
3640 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3641 static void* PROTOBUF_NONNULL PlacementNew_(
3642 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3643 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3644 static constexpr auto InternalNewImpl_();
3645
3646 public:
3647 static constexpr auto InternalGenerateClassData_();
3648
3649 ::google::protobuf::Metadata GetMetadata() const;
3650 // nested types ----------------------------------------------------
3651
3652 // accessors -------------------------------------------------------
3653 enum : int {
3654 kLiteralsFieldNumber = 1,
3655 };
3656 // repeated int32 literals = 1;
3657 int literals_size() const;
3658 private:
3659 int _internal_literals_size() const;
3660
3661 public:
3662 void clear_literals() ;
3663 ::int32_t literals(int index) const;
3664 void set_literals(int index, ::int32_t value);
3665 void add_literals(::int32_t value);
3666 const ::google::protobuf::RepeatedField<::int32_t>& literals() const;
3667 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_literals();
3668
3669 private:
3670 const ::google::protobuf::RepeatedField<::int32_t>& _internal_literals() const;
3671 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_literals();
3672
3673 public:
3674 // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
3675 private:
3676 class _Internal;
3677 friend class ::google::protobuf::internal::TcParser;
3678 static const ::google::protobuf::internal::TcParseTable<0, 1,
3679 0, 0,
3680 2>
3681 _table_;
3682
3683 friend class ::google::protobuf::MessageLite;
3684 friend class ::google::protobuf::Arena;
3685 template <typename T>
3686 friend class ::google::protobuf::Arena::InternalHelper;
3687 using InternalArenaConstructable_ = void;
3688 using DestructorSkippable_ = void;
3689 struct Impl_ {
3690 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3691 inline explicit Impl_(
3692 ::google::protobuf::internal::InternalVisibility visibility,
3693 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3694 inline explicit Impl_(
3695 ::google::protobuf::internal::InternalVisibility visibility,
3696 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3697 const BoolArgumentProto& from_msg);
3698 ::google::protobuf::internal::HasBits<1> _has_bits_;
3699 ::google::protobuf::internal::CachedSize _cached_size_;
3700 ::google::protobuf::RepeatedField<::int32_t> literals_;
3701 ::google::protobuf::internal::CachedSize _literals_cached_byte_size_;
3702 PROTOBUF_TSAN_DECLARE_MEMBER
3703 };
3704 union { Impl_ _impl_; };
3705 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3706};
3707
3708OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BoolArgumentProto_class_data_;
3709// -------------------------------------------------------------------
3710
3711class OR_PROTO_DLL TableConstraintProto final : public ::google::protobuf::Message
3712/* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
3713 public:
3714 inline TableConstraintProto() : TableConstraintProto(nullptr) {}
3715 ~TableConstraintProto() PROTOBUF_FINAL;
3716
3717#if defined(PROTOBUF_CUSTOM_VTABLE)
3718 void operator delete(TableConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3719 SharedDtor(*msg);
3720 ::google::protobuf::internal::SizedDelete(msg, sizeof(TableConstraintProto));
3722#endif
3723
3724 template <typename = void>
3725 explicit PROTOBUF_CONSTEXPR TableConstraintProto(::google::protobuf::internal::ConstantInitialized);
3726
3727 inline TableConstraintProto(const TableConstraintProto& from) : TableConstraintProto(nullptr, from) {}
3729 : TableConstraintProto(nullptr, ::std::move(from)) {}
3730 inline TableConstraintProto& operator=(const TableConstraintProto& from) {
3732 return *this;
3733 }
3734 inline TableConstraintProto& operator=(TableConstraintProto&& from) noexcept {
3735 if (this == &from) return *this;
3736 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3737 InternalSwap(&from);
3738 } else {
3739 CopyFrom(from);
3740 }
3741 return *this;
3743
3744 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3745 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3746 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3748 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3749 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3750 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3752
3753 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3754 return GetDescriptor();
3755 }
3756 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3757 return default_instance().GetMetadata().descriptor;
3758 }
3759 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3760 return default_instance().GetMetadata().reflection;
3762 static const TableConstraintProto& default_instance() {
3763 return *reinterpret_cast<const TableConstraintProto*>(
3766 static constexpr int kIndexInFileMessages = 15;
3767 friend void swap(TableConstraintProto& a, TableConstraintProto& b) { a.Swap(&b); }
3768 inline void Swap(TableConstraintProto* PROTOBUF_NONNULL other) {
3769 if (other == this) return;
3770 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3771 InternalSwap(other);
3772 } else {
3773 ::google::protobuf::internal::GenericSwap(this, other);
3774 }
3775 }
3776 void UnsafeArenaSwap(TableConstraintProto* PROTOBUF_NONNULL other) {
3777 if (other == this) return;
3778 ABSL_DCHECK(GetArena() == other->GetArena());
3779 InternalSwap(other);
3780 }
3781
3782 // implements Message ----------------------------------------------
3784 TableConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3785 return ::google::protobuf::Message::DefaultConstruct<TableConstraintProto>(arena);
3786 }
3787 using ::google::protobuf::Message::CopyFrom;
3788 void CopyFrom(const TableConstraintProto& from);
3789 using ::google::protobuf::Message::MergeFrom;
3790 void MergeFrom(const TableConstraintProto& from) { TableConstraintProto::MergeImpl(*this, from); }
3791
3792 private:
3793 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3794 const ::google::protobuf::MessageLite& from_msg);
3795
3796 public:
3797 bool IsInitialized() const {
3798 return true;
3799 }
3800 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3801 #if defined(PROTOBUF_CUSTOM_VTABLE)
3802 private:
3803 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3804 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3805 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3806 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3808 public:
3809 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3810 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3811 ::uint8_t* PROTOBUF_NONNULL target,
3812 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3813 return _InternalSerialize(*this, target, stream);
3815 #else // PROTOBUF_CUSTOM_VTABLE
3816 ::size_t ByteSizeLong() const final;
3817 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3818 ::uint8_t* PROTOBUF_NONNULL target,
3819 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3820 #endif // PROTOBUF_CUSTOM_VTABLE
3821 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3822
3823 private:
3824 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3825 static void SharedDtor(MessageLite& self);
3826 void InternalSwap(TableConstraintProto* PROTOBUF_NONNULL other);
3827 private:
3828 template <typename T>
3829 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3830 static ::absl::string_view FullMessageName() { return "operations_research.sat.TableConstraintProto"; }
3831
3832 explicit TableConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3833 TableConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TableConstraintProto& from);
3834 TableConstraintProto(
3835 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TableConstraintProto&& from) noexcept
3836 : TableConstraintProto(arena) {
3837 *this = ::std::move(from);
3839 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3840 static void* PROTOBUF_NONNULL PlacementNew_(
3841 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3842 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3843 static constexpr auto InternalNewImpl_();
3844
3845 public:
3846 static constexpr auto InternalGenerateClassData_();
3847
3848 ::google::protobuf::Metadata GetMetadata() const;
3849 // nested types ----------------------------------------------------
3850
3851 // accessors -------------------------------------------------------
3852 enum : int {
3853 kVarsFieldNumber = 1,
3854 kValuesFieldNumber = 2,
3855 kExprsFieldNumber = 4,
3856 kNegatedFieldNumber = 3,
3857 };
3858 // repeated int32 vars = 1;
3859 int vars_size() const;
3860 private:
3861 int _internal_vars_size() const;
3862
3863 public:
3864 void clear_vars() ;
3865 ::int32_t vars(int index) const;
3866 void set_vars(int index, ::int32_t value);
3867 void add_vars(::int32_t value);
3868 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
3869 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
3871 private:
3872 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
3873 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
3874
3875 public:
3876 // repeated int64 values = 2;
3877 int values_size() const;
3878 private:
3879 int _internal_values_size() const;
3880
3881 public:
3882 void clear_values() ;
3883 ::int64_t values(int index) const;
3884 void set_values(int index, ::int64_t value);
3885 void add_values(::int64_t value);
3886 const ::google::protobuf::RepeatedField<::int64_t>& values() const;
3887 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_values();
3888
3889 private:
3890 const ::google::protobuf::RepeatedField<::int64_t>& _internal_values() const;
3891 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_values();
3892
3893 public:
3894 // repeated .operations_research.sat.LinearExpressionProto exprs = 4;
3895 int exprs_size() const;
3896 private:
3897 int _internal_exprs_size() const;
3898
3899 public:
3900 void clear_exprs() ;
3902 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
3903
3904 private:
3905 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
3906 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
3907 public:
3908 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
3910 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
3911 // bool negated = 3;
3912 void clear_negated() ;
3913 bool negated() const;
3914 void set_negated(bool value);
3915
3916 private:
3917 bool _internal_negated() const;
3918 void _internal_set_negated(bool value);
3919
3920 public:
3921 // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3922 private:
3923 class _Internal;
3924 friend class ::google::protobuf::internal::TcParser;
3925 static const ::google::protobuf::internal::TcParseTable<2, 4,
3926 1, 0,
3927 2>
3928 _table_;
3929
3930 friend class ::google::protobuf::MessageLite;
3931 friend class ::google::protobuf::Arena;
3932 template <typename T>
3933 friend class ::google::protobuf::Arena::InternalHelper;
3934 using InternalArenaConstructable_ = void;
3935 using DestructorSkippable_ = void;
3936 struct Impl_ {
3937 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3938 inline explicit Impl_(
3939 ::google::protobuf::internal::InternalVisibility visibility,
3940 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3941 inline explicit Impl_(
3942 ::google::protobuf::internal::InternalVisibility visibility,
3943 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3944 const TableConstraintProto& from_msg);
3945 ::google::protobuf::internal::HasBits<1> _has_bits_;
3946 ::google::protobuf::internal::CachedSize _cached_size_;
3947 ::google::protobuf::RepeatedField<::int32_t> vars_;
3948 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
3949 ::google::protobuf::RepeatedField<::int64_t> values_;
3950 ::google::protobuf::internal::CachedSize _values_cached_byte_size_;
3951 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
3952 bool negated_;
3953 PROTOBUF_TSAN_DECLARE_MEMBER
3954 };
3955 union { Impl_ _impl_; };
3956 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3957};
3958
3959OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TableConstraintProto_class_data_;
3960// -------------------------------------------------------------------
3961
3962class OR_PROTO_DLL SymmetryProto final : public ::google::protobuf::Message
3963/* @@protoc_insertion_point(class_definition:operations_research.sat.SymmetryProto) */ {
3964 public:
3965 inline SymmetryProto() : SymmetryProto(nullptr) {}
3966 ~SymmetryProto() PROTOBUF_FINAL;
3967
3968#if defined(PROTOBUF_CUSTOM_VTABLE)
3969 void operator delete(SymmetryProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3970 SharedDtor(*msg);
3971 ::google::protobuf::internal::SizedDelete(msg, sizeof(SymmetryProto));
3973#endif
3974
3975 template <typename = void>
3976 explicit PROTOBUF_CONSTEXPR SymmetryProto(::google::protobuf::internal::ConstantInitialized);
3977
3978 inline SymmetryProto(const SymmetryProto& from) : SymmetryProto(nullptr, from) {}
3979 inline SymmetryProto(SymmetryProto&& from) noexcept
3980 : SymmetryProto(nullptr, ::std::move(from)) {}
3981 inline SymmetryProto& operator=(const SymmetryProto& from) {
3982 CopyFrom(from);
3983 return *this;
3984 }
3985 inline SymmetryProto& operator=(SymmetryProto&& from) noexcept {
3986 if (this == &from) return *this;
3987 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3988 InternalSwap(&from);
3989 } else {
3990 CopyFrom(from);
3991 }
3992 return *this;
3993 }
3995 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3996 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3997 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3998 }
3999 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4000 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4001 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4002 }
4004 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4005 return GetDescriptor();
4006 }
4007 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4008 return default_instance().GetMetadata().descriptor;
4009 }
4010 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4011 return default_instance().GetMetadata().reflection;
4012 }
4014 return *reinterpret_cast<const SymmetryProto*>(
4016 }
4017 static constexpr int kIndexInFileMessages = 26;
4018 friend void swap(SymmetryProto& a, SymmetryProto& b) { a.Swap(&b); }
4019 inline void Swap(SymmetryProto* PROTOBUF_NONNULL other) {
4020 if (other == this) return;
4021 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4022 InternalSwap(other);
4023 } else {
4024 ::google::protobuf::internal::GenericSwap(this, other);
4026 }
4027 void UnsafeArenaSwap(SymmetryProto* PROTOBUF_NONNULL other) {
4028 if (other == this) return;
4029 ABSL_DCHECK(GetArena() == other->GetArena());
4030 InternalSwap(other);
4032
4033 // implements Message ----------------------------------------------
4034
4035 SymmetryProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4036 return ::google::protobuf::Message::DefaultConstruct<SymmetryProto>(arena);
4038 using ::google::protobuf::Message::CopyFrom;
4039 void CopyFrom(const SymmetryProto& from);
4040 using ::google::protobuf::Message::MergeFrom;
4041 void MergeFrom(const SymmetryProto& from) { SymmetryProto::MergeImpl(*this, from); }
4042
4043 private:
4044 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4045 const ::google::protobuf::MessageLite& from_msg);
4046
4047 public:
4048 bool IsInitialized() const {
4049 return true;
4050 }
4051 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4052 #if defined(PROTOBUF_CUSTOM_VTABLE)
4053 private:
4054 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4055 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4056 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4057 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4058
4059 public:
4060 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4061 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4062 ::uint8_t* PROTOBUF_NONNULL target,
4063 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4064 return _InternalSerialize(*this, target, stream);
4065 }
4066 #else // PROTOBUF_CUSTOM_VTABLE
4067 ::size_t ByteSizeLong() const final;
4068 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4069 ::uint8_t* PROTOBUF_NONNULL target,
4070 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4071 #endif // PROTOBUF_CUSTOM_VTABLE
4072 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4073
4074 private:
4075 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4076 static void SharedDtor(MessageLite& self);
4077 void InternalSwap(SymmetryProto* PROTOBUF_NONNULL other);
4078 private:
4079 template <typename T>
4080 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4081 static ::absl::string_view FullMessageName() { return "operations_research.sat.SymmetryProto"; }
4082
4083 explicit SymmetryProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4084 SymmetryProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SymmetryProto& from);
4085 SymmetryProto(
4086 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SymmetryProto&& from) noexcept
4087 : SymmetryProto(arena) {
4088 *this = ::std::move(from);
4089 }
4090 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4091 static void* PROTOBUF_NONNULL PlacementNew_(
4092 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4093 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4094 static constexpr auto InternalNewImpl_();
4095
4096 public:
4097 static constexpr auto InternalGenerateClassData_();
4098
4099 ::google::protobuf::Metadata GetMetadata() const;
4100 // nested types ----------------------------------------------------
4101
4102 // accessors -------------------------------------------------------
4103 enum : int {
4106 };
4107 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
4108 int permutations_size() const;
4109 private:
4110 int _internal_permutations_size() const;
4111
4112 public:
4113 void clear_permutations() ;
4114 ::operations_research::sat::SparsePermutationProto* PROTOBUF_NONNULL mutable_permutations(int index);
4115 ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>* PROTOBUF_NONNULL mutable_permutations();
4116
4117 private:
4118 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>& _internal_permutations() const;
4119 ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>* PROTOBUF_NONNULL _internal_mutable_permutations();
4120 public:
4121 const ::operations_research::sat::SparsePermutationProto& permutations(int index) const;
4123 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>& permutations() const;
4124 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
4125 int orbitopes_size() const;
4126 private:
4127 int _internal_orbitopes_size() const;
4128
4129 public:
4130 void clear_orbitopes() ;
4132 ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>* PROTOBUF_NONNULL mutable_orbitopes();
4133
4134 private:
4135 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>& _internal_orbitopes() const;
4136 ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>* PROTOBUF_NONNULL _internal_mutable_orbitopes();
4137 public:
4138 const ::operations_research::sat::DenseMatrixProto& orbitopes(int index) const;
4140 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>& orbitopes() const;
4141 // @@protoc_insertion_point(class_scope:operations_research.sat.SymmetryProto)
4142 private:
4143 class _Internal;
4144 friend class ::google::protobuf::internal::TcParser;
4145 static const ::google::protobuf::internal::TcParseTable<1, 2,
4146 2, 0,
4147 2>
4148 _table_;
4149
4150 friend class ::google::protobuf::MessageLite;
4151 friend class ::google::protobuf::Arena;
4152 template <typename T>
4153 friend class ::google::protobuf::Arena::InternalHelper;
4154 using InternalArenaConstructable_ = void;
4155 using DestructorSkippable_ = void;
4156 struct Impl_ {
4157 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4158 inline explicit Impl_(
4159 ::google::protobuf::internal::InternalVisibility visibility,
4160 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4161 inline explicit Impl_(
4162 ::google::protobuf::internal::InternalVisibility visibility,
4163 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4164 const SymmetryProto& from_msg);
4165 ::google::protobuf::internal::HasBits<1> _has_bits_;
4166 ::google::protobuf::internal::CachedSize _cached_size_;
4167 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > permutations_;
4168 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > orbitopes_;
4169 PROTOBUF_TSAN_DECLARE_MEMBER
4170 };
4171 union { Impl_ _impl_; };
4172 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4173};
4174
4175OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SymmetryProto_class_data_;
4176// -------------------------------------------------------------------
4177
4178class OR_PROTO_DLL RoutesConstraintProto_NodeExpressions final : public ::google::protobuf::Message
4179/* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto.NodeExpressions) */ {
4180 public:
4181 inline RoutesConstraintProto_NodeExpressions() : RoutesConstraintProto_NodeExpressions(nullptr) {}
4182 ~RoutesConstraintProto_NodeExpressions() PROTOBUF_FINAL;
4183
4184#if defined(PROTOBUF_CUSTOM_VTABLE)
4185 void operator delete(RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
4186 SharedDtor(*msg);
4187 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutesConstraintProto_NodeExpressions));
4188 }
4189#endif
4191 template <typename = void>
4192 explicit PROTOBUF_CONSTEXPR RoutesConstraintProto_NodeExpressions(::google::protobuf::internal::ConstantInitialized);
4193
4196 : RoutesConstraintProto_NodeExpressions(nullptr, ::std::move(from)) {}
4198 CopyFrom(from);
4199 return *this;
4202 if (this == &from) return *this;
4203 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4204 InternalSwap(&from);
4205 } else {
4206 CopyFrom(from);
4207 }
4208 return *this;
4209 }
4210
4211 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4212 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4213 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4215 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4216 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4217 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4218 }
4219
4220 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4221 return GetDescriptor();
4222 }
4223 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4224 return default_instance().GetMetadata().descriptor;
4225 }
4226 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4227 return default_instance().GetMetadata().reflection;
4228 }
4229 static const RoutesConstraintProto_NodeExpressions& default_instance() {
4230 return *reinterpret_cast<const RoutesConstraintProto_NodeExpressions*>(
4232 }
4233 static constexpr int kIndexInFileMessages = 13;
4235 inline void Swap(RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL other) {
4236 if (other == this) return;
4237 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4238 InternalSwap(other);
4239 } else {
4240 ::google::protobuf::internal::GenericSwap(this, other);
4241 }
4243 void UnsafeArenaSwap(RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL other) {
4244 if (other == this) return;
4245 ABSL_DCHECK(GetArena() == other->GetArena());
4246 InternalSwap(other);
4247 }
4249 // implements Message ----------------------------------------------
4250
4251 RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4252 return ::google::protobuf::Message::DefaultConstruct<RoutesConstraintProto_NodeExpressions>(arena);
4254 using ::google::protobuf::Message::CopyFrom;
4256 using ::google::protobuf::Message::MergeFrom;
4257 void MergeFrom(const RoutesConstraintProto_NodeExpressions& from) { RoutesConstraintProto_NodeExpressions::MergeImpl(*this, from); }
4258
4259 private:
4260 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4261 const ::google::protobuf::MessageLite& from_msg);
4263 public:
4264 bool IsInitialized() const {
4265 return true;
4266 }
4267 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4268 #if defined(PROTOBUF_CUSTOM_VTABLE)
4269 private:
4270 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4271 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4272 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4273 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4274
4275 public:
4276 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4277 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4278 ::uint8_t* PROTOBUF_NONNULL target,
4279 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4280 return _InternalSerialize(*this, target, stream);
4281 }
4282 #else // PROTOBUF_CUSTOM_VTABLE
4283 ::size_t ByteSizeLong() const final;
4284 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4285 ::uint8_t* PROTOBUF_NONNULL target,
4286 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4287 #endif // PROTOBUF_CUSTOM_VTABLE
4288 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4289
4290 private:
4291 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4292 static void SharedDtor(MessageLite& self);
4293 void InternalSwap(RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL other);
4294 private:
4295 template <typename T>
4296 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4297 static ::absl::string_view FullMessageName() { return "operations_research.sat.RoutesConstraintProto.NodeExpressions"; }
4298
4299 explicit RoutesConstraintProto_NodeExpressions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4300 RoutesConstraintProto_NodeExpressions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoutesConstraintProto_NodeExpressions& from);
4301 RoutesConstraintProto_NodeExpressions(
4302 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutesConstraintProto_NodeExpressions&& from) noexcept
4303 : RoutesConstraintProto_NodeExpressions(arena) {
4304 *this = ::std::move(from);
4305 }
4306 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4307 static void* PROTOBUF_NONNULL PlacementNew_(
4308 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4309 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4310 static constexpr auto InternalNewImpl_();
4311
4312 public:
4313 static constexpr auto InternalGenerateClassData_();
4314
4315 ::google::protobuf::Metadata GetMetadata() const;
4316 // nested types ----------------------------------------------------
4317
4318 // accessors -------------------------------------------------------
4319 enum : int {
4321 };
4322 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
4323 int exprs_size() const;
4324 private:
4325 int _internal_exprs_size() const;
4326
4327 public:
4328 void clear_exprs() ;
4329 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_exprs(int index);
4330 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
4331
4332 private:
4333 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
4334 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
4335 public:
4336 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
4337 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL add_exprs();
4338 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
4339 // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto.NodeExpressions)
4340 private:
4341 class _Internal;
4342 friend class ::google::protobuf::internal::TcParser;
4343 static const ::google::protobuf::internal::TcParseTable<0, 1,
4344 1, 0,
4345 2>
4346 _table_;
4347
4348 friend class ::google::protobuf::MessageLite;
4349 friend class ::google::protobuf::Arena;
4350 template <typename T>
4351 friend class ::google::protobuf::Arena::InternalHelper;
4352 using InternalArenaConstructable_ = void;
4353 using DestructorSkippable_ = void;
4354 struct Impl_ {
4355 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4356 inline explicit Impl_(
4357 ::google::protobuf::internal::InternalVisibility visibility,
4358 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4359 inline explicit Impl_(
4360 ::google::protobuf::internal::InternalVisibility visibility,
4361 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4363 ::google::protobuf::internal::HasBits<1> _has_bits_;
4364 ::google::protobuf::internal::CachedSize _cached_size_;
4365 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
4366 PROTOBUF_TSAN_DECLARE_MEMBER
4368 union { Impl_ _impl_; };
4369 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4371
4372OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutesConstraintProto_NodeExpressions_class_data_;
4373// -------------------------------------------------------------------
4374
4375class OR_PROTO_DLL ReservoirConstraintProto final : public ::google::protobuf::Message
4376/* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
4377 public:
4379 ~ReservoirConstraintProto() PROTOBUF_FINAL;
4380
4381#if defined(PROTOBUF_CUSTOM_VTABLE)
4382 void operator delete(ReservoirConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
4383 SharedDtor(*msg);
4384 ::google::protobuf::internal::SizedDelete(msg, sizeof(ReservoirConstraintProto));
4385 }
4386#endif
4388 template <typename = void>
4389 explicit PROTOBUF_CONSTEXPR ReservoirConstraintProto(::google::protobuf::internal::ConstantInitialized);
4390
4391 inline ReservoirConstraintProto(const ReservoirConstraintProto& from) : ReservoirConstraintProto(nullptr, from) {}
4393 : ReservoirConstraintProto(nullptr, ::std::move(from)) {}
4394 inline ReservoirConstraintProto& operator=(const ReservoirConstraintProto& from) {
4396 return *this;
4397 }
4399 if (this == &from) return *this;
4400 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4401 InternalSwap(&from);
4402 } else {
4403 CopyFrom(from);
4404 }
4405 return *this;
4406 }
4407
4408 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4409 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4410 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4412 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4413 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4414 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4415 }
4416
4417 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4419 }
4420 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4421 return default_instance().GetMetadata().descriptor;
4422 }
4423 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4424 return default_instance().GetMetadata().reflection;
4425 }
4426 static const ReservoirConstraintProto& default_instance() {
4427 return *reinterpret_cast<const ReservoirConstraintProto*>(
4429 }
4430 static constexpr int kIndexInFileMessages = 11;
4431 friend void swap(ReservoirConstraintProto& a, ReservoirConstraintProto& b) { a.Swap(&b); }
4432 inline void Swap(ReservoirConstraintProto* PROTOBUF_NONNULL other) {
4433 if (other == this) return;
4434 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4435 InternalSwap(other);
4436 } else {
4437 ::google::protobuf::internal::GenericSwap(this, other);
4438 }
4439 }
4440 void UnsafeArenaSwap(ReservoirConstraintProto* PROTOBUF_NONNULL other) {
4441 if (other == this) return;
4442 ABSL_DCHECK(GetArena() == other->GetArena());
4443 InternalSwap(other);
4444 }
4445
4446 // implements Message ----------------------------------------------
4447
4448 ReservoirConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4449 return ::google::protobuf::Message::DefaultConstruct<ReservoirConstraintProto>(arena);
4451 using ::google::protobuf::Message::CopyFrom;
4453 using ::google::protobuf::Message::MergeFrom;
4454 void MergeFrom(const ReservoirConstraintProto& from) { ReservoirConstraintProto::MergeImpl(*this, from); }
4455
4456 private:
4457 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4458 const ::google::protobuf::MessageLite& from_msg);
4459
4460 public:
4461 bool IsInitialized() const {
4462 return true;
4463 }
4464 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4465 #if defined(PROTOBUF_CUSTOM_VTABLE)
4466 private:
4467 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4468 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4469 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4470 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4471
4472 public:
4473 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4474 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4475 ::uint8_t* PROTOBUF_NONNULL target,
4476 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4477 return _InternalSerialize(*this, target, stream);
4478 }
4479 #else // PROTOBUF_CUSTOM_VTABLE
4480 ::size_t ByteSizeLong() const final;
4481 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4482 ::uint8_t* PROTOBUF_NONNULL target,
4483 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4484 #endif // PROTOBUF_CUSTOM_VTABLE
4485 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4486
4487 private:
4488 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4489 static void SharedDtor(MessageLite& self);
4490 void InternalSwap(ReservoirConstraintProto* PROTOBUF_NONNULL other);
4491 private:
4492 template <typename T>
4493 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4494 static ::absl::string_view FullMessageName() { return "operations_research.sat.ReservoirConstraintProto"; }
4495
4496 explicit ReservoirConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4497 ReservoirConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReservoirConstraintProto& from);
4498 ReservoirConstraintProto(
4499 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReservoirConstraintProto&& from) noexcept
4500 : ReservoirConstraintProto(arena) {
4501 *this = ::std::move(from);
4502 }
4503 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4504 static void* PROTOBUF_NONNULL PlacementNew_(
4505 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4506 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4507 static constexpr auto InternalNewImpl_();
4508
4509 public:
4510 static constexpr auto InternalGenerateClassData_();
4511
4512 ::google::protobuf::Metadata GetMetadata() const;
4513 // nested types ----------------------------------------------------
4514
4515 // accessors -------------------------------------------------------
4516 enum : int {
4522 };
4523 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
4524 int time_exprs_size() const;
4525 private:
4526 int _internal_time_exprs_size() const;
4527
4528 public:
4529 void clear_time_exprs() ;
4530 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_time_exprs(int index);
4531 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_time_exprs();
4532
4533 private:
4534 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_time_exprs() const;
4535 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_time_exprs();
4536 public:
4537 const ::operations_research::sat::LinearExpressionProto& time_exprs(int index) const;
4539 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& time_exprs() const;
4540 // repeated int32 active_literals = 5;
4542 private:
4543 int _internal_active_literals_size() const;
4544
4545 public:
4546 void clear_active_literals() ;
4547 ::int32_t active_literals(int index) const;
4548 void set_active_literals(int index, ::int32_t value);
4549 void add_active_literals(::int32_t value);
4550 const ::google::protobuf::RepeatedField<::int32_t>& active_literals() const;
4551 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_active_literals();
4552
4553 private:
4554 const ::google::protobuf::RepeatedField<::int32_t>& _internal_active_literals() const;
4555 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_active_literals();
4556
4557 public:
4558 // repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
4559 int level_changes_size() const;
4560 private:
4561 int _internal_level_changes_size() const;
4562
4563 public:
4564 void clear_level_changes() ;
4566 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_level_changes();
4567
4568 private:
4569 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_level_changes() const;
4570 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_level_changes();
4571 public:
4572 const ::operations_research::sat::LinearExpressionProto& level_changes(int index) const;
4574 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& level_changes() const;
4575 // int64 min_level = 1;
4576 void clear_min_level() ;
4577 ::int64_t min_level() const;
4578 void set_min_level(::int64_t value);
4579
4580 private:
4581 ::int64_t _internal_min_level() const;
4582 void _internal_set_min_level(::int64_t value);
4583
4584 public:
4585 // int64 max_level = 2;
4586 void clear_max_level() ;
4587 ::int64_t max_level() const;
4588 void set_max_level(::int64_t value);
4589
4590 private:
4591 ::int64_t _internal_max_level() const;
4592 void _internal_set_max_level(::int64_t value);
4593
4594 public:
4595 // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
4596 private:
4597 class _Internal;
4598 friend class ::google::protobuf::internal::TcParser;
4599 static const ::google::protobuf::internal::TcParseTable<3, 5,
4600 2, 0,
4601 2>
4602 _table_;
4603
4604 friend class ::google::protobuf::MessageLite;
4605 friend class ::google::protobuf::Arena;
4606 template <typename T>
4607 friend class ::google::protobuf::Arena::InternalHelper;
4608 using InternalArenaConstructable_ = void;
4609 using DestructorSkippable_ = void;
4610 struct Impl_ {
4611 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4612 inline explicit Impl_(
4613 ::google::protobuf::internal::InternalVisibility visibility,
4614 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4615 inline explicit Impl_(
4616 ::google::protobuf::internal::InternalVisibility visibility,
4617 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4619 ::google::protobuf::internal::HasBits<1> _has_bits_;
4620 ::google::protobuf::internal::CachedSize _cached_size_;
4621 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > time_exprs_;
4622 ::google::protobuf::RepeatedField<::int32_t> active_literals_;
4623 ::google::protobuf::internal::CachedSize _active_literals_cached_byte_size_;
4624 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > level_changes_;
4625 ::int64_t min_level_;
4626 ::int64_t max_level_;
4627 PROTOBUF_TSAN_DECLARE_MEMBER
4628 };
4629 union { Impl_ _impl_; };
4630 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4631};
4632
4633OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ReservoirConstraintProto_class_data_;
4634// -------------------------------------------------------------------
4635
4636class OR_PROTO_DLL LinearArgumentProto final : public ::google::protobuf::Message
4637/* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
4638 public:
4639 inline LinearArgumentProto() : LinearArgumentProto(nullptr) {}
4640 ~LinearArgumentProto() PROTOBUF_FINAL;
4641
4642#if defined(PROTOBUF_CUSTOM_VTABLE)
4643 void operator delete(LinearArgumentProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
4644 SharedDtor(*msg);
4645 ::google::protobuf::internal::SizedDelete(msg, sizeof(LinearArgumentProto));
4646 }
4647#endif
4648
4649 template <typename = void>
4650 explicit PROTOBUF_CONSTEXPR LinearArgumentProto(::google::protobuf::internal::ConstantInitialized);
4651
4652 inline LinearArgumentProto(const LinearArgumentProto& from) : LinearArgumentProto(nullptr, from) {}
4653 inline LinearArgumentProto(LinearArgumentProto&& from) noexcept
4654 : LinearArgumentProto(nullptr, ::std::move(from)) {}
4655 inline LinearArgumentProto& operator=(const LinearArgumentProto& from) {
4656 CopyFrom(from);
4657 return *this;
4658 }
4659 inline LinearArgumentProto& operator=(LinearArgumentProto&& from) noexcept {
4660 if (this == &from) return *this;
4661 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4662 InternalSwap(&from);
4663 } else {
4664 CopyFrom(from);
4665 }
4666 return *this;
4667 }
4668
4669 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4670 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4671 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4672 }
4673 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4674 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4675 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4677
4678 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4679 return GetDescriptor();
4681 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4682 return default_instance().GetMetadata().descriptor;
4683 }
4684 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4685 return default_instance().GetMetadata().reflection;
4686 }
4687 static const LinearArgumentProto& default_instance() {
4688 return *reinterpret_cast<const LinearArgumentProto*>(
4689 &_LinearArgumentProto_default_instance_);
4691 static constexpr int kIndexInFileMessages = 3;
4692 friend void swap(LinearArgumentProto& a, LinearArgumentProto& b) { a.Swap(&b); }
4693 inline void Swap(LinearArgumentProto* PROTOBUF_NONNULL other) {
4694 if (other == this) return;
4695 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4696 InternalSwap(other);
4697 } else {
4698 ::google::protobuf::internal::GenericSwap(this, other);
4700 }
4701 void UnsafeArenaSwap(LinearArgumentProto* PROTOBUF_NONNULL other) {
4702 if (other == this) return;
4703 ABSL_DCHECK(GetArena() == other->GetArena());
4704 InternalSwap(other);
4706
4707 // implements Message ----------------------------------------------
4709 LinearArgumentProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4710 return ::google::protobuf::Message::DefaultConstruct<LinearArgumentProto>(arena);
4711 }
4712 using ::google::protobuf::Message::CopyFrom;
4714 using ::google::protobuf::Message::MergeFrom;
4715 void MergeFrom(const LinearArgumentProto& from) { LinearArgumentProto::MergeImpl(*this, from); }
4716
4717 private:
4718 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4719 const ::google::protobuf::MessageLite& from_msg);
4720
4721 public:
4722 bool IsInitialized() const {
4723 return true;
4724 }
4725 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4726 #if defined(PROTOBUF_CUSTOM_VTABLE)
4727 private:
4728 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4729 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4730 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4731 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4732
4733 public:
4734 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4735 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4736 ::uint8_t* PROTOBUF_NONNULL target,
4737 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4738 return _InternalSerialize(*this, target, stream);
4739 }
4740 #else // PROTOBUF_CUSTOM_VTABLE
4741 ::size_t ByteSizeLong() const final;
4742 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4743 ::uint8_t* PROTOBUF_NONNULL target,
4744 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4745 #endif // PROTOBUF_CUSTOM_VTABLE
4746 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4747
4748 private:
4749 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4750 static void SharedDtor(MessageLite& self);
4751 void InternalSwap(LinearArgumentProto* PROTOBUF_NONNULL other);
4752 private:
4753 template <typename T>
4754 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4755 static ::absl::string_view FullMessageName() { return "operations_research.sat.LinearArgumentProto"; }
4756
4757 explicit LinearArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4758 LinearArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const LinearArgumentProto& from);
4759 LinearArgumentProto(
4760 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, LinearArgumentProto&& from) noexcept
4761 : LinearArgumentProto(arena) {
4762 *this = ::std::move(from);
4763 }
4764 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4765 static void* PROTOBUF_NONNULL PlacementNew_(
4766 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4767 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4768 static constexpr auto InternalNewImpl_();
4769
4770 public:
4771 static constexpr auto InternalGenerateClassData_();
4772
4773 ::google::protobuf::Metadata GetMetadata() const;
4774 // nested types ----------------------------------------------------
4775
4776 // accessors -------------------------------------------------------
4777 enum : int {
4780 };
4781 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
4782 int exprs_size() const;
4783 private:
4784 int _internal_exprs_size() const;
4785
4786 public:
4787 void clear_exprs() ;
4788 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_exprs(int index);
4789 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
4790
4791 private:
4792 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
4793 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
4794 public:
4795 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
4796 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL add_exprs();
4797 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
4798 // .operations_research.sat.LinearExpressionProto target = 1;
4799 bool has_target() const;
4801 const ::operations_research::sat::LinearExpressionProto& target() const;
4802 [[nodiscard]] ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE release_target();
4807
4808 private:
4809 const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
4810 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_target();
4811
4812 public:
4813 // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
4814 private:
4815 class _Internal;
4816 friend class ::google::protobuf::internal::TcParser;
4817 static const ::google::protobuf::internal::TcParseTable<1, 2,
4818 2, 0,
4819 2>
4820 _table_;
4821
4822 friend class ::google::protobuf::MessageLite;
4823 friend class ::google::protobuf::Arena;
4824 template <typename T>
4825 friend class ::google::protobuf::Arena::InternalHelper;
4826 using InternalArenaConstructable_ = void;
4827 using DestructorSkippable_ = void;
4828 struct Impl_ {
4829 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4830 inline explicit Impl_(
4831 ::google::protobuf::internal::InternalVisibility visibility,
4832 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4833 inline explicit Impl_(
4834 ::google::protobuf::internal::InternalVisibility visibility,
4835 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4836 const LinearArgumentProto& from_msg);
4837 ::google::protobuf::internal::HasBits<1> _has_bits_;
4838 ::google::protobuf::internal::CachedSize _cached_size_;
4839 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
4840 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE target_;
4841 PROTOBUF_TSAN_DECLARE_MEMBER
4842 };
4843 union { Impl_ _impl_; };
4844 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4845};
4847OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull LinearArgumentProto_class_data_;
4848// -------------------------------------------------------------------
4849
4850class OR_PROTO_DLL IntervalConstraintProto final : public ::google::protobuf::Message
4851/* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
4852 public:
4854 ~IntervalConstraintProto() PROTOBUF_FINAL;
4855
4856#if defined(PROTOBUF_CUSTOM_VTABLE)
4857 void operator delete(IntervalConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
4858 SharedDtor(*msg);
4859 ::google::protobuf::internal::SizedDelete(msg, sizeof(IntervalConstraintProto));
4860 }
4861#endif
4862
4863 template <typename = void>
4864 explicit PROTOBUF_CONSTEXPR IntervalConstraintProto(::google::protobuf::internal::ConstantInitialized);
4866 inline IntervalConstraintProto(const IntervalConstraintProto& from) : IntervalConstraintProto(nullptr, from) {}
4867 inline IntervalConstraintProto(IntervalConstraintProto&& from) noexcept
4868 : IntervalConstraintProto(nullptr, ::std::move(from)) {}
4869 inline IntervalConstraintProto& operator=(const IntervalConstraintProto& from) {
4870 CopyFrom(from);
4871 return *this;
4873 inline IntervalConstraintProto& operator=(IntervalConstraintProto&& from) noexcept {
4874 if (this == &from) return *this;
4875 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4876 InternalSwap(&from);
4877 } else {
4878 CopyFrom(from);
4879 }
4880 return *this;
4881 }
4882
4883 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4884 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4885 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4887 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4888 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4889 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4890 }
4892 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4893 return GetDescriptor();
4894 }
4895 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4896 return default_instance().GetMetadata().descriptor;
4897 }
4898 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4899 return default_instance().GetMetadata().reflection;
4900 }
4901 static const IntervalConstraintProto& default_instance() {
4902 return *reinterpret_cast<const IntervalConstraintProto*>(
4903 &_IntervalConstraintProto_default_instance_);
4904 }
4905 static constexpr int kIndexInFileMessages = 7;
4906 friend void swap(IntervalConstraintProto& a, IntervalConstraintProto& b) { a.Swap(&b); }
4907 inline void Swap(IntervalConstraintProto* PROTOBUF_NONNULL other) {
4908 if (other == this) return;
4909 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4910 InternalSwap(other);
4911 } else {
4912 ::google::protobuf::internal::GenericSwap(this, other);
4913 }
4915 void UnsafeArenaSwap(IntervalConstraintProto* PROTOBUF_NONNULL other) {
4916 if (other == this) return;
4917 ABSL_DCHECK(GetArena() == other->GetArena());
4918 InternalSwap(other);
4919 }
4921 // implements Message ----------------------------------------------
4922
4923 IntervalConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4924 return ::google::protobuf::Message::DefaultConstruct<IntervalConstraintProto>(arena);
4925 }
4926 using ::google::protobuf::Message::CopyFrom;
4928 using ::google::protobuf::Message::MergeFrom;
4929 void MergeFrom(const IntervalConstraintProto& from) { IntervalConstraintProto::MergeImpl(*this, from); }
4930
4931 private:
4932 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4933 const ::google::protobuf::MessageLite& from_msg);
4934
4935 public:
4936 bool IsInitialized() const {
4937 return true;
4938 }
4939 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4940 #if defined(PROTOBUF_CUSTOM_VTABLE)
4941 private:
4942 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4943 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4944 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4945 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4946
4947 public:
4948 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4949 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4950 ::uint8_t* PROTOBUF_NONNULL target,
4951 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4952 return _InternalSerialize(*this, target, stream);
4953 }
4954 #else // PROTOBUF_CUSTOM_VTABLE
4955 ::size_t ByteSizeLong() const final;
4956 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4957 ::uint8_t* PROTOBUF_NONNULL target,
4958 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4959 #endif // PROTOBUF_CUSTOM_VTABLE
4960 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4961
4962 private:
4963 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4964 static void SharedDtor(MessageLite& self);
4965 void InternalSwap(IntervalConstraintProto* PROTOBUF_NONNULL other);
4966 private:
4967 template <typename T>
4968 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4969 static ::absl::string_view FullMessageName() { return "operations_research.sat.IntervalConstraintProto"; }
4970
4971 explicit IntervalConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4972 IntervalConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IntervalConstraintProto& from);
4973 IntervalConstraintProto(
4974 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, IntervalConstraintProto&& from) noexcept
4975 : IntervalConstraintProto(arena) {
4976 *this = ::std::move(from);
4977 }
4978 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4979 static void* PROTOBUF_NONNULL PlacementNew_(
4980 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4981 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4982 static constexpr auto InternalNewImpl_();
4983
4984 public:
4985 static constexpr auto InternalGenerateClassData_();
4986
4987 ::google::protobuf::Metadata GetMetadata() const;
4988 // nested types ----------------------------------------------------
4989
4990 // accessors -------------------------------------------------------
4991 enum : int {
4993 kEndFieldNumber = 5,
4994 kSizeFieldNumber = 6,
4995 };
4996 // .operations_research.sat.LinearExpressionProto start = 4;
4997 bool has_start() const;
4998 void clear_start() ;
4999 const ::operations_research::sat::LinearExpressionProto& start() const;
5000 [[nodiscard]] ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE release_start();
5001 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_start();
5002 void set_allocated_start(::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value);
5003 void unsafe_arena_set_allocated_start(::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value);
5004 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE unsafe_arena_release_start();
5005
5006 private:
5007 const ::operations_research::sat::LinearExpressionProto& _internal_start() const;
5008 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_start();
5009
5010 public:
5011 // .operations_research.sat.LinearExpressionProto end = 5;
5012 bool has_end() const;
5013 void clear_end() ;
5014 const ::operations_research::sat::LinearExpressionProto& end() const;
5020
5021 private:
5022 const ::operations_research::sat::LinearExpressionProto& _internal_end() const;
5023 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_end();
5024
5025 public:
5026 // .operations_research.sat.LinearExpressionProto size = 6;
5027 bool has_size() const;
5028 void clear_size() ;
5029 const ::operations_research::sat::LinearExpressionProto& size() const;
5030 [[nodiscard]] ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE release_size();
5035
5036 private:
5037 const ::operations_research::sat::LinearExpressionProto& _internal_size() const;
5038 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_size();
5039
5040 public:
5041 // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
5042 private:
5043 class _Internal;
5044 friend class ::google::protobuf::internal::TcParser;
5045 static const ::google::protobuf::internal::TcParseTable<2, 3,
5046 3, 0,
5047 2>
5048 _table_;
5049
5050 friend class ::google::protobuf::MessageLite;
5051 friend class ::google::protobuf::Arena;
5052 template <typename T>
5053 friend class ::google::protobuf::Arena::InternalHelper;
5054 using InternalArenaConstructable_ = void;
5055 using DestructorSkippable_ = void;
5056 struct Impl_ {
5057 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5058 inline explicit Impl_(
5059 ::google::protobuf::internal::InternalVisibility visibility,
5060 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5061 inline explicit Impl_(
5062 ::google::protobuf::internal::InternalVisibility visibility,
5063 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5064 const IntervalConstraintProto& from_msg);
5065 ::google::protobuf::internal::HasBits<1> _has_bits_;
5066 ::google::protobuf::internal::CachedSize _cached_size_;
5067 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE start_;
5070 PROTOBUF_TSAN_DECLARE_MEMBER
5071 };
5072 union { Impl_ _impl_; };
5073 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5074};
5076OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull IntervalConstraintProto_class_data_;
5077// -------------------------------------------------------------------
5078
5079class OR_PROTO_DLL ElementConstraintProto final : public ::google::protobuf::Message
5080/* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
5081 public:
5082 inline ElementConstraintProto() : ElementConstraintProto(nullptr) {}
5083 ~ElementConstraintProto() PROTOBUF_FINAL;
5084
5085#if defined(PROTOBUF_CUSTOM_VTABLE)
5086 void operator delete(ElementConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
5087 SharedDtor(*msg);
5088 ::google::protobuf::internal::SizedDelete(msg, sizeof(ElementConstraintProto));
5089 }
5090#endif
5091
5092 template <typename = void>
5093 explicit PROTOBUF_CONSTEXPR ElementConstraintProto(::google::protobuf::internal::ConstantInitialized);
5096 inline ElementConstraintProto(ElementConstraintProto&& from) noexcept
5097 : ElementConstraintProto(nullptr, ::std::move(from)) {}
5098 inline ElementConstraintProto& operator=(const ElementConstraintProto& from) {
5099 CopyFrom(from);
5100 return *this;
5101 }
5103 if (this == &from) return *this;
5104 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5105 InternalSwap(&from);
5106 } else {
5107 CopyFrom(from);
5108 }
5109 return *this;
5110 }
5111
5112 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5113 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5114 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5115 }
5116 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5117 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5118 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5120
5121 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5122 return GetDescriptor();
5123 }
5124 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5125 return default_instance().GetMetadata().descriptor;
5126 }
5127 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5128 return default_instance().GetMetadata().reflection;
5129 }
5130 static const ElementConstraintProto& default_instance() {
5131 return *reinterpret_cast<const ElementConstraintProto*>(
5132 &_ElementConstraintProto_default_instance_);
5133 }
5134 static constexpr int kIndexInFileMessages = 6;
5136 inline void Swap(ElementConstraintProto* PROTOBUF_NONNULL other) {
5137 if (other == this) return;
5138 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5139 InternalSwap(other);
5140 } else {
5141 ::google::protobuf::internal::GenericSwap(this, other);
5142 }
5143 }
5144 void UnsafeArenaSwap(ElementConstraintProto* PROTOBUF_NONNULL other) {
5145 if (other == this) return;
5146 ABSL_DCHECK(GetArena() == other->GetArena());
5147 InternalSwap(other);
5148 }
5149
5150 // implements Message ----------------------------------------------
5151
5152 ElementConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5153 return ::google::protobuf::Message::DefaultConstruct<ElementConstraintProto>(arena);
5154 }
5155 using ::google::protobuf::Message::CopyFrom;
5156 void CopyFrom(const ElementConstraintProto& from);
5157 using ::google::protobuf::Message::MergeFrom;
5158 void MergeFrom(const ElementConstraintProto& from) { ElementConstraintProto::MergeImpl(*this, from); }
5160 private:
5161 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5162 const ::google::protobuf::MessageLite& from_msg);
5163
5164 public:
5165 bool IsInitialized() const {
5166 return true;
5168 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5169 #if defined(PROTOBUF_CUSTOM_VTABLE)
5170 private:
5171 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5172 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5173 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5174 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5176 public:
5177 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5178 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5179 ::uint8_t* PROTOBUF_NONNULL target,
5180 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5181 return _InternalSerialize(*this, target, stream);
5182 }
5183 #else // PROTOBUF_CUSTOM_VTABLE
5184 ::size_t ByteSizeLong() const final;
5185 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5186 ::uint8_t* PROTOBUF_NONNULL target,
5187 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5188 #endif // PROTOBUF_CUSTOM_VTABLE
5189 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5190
5191 private:
5192 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5193 static void SharedDtor(MessageLite& self);
5194 void InternalSwap(ElementConstraintProto* PROTOBUF_NONNULL other);
5195 private:
5196 template <typename T>
5197 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5198 static ::absl::string_view FullMessageName() { return "operations_research.sat.ElementConstraintProto"; }
5199
5200 explicit ElementConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5201 ElementConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ElementConstraintProto& from);
5202 ElementConstraintProto(
5203 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ElementConstraintProto&& from) noexcept
5204 : ElementConstraintProto(arena) {
5205 *this = ::std::move(from);
5206 }
5207 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
5208 static void* PROTOBUF_NONNULL PlacementNew_(
5209 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5210 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5211 static constexpr auto InternalNewImpl_();
5213 public:
5214 static constexpr auto InternalGenerateClassData_();
5215
5216 ::google::protobuf::Metadata GetMetadata() const;
5217 // nested types ----------------------------------------------------
5218
5219 // accessors -------------------------------------------------------
5220 enum : int {
5221 kVarsFieldNumber = 3,
5227 };
5228 // repeated int32 vars = 3;
5229 int vars_size() const;
5230 private:
5231 int _internal_vars_size() const;
5232
5233 public:
5234 void clear_vars() ;
5235 ::int32_t vars(int index) const;
5236 void set_vars(int index, ::int32_t value);
5237 void add_vars(::int32_t value);
5238 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
5239 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
5240
5241 private:
5242 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
5243 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
5245 public:
5246 // repeated .operations_research.sat.LinearExpressionProto exprs = 6;
5247 int exprs_size() const;
5248 private:
5249 int _internal_exprs_size() const;
5250
5251 public:
5252 void clear_exprs() ;
5254 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
5255
5256 private:
5257 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
5258 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
5259 public:
5260 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
5262 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
5263 // .operations_research.sat.LinearExpressionProto linear_index = 4;
5264 bool has_linear_index() const;
5265 void clear_linear_index() ;
5266 const ::operations_research::sat::LinearExpressionProto& linear_index() const;
5272
5273 private:
5274 const ::operations_research::sat::LinearExpressionProto& _internal_linear_index() const;
5275 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_linear_index();
5276
5277 public:
5278 // .operations_research.sat.LinearExpressionProto linear_target = 5;
5279 bool has_linear_target() const;
5280 void clear_linear_target() ;
5281 const ::operations_research::sat::LinearExpressionProto& linear_target() const;
5287
5288 private:
5289 const ::operations_research::sat::LinearExpressionProto& _internal_linear_target() const;
5290 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_linear_target();
5291
5292 public:
5293 // int32 index = 1;
5294 void clear_index() ;
5295 ::int32_t index() const;
5296 void set_index(::int32_t value);
5297
5298 private:
5299 ::int32_t _internal_index() const;
5300 void _internal_set_index(::int32_t value);
5301
5302 public:
5303 // int32 target = 2;
5304 void clear_target() ;
5305 ::int32_t target() const;
5306 void set_target(::int32_t value);
5307
5308 private:
5309 ::int32_t _internal_target() const;
5310 void _internal_set_target(::int32_t value);
5311
5312 public:
5313 // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
5314 private:
5315 class _Internal;
5316 friend class ::google::protobuf::internal::TcParser;
5317 static const ::google::protobuf::internal::TcParseTable<3, 6,
5318 3, 0,
5319 2>
5320 _table_;
5321
5322 friend class ::google::protobuf::MessageLite;
5323 friend class ::google::protobuf::Arena;
5324 template <typename T>
5325 friend class ::google::protobuf::Arena::InternalHelper;
5326 using InternalArenaConstructable_ = void;
5327 using DestructorSkippable_ = void;
5328 struct Impl_ {
5329 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5330 inline explicit Impl_(
5331 ::google::protobuf::internal::InternalVisibility visibility,
5332 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5333 inline explicit Impl_(
5334 ::google::protobuf::internal::InternalVisibility visibility,
5335 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5336 const ElementConstraintProto& from_msg);
5337 ::google::protobuf::internal::HasBits<1> _has_bits_;
5338 ::google::protobuf::internal::CachedSize _cached_size_;
5339 ::google::protobuf::RepeatedField<::int32_t> vars_;
5340 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
5341 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
5342 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE linear_index_;
5343 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE linear_target_;
5344 ::int32_t index_;
5345 ::int32_t target_;
5346 PROTOBUF_TSAN_DECLARE_MEMBER
5347 };
5348 union { Impl_ _impl_; };
5349 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5350};
5351
5352OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ElementConstraintProto_class_data_;
5353// -------------------------------------------------------------------
5354
5355class OR_PROTO_DLL DecisionStrategyProto final : public ::google::protobuf::Message
5356/* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
5357 public:
5358 inline DecisionStrategyProto() : DecisionStrategyProto(nullptr) {}
5359 ~DecisionStrategyProto() PROTOBUF_FINAL;
5360
5361#if defined(PROTOBUF_CUSTOM_VTABLE)
5362 void operator delete(DecisionStrategyProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
5363 SharedDtor(*msg);
5364 ::google::protobuf::internal::SizedDelete(msg, sizeof(DecisionStrategyProto));
5365 }
5366#endif
5367
5368 template <typename = void>
5369 explicit PROTOBUF_CONSTEXPR DecisionStrategyProto(::google::protobuf::internal::ConstantInitialized);
5370
5373 : DecisionStrategyProto(nullptr, ::std::move(from)) {}
5374 inline DecisionStrategyProto& operator=(const DecisionStrategyProto& from) {
5375 CopyFrom(from);
5376 return *this;
5377 }
5378 inline DecisionStrategyProto& operator=(DecisionStrategyProto&& from) noexcept {
5379 if (this == &from) return *this;
5380 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5381 InternalSwap(&from);
5382 } else {
5383 CopyFrom(from);
5384 }
5385 return *this;
5386 }
5387
5388 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5389 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5390 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5391 }
5392 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5393 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5394 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5397 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5399 }
5400 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5401 return default_instance().GetMetadata().descriptor;
5403 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5404 return default_instance().GetMetadata().reflection;
5405 }
5406 static const DecisionStrategyProto& default_instance() {
5407 return *reinterpret_cast<const DecisionStrategyProto*>(
5408 &_DecisionStrategyProto_default_instance_);
5409 }
5410 static constexpr int kIndexInFileMessages = 22;
5411 friend void swap(DecisionStrategyProto& a, DecisionStrategyProto& b) { a.Swap(&b); }
5412 inline void Swap(DecisionStrategyProto* PROTOBUF_NONNULL other) {
5413 if (other == this) return;
5414 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5415 InternalSwap(other);
5416 } else {
5417 ::google::protobuf::internal::GenericSwap(this, other);
5418 }
5419 }
5420 void UnsafeArenaSwap(DecisionStrategyProto* PROTOBUF_NONNULL other) {
5421 if (other == this) return;
5422 ABSL_DCHECK(GetArena() == other->GetArena());
5423 InternalSwap(other);
5425
5426 // implements Message ----------------------------------------------
5428 DecisionStrategyProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5429 return ::google::protobuf::Message::DefaultConstruct<DecisionStrategyProto>(arena);
5431 using ::google::protobuf::Message::CopyFrom;
5432 void CopyFrom(const DecisionStrategyProto& from);
5433 using ::google::protobuf::Message::MergeFrom;
5434 void MergeFrom(const DecisionStrategyProto& from) { DecisionStrategyProto::MergeImpl(*this, from); }
5436 private:
5437 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5438 const ::google::protobuf::MessageLite& from_msg);
5439
5440 public:
5441 bool IsInitialized() const {
5442 return true;
5443 }
5444 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5445 #if defined(PROTOBUF_CUSTOM_VTABLE)
5446 private:
5447 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5448 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5449 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5450 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5451
5452 public:
5453 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5454 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5455 ::uint8_t* PROTOBUF_NONNULL target,
5456 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5457 return _InternalSerialize(*this, target, stream);
5459 #else // PROTOBUF_CUSTOM_VTABLE
5460 ::size_t ByteSizeLong() const final;
5461 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5462 ::uint8_t* PROTOBUF_NONNULL target,
5463 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5464 #endif // PROTOBUF_CUSTOM_VTABLE
5465 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5466
5467 private:
5468 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5469 static void SharedDtor(MessageLite& self);
5470 void InternalSwap(DecisionStrategyProto* PROTOBUF_NONNULL other);
5471 private:
5472 template <typename T>
5473 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5474 static ::absl::string_view FullMessageName() { return "operations_research.sat.DecisionStrategyProto"; }
5475
5476 explicit DecisionStrategyProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5477 DecisionStrategyProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DecisionStrategyProto& from);
5478 DecisionStrategyProto(
5479 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DecisionStrategyProto&& from) noexcept
5480 : DecisionStrategyProto(arena) {
5481 *this = ::std::move(from);
5482 }
5483 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
5484 static void* PROTOBUF_NONNULL PlacementNew_(
5485 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5486 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5487 static constexpr auto InternalNewImpl_();
5488
5489 public:
5490 static constexpr auto InternalGenerateClassData_();
5491
5492 ::google::protobuf::Metadata GetMetadata() const;
5493 // nested types ----------------------------------------------------
5500 static inline bool VariableSelectionStrategy_IsValid(int value) {
5502 }
5503 static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN = DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN;
5504 static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX = DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX;
5505 static constexpr int VariableSelectionStrategy_ARRAYSIZE = DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE;
5506 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL VariableSelectionStrategy_descriptor() {
5508 }
5509 template <typename T>
5510 static inline const ::std::string& VariableSelectionStrategy_Name(T value) {
5511 return DecisionStrategyProto_VariableSelectionStrategy_Name(value);
5512 }
5513 static inline bool VariableSelectionStrategy_Parse(
5514 ::absl::string_view name, VariableSelectionStrategy* PROTOBUF_NONNULL value) {
5515 return DecisionStrategyProto_VariableSelectionStrategy_Parse(name, value);
5516 }
5517 using DomainReductionStrategy = DecisionStrategyProto_DomainReductionStrategy;
5524 static inline bool DomainReductionStrategy_IsValid(int value) {
5526 }
5530 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL DomainReductionStrategy_descriptor() {
5532 }
5533 template <typename T>
5534 static inline const ::std::string& DomainReductionStrategy_Name(T value) {
5536 }
5538 ::absl::string_view name, DomainReductionStrategy* PROTOBUF_NONNULL value) {
5540 }
5542 // accessors -------------------------------------------------------
5543 enum : int {
5549 // repeated int32 variables = 1;
5550 int variables_size() const;
5551 private:
5552 int _internal_variables_size() const;
5554 public:
5555 void clear_variables() ;
5556 ::int32_t variables(int index) const;
5557 void set_variables(int index, ::int32_t value);
5558 void add_variables(::int32_t value);
5559 const ::google::protobuf::RepeatedField<::int32_t>& variables() const;
5560 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_variables();
5562 private:
5563 const ::google::protobuf::RepeatedField<::int32_t>& _internal_variables() const;
5564 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_variables();
5565
5566 public:
5567 // repeated .operations_research.sat.LinearExpressionProto exprs = 5;
5568 int exprs_size() const;
5569 private:
5570 int _internal_exprs_size() const;
5572 public:
5573 void clear_exprs() ;
5575 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
5576
5577 private:
5578 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
5579 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
5580 public:
5581 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
5583 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
5584 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
5588
5589 private:
5590 ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
5591 void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
5592
5593 public:
5594 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
5598
5599 private:
5600 ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
5601 void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
5602
5603 public:
5604 // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
5605 private:
5606 class _Internal;
5607 friend class ::google::protobuf::internal::TcParser;
5608 static const ::google::protobuf::internal::TcParseTable<3, 4,
5609 1, 0,
5610 2>
5611 _table_;
5612
5613 friend class ::google::protobuf::MessageLite;
5614 friend class ::google::protobuf::Arena;
5615 template <typename T>
5616 friend class ::google::protobuf::Arena::InternalHelper;
5617 using InternalArenaConstructable_ = void;
5618 using DestructorSkippable_ = void;
5619 struct Impl_ {
5620 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5621 inline explicit Impl_(
5622 ::google::protobuf::internal::InternalVisibility visibility,
5623 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5624 inline explicit Impl_(
5625 ::google::protobuf::internal::InternalVisibility visibility,
5626 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5627 const DecisionStrategyProto& from_msg);
5628 ::google::protobuf::internal::HasBits<1> _has_bits_;
5629 ::google::protobuf::internal::CachedSize _cached_size_;
5630 ::google::protobuf::RepeatedField<::int32_t> variables_;
5631 ::google::protobuf::internal::CachedSize _variables_cached_byte_size_;
5632 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
5633 int variable_selection_strategy_;
5634 int domain_reduction_strategy_;
5635 PROTOBUF_TSAN_DECLARE_MEMBER
5636 };
5637 union { Impl_ _impl_; };
5638 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5639};
5641OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull DecisionStrategyProto_class_data_;
5642// -------------------------------------------------------------------
5643
5644class OR_PROTO_DLL CumulativeConstraintProto final : public ::google::protobuf::Message
5645/* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
5646 public:
5648 ~CumulativeConstraintProto() PROTOBUF_FINAL;
5649
5650#if defined(PROTOBUF_CUSTOM_VTABLE)
5651 void operator delete(CumulativeConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
5652 SharedDtor(*msg);
5653 ::google::protobuf::internal::SizedDelete(msg, sizeof(CumulativeConstraintProto));
5654 }
5655#endif
5656
5657 template <typename = void>
5658 explicit PROTOBUF_CONSTEXPR CumulativeConstraintProto(::google::protobuf::internal::ConstantInitialized);
5659
5662 : CumulativeConstraintProto(nullptr, ::std::move(from)) {}
5663 inline CumulativeConstraintProto& operator=(const CumulativeConstraintProto& from) {
5664 CopyFrom(from);
5665 return *this;
5666 }
5667 inline CumulativeConstraintProto& operator=(CumulativeConstraintProto&& from) noexcept {
5668 if (this == &from) return *this;
5669 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5670 InternalSwap(&from);
5671 } else {
5673 }
5674 return *this;
5675 }
5676
5677 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5678 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5679 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5680 }
5681 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5682 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5683 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5684 }
5686 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5687 return GetDescriptor();
5689 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5690 return default_instance().GetMetadata().descriptor;
5691 }
5692 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5693 return default_instance().GetMetadata().reflection;
5694 }
5695 static const CumulativeConstraintProto& default_instance() {
5696 return *reinterpret_cast<const CumulativeConstraintProto*>(
5698 }
5699 static constexpr int kIndexInFileMessages = 10;
5700 friend void swap(CumulativeConstraintProto& a, CumulativeConstraintProto& b) { a.Swap(&b); }
5701 inline void Swap(CumulativeConstraintProto* PROTOBUF_NONNULL other) {
5702 if (other == this) return;
5703 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5704 InternalSwap(other);
5705 } else {
5706 ::google::protobuf::internal::GenericSwap(this, other);
5707 }
5708 }
5709 void UnsafeArenaSwap(CumulativeConstraintProto* PROTOBUF_NONNULL other) {
5710 if (other == this) return;
5711 ABSL_DCHECK(GetArena() == other->GetArena());
5712 InternalSwap(other);
5713 }
5715 // implements Message ----------------------------------------------
5716
5717 CumulativeConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5718 return ::google::protobuf::Message::DefaultConstruct<CumulativeConstraintProto>(arena);
5719 }
5720 using ::google::protobuf::Message::CopyFrom;
5721 void CopyFrom(const CumulativeConstraintProto& from);
5722 using ::google::protobuf::Message::MergeFrom;
5723 void MergeFrom(const CumulativeConstraintProto& from) { CumulativeConstraintProto::MergeImpl(*this, from); }
5725 private:
5726 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5727 const ::google::protobuf::MessageLite& from_msg);
5728
5729 public:
5730 bool IsInitialized() const {
5731 return true;
5732 }
5733 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5734 #if defined(PROTOBUF_CUSTOM_VTABLE)
5735 private:
5736 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5737 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5738 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5739 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5740
5741 public:
5742 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5743 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5744 ::uint8_t* PROTOBUF_NONNULL target,
5745 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5746 return _InternalSerialize(*this, target, stream);
5747 }
5748 #else // PROTOBUF_CUSTOM_VTABLE
5749 ::size_t ByteSizeLong() const final;
5750 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5751 ::uint8_t* PROTOBUF_NONNULL target,
5752 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5753 #endif // PROTOBUF_CUSTOM_VTABLE
5754 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5756 private:
5757 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5758 static void SharedDtor(MessageLite& self);
5759 void InternalSwap(CumulativeConstraintProto* PROTOBUF_NONNULL other);
5760 private:
5761 template <typename T>
5762 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5763 static ::absl::string_view FullMessageName() { return "operations_research.sat.CumulativeConstraintProto"; }
5764
5765 explicit CumulativeConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5766 CumulativeConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CumulativeConstraintProto& from);
5768 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CumulativeConstraintProto&& from) noexcept
5769 : CumulativeConstraintProto(arena) {
5770 *this = ::std::move(from);
5771 }
5772 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
5773 static void* PROTOBUF_NONNULL PlacementNew_(
5774 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5775 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5776 static constexpr auto InternalNewImpl_();
5777
5778 public:
5779 static constexpr auto InternalGenerateClassData_();
5780
5781 ::google::protobuf::Metadata GetMetadata() const;
5782 // nested types ----------------------------------------------------
5783
5784 // accessors -------------------------------------------------------
5785 enum : int {
5789 };
5790 // repeated int32 intervals = 2;
5791 int intervals_size() const;
5792 private:
5793 int _internal_intervals_size() const;
5794
5795 public:
5796 void clear_intervals() ;
5797 ::int32_t intervals(int index) const;
5798 void set_intervals(int index, ::int32_t value);
5799 void add_intervals(::int32_t value);
5800 const ::google::protobuf::RepeatedField<::int32_t>& intervals() const;
5801 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_intervals();
5802
5803 private:
5804 const ::google::protobuf::RepeatedField<::int32_t>& _internal_intervals() const;
5805 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_intervals();
5806
5807 public:
5808 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
5809 int demands_size() const;
5810 private:
5811 int _internal_demands_size() const;
5813 public:
5814 void clear_demands() ;
5816 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_demands();
5817
5818 private:
5819 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_demands() const;
5820 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_demands();
5821 public:
5822 const ::operations_research::sat::LinearExpressionProto& demands(int index) const;
5824 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& demands() const;
5825 // .operations_research.sat.LinearExpressionProto capacity = 1;
5826 bool has_capacity() const;
5827 void clear_capacity() ;
5828 const ::operations_research::sat::LinearExpressionProto& capacity() const;
5834
5835 private:
5836 const ::operations_research::sat::LinearExpressionProto& _internal_capacity() const;
5837 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL _internal_mutable_capacity();
5838
5839 public:
5840 // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
5841 private:
5842 class _Internal;
5843 friend class ::google::protobuf::internal::TcParser;
5844 static const ::google::protobuf::internal::TcParseTable<2, 3,
5845 2, 0,
5846 2>
5847 _table_;
5848
5849 friend class ::google::protobuf::MessageLite;
5850 friend class ::google::protobuf::Arena;
5851 template <typename T>
5852 friend class ::google::protobuf::Arena::InternalHelper;
5853 using InternalArenaConstructable_ = void;
5854 using DestructorSkippable_ = void;
5855 struct Impl_ {
5856 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5857 inline explicit Impl_(
5858 ::google::protobuf::internal::InternalVisibility visibility,
5859 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5860 inline explicit Impl_(
5861 ::google::protobuf::internal::InternalVisibility visibility,
5862 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5863 const CumulativeConstraintProto& from_msg);
5864 ::google::protobuf::internal::HasBits<1> _has_bits_;
5865 ::google::protobuf::internal::CachedSize _cached_size_;
5866 ::google::protobuf::RepeatedField<::int32_t> intervals_;
5867 ::google::protobuf::internal::CachedSize _intervals_cached_byte_size_;
5868 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > demands_;
5869 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE capacity_;
5870 PROTOBUF_TSAN_DECLARE_MEMBER
5871 };
5872 union { Impl_ _impl_; };
5873 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5876OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CumulativeConstraintProto_class_data_;
5877// -------------------------------------------------------------------
5878
5879class OR_PROTO_DLL CpSolverResponse final : public ::google::protobuf::Message
5880/* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
5881 public:
5882 inline CpSolverResponse() : CpSolverResponse(nullptr) {}
5883 ~CpSolverResponse() PROTOBUF_FINAL;
5884
5885#if defined(PROTOBUF_CUSTOM_VTABLE)
5886 void operator delete(CpSolverResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
5887 SharedDtor(*msg);
5888 ::google::protobuf::internal::SizedDelete(msg, sizeof(CpSolverResponse));
5889 }
5890#endif
5891
5892 template <typename = void>
5893 explicit PROTOBUF_CONSTEXPR CpSolverResponse(::google::protobuf::internal::ConstantInitialized);
5894
5895 inline CpSolverResponse(const CpSolverResponse& from) : CpSolverResponse(nullptr, from) {}
5896 inline CpSolverResponse(CpSolverResponse&& from) noexcept
5897 : CpSolverResponse(nullptr, ::std::move(from)) {}
5899 CopyFrom(from);
5900 return *this;
5901 }
5902 inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
5903 if (this == &from) return *this;
5904 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5905 InternalSwap(&from);
5906 } else {
5907 CopyFrom(from);
5909 return *this;
5910 }
5911
5912 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5913 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5914 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5915 }
5916 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5917 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5918 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5920
5921 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5923 }
5924 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5925 return default_instance().GetMetadata().descriptor;
5926 }
5927 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5928 return default_instance().GetMetadata().reflection;
5929 }
5930 static const CpSolverResponse& default_instance() {
5931 return *reinterpret_cast<const CpSolverResponse*>(
5933 }
5934 static constexpr int kIndexInFileMessages = 29;
5935 friend void swap(CpSolverResponse& a, CpSolverResponse& b) { a.Swap(&b); }
5936 inline void Swap(CpSolverResponse* PROTOBUF_NONNULL other) {
5937 if (other == this) return;
5938 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5939 InternalSwap(other);
5940 } else {
5941 ::google::protobuf::internal::GenericSwap(this, other);
5943 }
5944 void UnsafeArenaSwap(CpSolverResponse* PROTOBUF_NONNULL other) {
5945 if (other == this) return;
5946 ABSL_DCHECK(GetArena() == other->GetArena());
5947 InternalSwap(other);
5948 }
5949
5950 // implements Message ----------------------------------------------
5951
5952 CpSolverResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5953 return ::google::protobuf::Message::DefaultConstruct<CpSolverResponse>(arena);
5954 }
5955 using ::google::protobuf::Message::CopyFrom;
5956 void CopyFrom(const CpSolverResponse& from);
5957 using ::google::protobuf::Message::MergeFrom;
5958 void MergeFrom(const CpSolverResponse& from) { CpSolverResponse::MergeImpl(*this, from); }
5959
5960 private:
5961 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5962 const ::google::protobuf::MessageLite& from_msg);
5963
5964 public:
5965 bool IsInitialized() const {
5966 return true;
5967 }
5968 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5969 #if defined(PROTOBUF_CUSTOM_VTABLE)
5970 private:
5971 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5972 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5973 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5974 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5975
5976 public:
5977 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5978 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5979 ::uint8_t* PROTOBUF_NONNULL target,
5980 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5981 return _InternalSerialize(*this, target, stream);
5982 }
5983 #else // PROTOBUF_CUSTOM_VTABLE
5984 ::size_t ByteSizeLong() const final;
5985 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5986 ::uint8_t* PROTOBUF_NONNULL target,
5987 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5988 #endif // PROTOBUF_CUSTOM_VTABLE
5989 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5990
5991 private:
5992 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5993 static void SharedDtor(MessageLite& self);
5994 void InternalSwap(CpSolverResponse* PROTOBUF_NONNULL other);
5995 private:
5996 template <typename T>
5997 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5998 static ::absl::string_view FullMessageName() { return "operations_research.sat.CpSolverResponse"; }
5999
6000 explicit CpSolverResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6001 CpSolverResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CpSolverResponse& from);
6003 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CpSolverResponse&& from) noexcept
6004 : CpSolverResponse(arena) {
6005 *this = ::std::move(from);
6006 }
6007 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
6008 static void* PROTOBUF_NONNULL PlacementNew_(
6009 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6010 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6011 static constexpr auto InternalNewImpl_();
6012
6013 public:
6014 static constexpr auto InternalGenerateClassData_();
6016 ::google::protobuf::Metadata GetMetadata() const;
6017 // nested types ----------------------------------------------------
6018
6019 // accessors -------------------------------------------------------
6020 enum : int {
6045 };
6046 // repeated int64 solution = 2;
6047 int solution_size() const;
6048 private:
6049 int _internal_solution_size() const;
6051 public:
6053 ::int64_t solution(int index) const;
6054 void set_solution(int index, ::int64_t value);
6055 void add_solution(::int64_t value);
6056 const ::google::protobuf::RepeatedField<::int64_t>& solution() const;
6057 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_solution();
6059 private:
6060 const ::google::protobuf::RepeatedField<::int64_t>& _internal_solution() const;
6061 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_solution();
6063 public:
6064 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
6066 private:
6067 int _internal_tightened_variables_size() const;
6069 public:
6072 ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL mutable_tightened_variables();
6073
6074 private:
6075 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& _internal_tightened_variables() const;
6076 ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL _internal_mutable_tightened_variables();
6077 public:
6078 const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
6080 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& tightened_variables() const;
6081 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
6083 private:
6084 int _internal_sufficient_assumptions_for_infeasibility_size() const;
6085
6086 public:
6088 ::int32_t sufficient_assumptions_for_infeasibility(int index) const;
6089 void set_sufficient_assumptions_for_infeasibility(int index, ::int32_t value);
6091 const ::google::protobuf::RepeatedField<::int32_t>& sufficient_assumptions_for_infeasibility() const;
6092 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_sufficient_assumptions_for_infeasibility();
6093
6094 private:
6095 const ::google::protobuf::RepeatedField<::int32_t>& _internal_sufficient_assumptions_for_infeasibility() const;
6096 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_sufficient_assumptions_for_infeasibility();
6097
6098 public:
6099 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
6100 int additional_solutions_size() const;
6101 private:
6102 int _internal_additional_solutions_size() const;
6103
6104 public:
6107 ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>* PROTOBUF_NONNULL mutable_additional_solutions();
6108
6109 private:
6110 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>& _internal_additional_solutions() const;
6111 ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>* PROTOBUF_NONNULL _internal_mutable_additional_solutions();
6112 public:
6113 const ::operations_research::sat::CpSolverSolution& additional_solutions(int index) const;
6115 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>& additional_solutions() const;
6116 // string solution_info = 20;
6117 void clear_solution_info() ;
6118 const ::std::string& solution_info() const;
6119 template <typename Arg_ = const ::std::string&, typename... Args_>
6120 void set_solution_info(Arg_&& arg, Args_... args);
6121 ::std::string* PROTOBUF_NONNULL mutable_solution_info();
6122 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_solution_info();
6123 void set_allocated_solution_info(::std::string* PROTOBUF_NULLABLE value);
6124
6125 private:
6126 const ::std::string& _internal_solution_info() const;
6127 PROTOBUF_ALWAYS_INLINE void _internal_set_solution_info(const ::std::string& value);
6128 ::std::string* PROTOBUF_NONNULL _internal_mutable_solution_info();
6129
6130 public:
6131 // string solve_log = 26;
6132 void clear_solve_log() ;
6133 const ::std::string& solve_log() const;
6134 template <typename Arg_ = const ::std::string&, typename... Args_>
6135 void set_solve_log(Arg_&& arg, Args_... args);
6136 ::std::string* PROTOBUF_NONNULL mutable_solve_log();
6137 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_solve_log();
6138 void set_allocated_solve_log(::std::string* PROTOBUF_NULLABLE value);
6139
6140 private:
6141 const ::std::string& _internal_solve_log() const;
6142 PROTOBUF_ALWAYS_INLINE void _internal_set_solve_log(const ::std::string& value);
6143 ::std::string* PROTOBUF_NONNULL _internal_mutable_solve_log();
6144
6145 public:
6146 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
6147 bool has_integer_objective() const;
6149 const ::operations_research::sat::CpObjectiveProto& integer_objective() const;
6155
6156 private:
6157 const ::operations_research::sat::CpObjectiveProto& _internal_integer_objective() const;
6158 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL _internal_mutable_integer_objective();
6159
6160 public:
6161 // double objective_value = 3;
6162 void clear_objective_value() ;
6163 double objective_value() const;
6164 void set_objective_value(double value);
6165
6166 private:
6167 double _internal_objective_value() const;
6168 void _internal_set_objective_value(double value);
6169
6170 public:
6171 // double best_objective_bound = 4;
6173 double best_objective_bound() const;
6174 void set_best_objective_bound(double value);
6175
6176 private:
6177 double _internal_best_objective_bound() const;
6178 void _internal_set_best_objective_bound(double value);
6179
6180 public:
6181 // int64 num_booleans = 10;
6182 void clear_num_booleans() ;
6183 ::int64_t num_booleans() const;
6184 void set_num_booleans(::int64_t value);
6185
6186 private:
6187 ::int64_t _internal_num_booleans() const;
6188 void _internal_set_num_booleans(::int64_t value);
6189
6190 public:
6191 // int64 num_conflicts = 11;
6192 void clear_num_conflicts() ;
6193 ::int64_t num_conflicts() const;
6194 void set_num_conflicts(::int64_t value);
6195
6196 private:
6197 ::int64_t _internal_num_conflicts() const;
6198 void _internal_set_num_conflicts(::int64_t value);
6199
6200 public:
6201 // int64 num_branches = 12;
6202 void clear_num_branches() ;
6203 ::int64_t num_branches() const;
6204 void set_num_branches(::int64_t value);
6205
6206 private:
6207 ::int64_t _internal_num_branches() const;
6208 void _internal_set_num_branches(::int64_t value);
6209
6210 public:
6211 // int64 num_binary_propagations = 13;
6213 ::int64_t num_binary_propagations() const;
6214 void set_num_binary_propagations(::int64_t value);
6215
6216 private:
6217 ::int64_t _internal_num_binary_propagations() const;
6218 void _internal_set_num_binary_propagations(::int64_t value);
6219
6220 public:
6221 // int64 num_integer_propagations = 14;
6223 ::int64_t num_integer_propagations() const;
6224 void set_num_integer_propagations(::int64_t value);
6225
6226 private:
6227 ::int64_t _internal_num_integer_propagations() const;
6228 void _internal_set_num_integer_propagations(::int64_t value);
6229
6230 public:
6231 // double wall_time = 15;
6232 void clear_wall_time() ;
6233 double wall_time() const;
6234 void set_wall_time(double value);
6235
6236 private:
6237 double _internal_wall_time() const;
6238 void _internal_set_wall_time(double value);
6239
6240 public:
6241 // double user_time = 16;
6242 void clear_user_time() ;
6243 double user_time() const;
6244 void set_user_time(double value);
6245
6246 private:
6247 double _internal_user_time() const;
6248 void _internal_set_user_time(double value);
6249
6250 public:
6251 // double deterministic_time = 17;
6253 double deterministic_time() const;
6254 void set_deterministic_time(double value);
6255
6256 private:
6257 double _internal_deterministic_time() const;
6258 void _internal_set_deterministic_time(double value);
6259
6260 public:
6261 // double gap_integral = 22;
6262 void clear_gap_integral() ;
6263 double gap_integral() const;
6264 void set_gap_integral(double value);
6265
6266 private:
6267 double _internal_gap_integral() const;
6268 void _internal_set_gap_integral(double value);
6269
6270 public:
6271 // int64 num_restarts = 24;
6272 void clear_num_restarts() ;
6273 ::int64_t num_restarts() const;
6274 void set_num_restarts(::int64_t value);
6275
6276 private:
6277 ::int64_t _internal_num_restarts() const;
6278 void _internal_set_num_restarts(::int64_t value);
6279
6280 public:
6281 // int64 num_lp_iterations = 25;
6283 ::int64_t num_lp_iterations() const;
6284 void set_num_lp_iterations(::int64_t value);
6285
6286 private:
6287 ::int64_t _internal_num_lp_iterations() const;
6288 void _internal_set_num_lp_iterations(::int64_t value);
6289
6290 public:
6291 // int64 inner_objective_lower_bound = 29;
6293 ::int64_t inner_objective_lower_bound() const;
6294 void set_inner_objective_lower_bound(::int64_t value);
6295
6296 private:
6297 ::int64_t _internal_inner_objective_lower_bound() const;
6298 void _internal_set_inner_objective_lower_bound(::int64_t value);
6299
6300 public:
6301 // int64 num_integers = 30;
6302 void clear_num_integers() ;
6303 ::int64_t num_integers() const;
6304 void set_num_integers(::int64_t value);
6305
6306 private:
6307 ::int64_t _internal_num_integers() const;
6308 void _internal_set_num_integers(::int64_t value);
6309
6310 public:
6311 // int64 num_fixed_booleans = 31;
6313 ::int64_t num_fixed_booleans() const;
6314 void set_num_fixed_booleans(::int64_t value);
6315
6316 private:
6317 ::int64_t _internal_num_fixed_booleans() const;
6318 void _internal_set_num_fixed_booleans(::int64_t value);
6319
6320 public:
6321 // .operations_research.sat.CpSolverStatus status = 1;
6322 void clear_status() ;
6325
6326 private:
6327 ::operations_research::sat::CpSolverStatus _internal_status() const;
6328 void _internal_set_status(::operations_research::sat::CpSolverStatus value);
6329
6330 public:
6331 // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
6332 private:
6333 class _Internal;
6334 friend class ::google::protobuf::internal::TcParser;
6335 static const ::google::protobuf::internal::TcParseTable<5, 24,
6336 3, 95,
6337 2>
6338 _table_;
6339
6340 friend class ::google::protobuf::MessageLite;
6341 friend class ::google::protobuf::Arena;
6342 template <typename T>
6343 friend class ::google::protobuf::Arena::InternalHelper;
6344 using InternalArenaConstructable_ = void;
6345 using DestructorSkippable_ = void;
6346 struct Impl_ {
6347 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
6348 inline explicit Impl_(
6349 ::google::protobuf::internal::InternalVisibility visibility,
6350 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6351 inline explicit Impl_(
6352 ::google::protobuf::internal::InternalVisibility visibility,
6353 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6354 const CpSolverResponse& from_msg);
6355 ::google::protobuf::internal::HasBits<1> _has_bits_;
6356 ::google::protobuf::internal::CachedSize _cached_size_;
6357 ::google::protobuf::RepeatedField<::int64_t> solution_;
6358 ::google::protobuf::internal::CachedSize _solution_cached_byte_size_;
6359 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
6360 ::google::protobuf::RepeatedField<::int32_t> sufficient_assumptions_for_infeasibility_;
6361 ::google::protobuf::internal::CachedSize _sufficient_assumptions_for_infeasibility_cached_byte_size_;
6362 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::CpSolverSolution > additional_solutions_;
6363 ::google::protobuf::internal::ArenaStringPtr solution_info_;
6364 ::google::protobuf::internal::ArenaStringPtr solve_log_;
6365 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE integer_objective_;
6366 double objective_value_;
6367 double best_objective_bound_;
6368 ::int64_t num_booleans_;
6369 ::int64_t num_conflicts_;
6370 ::int64_t num_branches_;
6371 ::int64_t num_binary_propagations_;
6372 ::int64_t num_integer_propagations_;
6373 double wall_time_;
6374 double user_time_;
6375 double deterministic_time_;
6376 double gap_integral_;
6377 ::int64_t num_restarts_;
6378 ::int64_t num_lp_iterations_;
6379 ::int64_t inner_objective_lower_bound_;
6380 ::int64_t num_integers_;
6381 ::int64_t num_fixed_booleans_;
6382 int status_;
6383 PROTOBUF_TSAN_DECLARE_MEMBER
6384 };
6385 union { Impl_ _impl_; };
6386 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6387};
6388
6389OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpSolverResponse_class_data_;
6390// -------------------------------------------------------------------
6391
6392class OR_PROTO_DLL AutomatonConstraintProto final : public ::google::protobuf::Message
6393/* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
6394 public:
6395 inline AutomatonConstraintProto() : AutomatonConstraintProto(nullptr) {}
6396 ~AutomatonConstraintProto() PROTOBUF_FINAL;
6397
6398#if defined(PROTOBUF_CUSTOM_VTABLE)
6399 void operator delete(AutomatonConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
6400 SharedDtor(*msg);
6401 ::google::protobuf::internal::SizedDelete(msg, sizeof(AutomatonConstraintProto));
6402 }
6403#endif
6404
6405 template <typename = void>
6406 explicit PROTOBUF_CONSTEXPR AutomatonConstraintProto(::google::protobuf::internal::ConstantInitialized);
6407
6408 inline AutomatonConstraintProto(const AutomatonConstraintProto& from) : AutomatonConstraintProto(nullptr, from) {}
6409 inline AutomatonConstraintProto(AutomatonConstraintProto&& from) noexcept
6410 : AutomatonConstraintProto(nullptr, ::std::move(from)) {}
6413 return *this;
6414 }
6415 inline AutomatonConstraintProto& operator=(AutomatonConstraintProto&& from) noexcept {
6416 if (this == &from) return *this;
6417 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
6418 InternalSwap(&from);
6419 } else {
6420 CopyFrom(from);
6421 }
6422 return *this;
6423 }
6424
6425 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6426 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6427 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6428 }
6429 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
6430 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6431 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6432 }
6434 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
6437 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
6438 return default_instance().GetMetadata().descriptor;
6439 }
6440 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
6441 return default_instance().GetMetadata().reflection;
6443 static const AutomatonConstraintProto& default_instance() {
6444 return *reinterpret_cast<const AutomatonConstraintProto*>(
6446 }
6447 static constexpr int kIndexInFileMessages = 17;
6448 friend void swap(AutomatonConstraintProto& a, AutomatonConstraintProto& b) { a.Swap(&b); }
6449 inline void Swap(AutomatonConstraintProto* PROTOBUF_NONNULL other) {
6450 if (other == this) return;
6451 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
6452 InternalSwap(other);
6453 } else {
6454 ::google::protobuf::internal::GenericSwap(this, other);
6455 }
6457 void UnsafeArenaSwap(AutomatonConstraintProto* PROTOBUF_NONNULL other) {
6458 if (other == this) return;
6459 ABSL_DCHECK(GetArena() == other->GetArena());
6460 InternalSwap(other);
6462
6463 // implements Message ----------------------------------------------
6465 AutomatonConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
6466 return ::google::protobuf::Message::DefaultConstruct<AutomatonConstraintProto>(arena);
6468 using ::google::protobuf::Message::CopyFrom;
6469 void CopyFrom(const AutomatonConstraintProto& from);
6470 using ::google::protobuf::Message::MergeFrom;
6471 void MergeFrom(const AutomatonConstraintProto& from) { AutomatonConstraintProto::MergeImpl(*this, from); }
6472
6473 private:
6474 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
6475 const ::google::protobuf::MessageLite& from_msg);
6477 public:
6478 bool IsInitialized() const {
6479 return true;
6480 }
6481 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6482 #if defined(PROTOBUF_CUSTOM_VTABLE)
6483 private:
6484 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6485 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6486 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
6487 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
6488
6489 public:
6490 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
6491 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6492 ::uint8_t* PROTOBUF_NONNULL target,
6493 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
6494 return _InternalSerialize(*this, target, stream);
6495 }
6496 #else // PROTOBUF_CUSTOM_VTABLE
6497 ::size_t ByteSizeLong() const final;
6498 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6499 ::uint8_t* PROTOBUF_NONNULL target,
6500 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
6501 #endif // PROTOBUF_CUSTOM_VTABLE
6502 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6503
6504 private:
6505 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6506 static void SharedDtor(MessageLite& self);
6507 void InternalSwap(AutomatonConstraintProto* PROTOBUF_NONNULL other);
6508 private:
6509 template <typename T>
6510 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
6511 static ::absl::string_view FullMessageName() { return "operations_research.sat.AutomatonConstraintProto"; }
6512
6513 explicit AutomatonConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6514 AutomatonConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AutomatonConstraintProto& from);
6516 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AutomatonConstraintProto&& from) noexcept
6517 : AutomatonConstraintProto(arena) {
6518 *this = ::std::move(from);
6519 }
6520 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
6521 static void* PROTOBUF_NONNULL PlacementNew_(
6522 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6523 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6524 static constexpr auto InternalNewImpl_();
6525
6526 public:
6527 static constexpr auto InternalGenerateClassData_();
6528
6529 ::google::protobuf::Metadata GetMetadata() const;
6530 // nested types ----------------------------------------------------
6531
6532 // accessors -------------------------------------------------------
6533 enum : int {
6538 kVarsFieldNumber = 7,
6541 };
6542 // repeated int64 final_states = 3;
6543 int final_states_size() const;
6544 private:
6545 int _internal_final_states_size() const;
6546
6547 public:
6548 void clear_final_states() ;
6549 ::int64_t final_states(int index) const;
6550 void set_final_states(int index, ::int64_t value);
6551 void add_final_states(::int64_t value);
6552 const ::google::protobuf::RepeatedField<::int64_t>& final_states() const;
6553 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_final_states();
6554
6555 private:
6556 const ::google::protobuf::RepeatedField<::int64_t>& _internal_final_states() const;
6557 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_final_states();
6558
6559 public:
6560 // repeated int64 transition_tail = 4;
6562 private:
6563 int _internal_transition_tail_size() const;
6565 public:
6567 ::int64_t transition_tail(int index) const;
6568 void set_transition_tail(int index, ::int64_t value);
6569 void add_transition_tail(::int64_t value);
6570 const ::google::protobuf::RepeatedField<::int64_t>& transition_tail() const;
6571 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_transition_tail();
6572
6573 private:
6574 const ::google::protobuf::RepeatedField<::int64_t>& _internal_transition_tail() const;
6575 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_transition_tail();
6576
6577 public:
6578 // repeated int64 transition_head = 5;
6579 int transition_head_size() const;
6580 private:
6581 int _internal_transition_head_size() const;
6582
6583 public:
6584 void clear_transition_head() ;
6585 ::int64_t transition_head(int index) const;
6586 void set_transition_head(int index, ::int64_t value);
6587 void add_transition_head(::int64_t value);
6588 const ::google::protobuf::RepeatedField<::int64_t>& transition_head() const;
6589 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_transition_head();
6590
6591 private:
6592 const ::google::protobuf::RepeatedField<::int64_t>& _internal_transition_head() const;
6593 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_transition_head();
6594
6595 public:
6596 // repeated int64 transition_label = 6;
6597 int transition_label_size() const;
6598 private:
6599 int _internal_transition_label_size() const;
6600
6601 public:
6602 void clear_transition_label() ;
6603 ::int64_t transition_label(int index) const;
6604 void set_transition_label(int index, ::int64_t value);
6605 void add_transition_label(::int64_t value);
6606 const ::google::protobuf::RepeatedField<::int64_t>& transition_label() const;
6607 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_transition_label();
6608
6609 private:
6610 const ::google::protobuf::RepeatedField<::int64_t>& _internal_transition_label() const;
6611 ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_transition_label();
6612
6613 public:
6614 // repeated int32 vars = 7;
6615 int vars_size() const;
6616 private:
6617 int _internal_vars_size() const;
6618
6619 public:
6620 void clear_vars() ;
6621 ::int32_t vars(int index) const;
6622 void set_vars(int index, ::int32_t value);
6623 void add_vars(::int32_t value);
6624 const ::google::protobuf::RepeatedField<::int32_t>& vars() const;
6625 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_vars();
6626
6627 private:
6628 const ::google::protobuf::RepeatedField<::int32_t>& _internal_vars() const;
6629 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_vars();
6630
6631 public:
6632 // repeated .operations_research.sat.LinearExpressionProto exprs = 8;
6633 int exprs_size() const;
6634 private:
6635 int _internal_exprs_size() const;
6636
6637 public:
6638 void clear_exprs() ;
6640 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
6641
6642 private:
6643 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
6644 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
6645 public:
6646 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
6648 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
6649 // int64 starting_state = 2;
6650 void clear_starting_state() ;
6651 ::int64_t starting_state() const;
6652 void set_starting_state(::int64_t value);
6653
6654 private:
6655 ::int64_t _internal_starting_state() const;
6656 void _internal_set_starting_state(::int64_t value);
6657
6658 public:
6659 // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
6660 private:
6661 class _Internal;
6662 friend class ::google::protobuf::internal::TcParser;
6663 static const ::google::protobuf::internal::TcParseTable<3, 7,
6664 1, 0,
6665 2>
6666 _table_;
6667
6668 friend class ::google::protobuf::MessageLite;
6669 friend class ::google::protobuf::Arena;
6670 template <typename T>
6671 friend class ::google::protobuf::Arena::InternalHelper;
6672 using InternalArenaConstructable_ = void;
6673 using DestructorSkippable_ = void;
6674 struct Impl_ {
6675 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
6676 inline explicit Impl_(
6677 ::google::protobuf::internal::InternalVisibility visibility,
6678 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6679 inline explicit Impl_(
6680 ::google::protobuf::internal::InternalVisibility visibility,
6681 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6682 const AutomatonConstraintProto& from_msg);
6683 ::google::protobuf::internal::HasBits<1> _has_bits_;
6684 ::google::protobuf::internal::CachedSize _cached_size_;
6685 ::google::protobuf::RepeatedField<::int64_t> final_states_;
6686 ::google::protobuf::internal::CachedSize _final_states_cached_byte_size_;
6687 ::google::protobuf::RepeatedField<::int64_t> transition_tail_;
6688 ::google::protobuf::internal::CachedSize _transition_tail_cached_byte_size_;
6689 ::google::protobuf::RepeatedField<::int64_t> transition_head_;
6690 ::google::protobuf::internal::CachedSize _transition_head_cached_byte_size_;
6691 ::google::protobuf::RepeatedField<::int64_t> transition_label_;
6692 ::google::protobuf::internal::CachedSize _transition_label_cached_byte_size_;
6693 ::google::protobuf::RepeatedField<::int32_t> vars_;
6694 ::google::protobuf::internal::CachedSize _vars_cached_byte_size_;
6695 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
6696 ::int64_t starting_state_;
6697 PROTOBUF_TSAN_DECLARE_MEMBER
6699 union { Impl_ _impl_; };
6700 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6701};
6702
6703OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AutomatonConstraintProto_class_data_;
6704// -------------------------------------------------------------------
6705
6706class OR_PROTO_DLL AllDifferentConstraintProto final : public ::google::protobuf::Message
6707/* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
6708 public:
6709 inline AllDifferentConstraintProto() : AllDifferentConstraintProto(nullptr) {}
6710 ~AllDifferentConstraintProto() PROTOBUF_FINAL;
6711
6712#if defined(PROTOBUF_CUSTOM_VTABLE)
6713 void operator delete(AllDifferentConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
6714 SharedDtor(*msg);
6715 ::google::protobuf::internal::SizedDelete(msg, sizeof(AllDifferentConstraintProto));
6716 }
6717#endif
6718
6719 template <typename = void>
6720 explicit PROTOBUF_CONSTEXPR AllDifferentConstraintProto(::google::protobuf::internal::ConstantInitialized);
6721
6722 inline AllDifferentConstraintProto(const AllDifferentConstraintProto& from) : AllDifferentConstraintProto(nullptr, from) {}
6723 inline AllDifferentConstraintProto(AllDifferentConstraintProto&& from) noexcept
6724 : AllDifferentConstraintProto(nullptr, ::std::move(from)) {}
6725 inline AllDifferentConstraintProto& operator=(const AllDifferentConstraintProto& from) {
6727 return *this;
6728 }
6729 inline AllDifferentConstraintProto& operator=(AllDifferentConstraintProto&& from) noexcept {
6730 if (this == &from) return *this;
6731 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
6732 InternalSwap(&from);
6733 } else {
6735 }
6736 return *this;
6738
6739 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6740 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6741 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6742 }
6743 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
6744 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6745 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6746 }
6747
6748 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
6749 return GetDescriptor();
6751 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
6752 return default_instance().GetMetadata().descriptor;
6754 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
6755 return default_instance().GetMetadata().reflection;
6756 }
6758 return *reinterpret_cast<const AllDifferentConstraintProto*>(
6760 }
6761 static constexpr int kIndexInFileMessages = 4;
6762 friend void swap(AllDifferentConstraintProto& a, AllDifferentConstraintProto& b) { a.Swap(&b); }
6763 inline void Swap(AllDifferentConstraintProto* PROTOBUF_NONNULL other) {
6764 if (other == this) return;
6765 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
6766 InternalSwap(other);
6767 } else {
6768 ::google::protobuf::internal::GenericSwap(this, other);
6769 }
6770 }
6771 void UnsafeArenaSwap(AllDifferentConstraintProto* PROTOBUF_NONNULL other) {
6772 if (other == this) return;
6773 ABSL_DCHECK(GetArena() == other->GetArena());
6774 InternalSwap(other);
6775 }
6777 // implements Message ----------------------------------------------
6778
6779 AllDifferentConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
6780 return ::google::protobuf::Message::DefaultConstruct<AllDifferentConstraintProto>(arena);
6781 }
6782 using ::google::protobuf::Message::CopyFrom;
6783 void CopyFrom(const AllDifferentConstraintProto& from);
6784 using ::google::protobuf::Message::MergeFrom;
6785 void MergeFrom(const AllDifferentConstraintProto& from) { AllDifferentConstraintProto::MergeImpl(*this, from); }
6786
6787 private:
6788 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
6789 const ::google::protobuf::MessageLite& from_msg);
6791 public:
6792 bool IsInitialized() const {
6793 return true;
6794 }
6795 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6796 #if defined(PROTOBUF_CUSTOM_VTABLE)
6797 private:
6798 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6799 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6800 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
6801 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
6802
6803 public:
6804 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
6805 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6806 ::uint8_t* PROTOBUF_NONNULL target,
6807 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
6808 return _InternalSerialize(*this, target, stream);
6809 }
6810 #else // PROTOBUF_CUSTOM_VTABLE
6811 ::size_t ByteSizeLong() const final;
6812 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6813 ::uint8_t* PROTOBUF_NONNULL target,
6814 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
6815 #endif // PROTOBUF_CUSTOM_VTABLE
6816 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6817
6818 private:
6819 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6820 static void SharedDtor(MessageLite& self);
6821 void InternalSwap(AllDifferentConstraintProto* PROTOBUF_NONNULL other);
6822 private:
6823 template <typename T>
6824 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
6825 static ::absl::string_view FullMessageName() { return "operations_research.sat.AllDifferentConstraintProto"; }
6826
6827 explicit AllDifferentConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6828 AllDifferentConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AllDifferentConstraintProto& from);
6830 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AllDifferentConstraintProto&& from) noexcept
6832 *this = ::std::move(from);
6833 }
6834 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
6835 static void* PROTOBUF_NONNULL PlacementNew_(
6836 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6837 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6838 static constexpr auto InternalNewImpl_();
6839
6840 public:
6841 static constexpr auto InternalGenerateClassData_();
6842
6843 ::google::protobuf::Metadata GetMetadata() const;
6844 // nested types ----------------------------------------------------
6845
6846 // accessors -------------------------------------------------------
6847 enum : int {
6849 };
6850 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
6851 int exprs_size() const;
6852 private:
6853 int _internal_exprs_size() const;
6854
6855 public:
6856 void clear_exprs() ;
6857 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL mutable_exprs(int index);
6858 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL mutable_exprs();
6859
6860 private:
6861 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& _internal_exprs() const;
6862 ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL _internal_mutable_exprs();
6863 public:
6864 const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
6865 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL add_exprs();
6866 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& exprs() const;
6867 // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
6868 private:
6869 class _Internal;
6870 friend class ::google::protobuf::internal::TcParser;
6871 static const ::google::protobuf::internal::TcParseTable<0, 1,
6872 1, 0,
6873 2>
6874 _table_;
6875
6876 friend class ::google::protobuf::MessageLite;
6877 friend class ::google::protobuf::Arena;
6878 template <typename T>
6879 friend class ::google::protobuf::Arena::InternalHelper;
6880 using InternalArenaConstructable_ = void;
6881 using DestructorSkippable_ = void;
6882 struct Impl_ {
6883 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
6884 inline explicit Impl_(
6885 ::google::protobuf::internal::InternalVisibility visibility,
6886 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6887 inline explicit Impl_(
6888 ::google::protobuf::internal::InternalVisibility visibility,
6889 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6890 const AllDifferentConstraintProto& from_msg);
6891 ::google::protobuf::internal::HasBits<1> _has_bits_;
6892 ::google::protobuf::internal::CachedSize _cached_size_;
6893 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
6894 PROTOBUF_TSAN_DECLARE_MEMBER
6895 };
6896 union { Impl_ _impl_; };
6897 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6899
6900OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AllDifferentConstraintProto_class_data_;
6901// -------------------------------------------------------------------
6902
6903class OR_PROTO_DLL RoutesConstraintProto final : public ::google::protobuf::Message
6904/* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
6905 public:
6906 inline RoutesConstraintProto() : RoutesConstraintProto(nullptr) {}
6907 ~RoutesConstraintProto() PROTOBUF_FINAL;
6908
6909#if defined(PROTOBUF_CUSTOM_VTABLE)
6910 void operator delete(RoutesConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
6911 SharedDtor(*msg);
6912 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutesConstraintProto));
6913 }
6914#endif
6915
6916 template <typename = void>
6917 explicit PROTOBUF_CONSTEXPR RoutesConstraintProto(::google::protobuf::internal::ConstantInitialized);
6918
6919 inline RoutesConstraintProto(const RoutesConstraintProto& from) : RoutesConstraintProto(nullptr, from) {}
6920 inline RoutesConstraintProto(RoutesConstraintProto&& from) noexcept
6921 : RoutesConstraintProto(nullptr, ::std::move(from)) {}
6922 inline RoutesConstraintProto& operator=(const RoutesConstraintProto& from) {
6923 CopyFrom(from);
6924 return *this;
6926 inline RoutesConstraintProto& operator=(RoutesConstraintProto&& from) noexcept {
6927 if (this == &from) return *this;
6928 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
6929 InternalSwap(&from);
6930 } else {
6931 CopyFrom(from);
6933 return *this;
6934 }
6936 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6937 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6938 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6939 }
6940 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
6941 ABSL_ATTRIBUTE_LIFETIME_BOUND {
6942 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6943 }
6944
6945 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
6947 }
6948 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
6949 return default_instance().GetMetadata().descriptor;
6950 }
6951 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
6952 return default_instance().GetMetadata().reflection;
6953 }
6954 static const RoutesConstraintProto& default_instance() {
6955 return *reinterpret_cast<const RoutesConstraintProto*>(
6957 }
6958 static constexpr int kIndexInFileMessages = 14;
6959 friend void swap(RoutesConstraintProto& a, RoutesConstraintProto& b) { a.Swap(&b); }
6960 inline void Swap(RoutesConstraintProto* PROTOBUF_NONNULL other) {
6961 if (other == this) return;
6962 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
6963 InternalSwap(other);
6964 } else {
6965 ::google::protobuf::internal::GenericSwap(this, other);
6966 }
6967 }
6968 void UnsafeArenaSwap(RoutesConstraintProto* PROTOBUF_NONNULL other) {
6969 if (other == this) return;
6970 ABSL_DCHECK(GetArena() == other->GetArena());
6971 InternalSwap(other);
6972 }
6973
6974 // implements Message ----------------------------------------------
6975
6976 RoutesConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
6977 return ::google::protobuf::Message::DefaultConstruct<RoutesConstraintProto>(arena);
6978 }
6979 using ::google::protobuf::Message::CopyFrom;
6981 using ::google::protobuf::Message::MergeFrom;
6982 void MergeFrom(const RoutesConstraintProto& from) { RoutesConstraintProto::MergeImpl(*this, from); }
6984 private:
6985 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
6986 const ::google::protobuf::MessageLite& from_msg);
6988 public:
6989 bool IsInitialized() const {
6990 return true;
6991 }
6992 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6993 #if defined(PROTOBUF_CUSTOM_VTABLE)
6994 private:
6995 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6996 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6997 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
6998 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
6999
7000 public:
7001 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
7002 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7003 ::uint8_t* PROTOBUF_NONNULL target,
7004 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
7005 return _InternalSerialize(*this, target, stream);
7006 }
7007 #else // PROTOBUF_CUSTOM_VTABLE
7008 ::size_t ByteSizeLong() const final;
7009 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7010 ::uint8_t* PROTOBUF_NONNULL target,
7011 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
7012 #endif // PROTOBUF_CUSTOM_VTABLE
7013 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
7014
7015 private:
7016 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7017 static void SharedDtor(MessageLite& self);
7018 void InternalSwap(RoutesConstraintProto* PROTOBUF_NONNULL other);
7019 private:
7020 template <typename T>
7021 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
7022 static ::absl::string_view FullMessageName() { return "operations_research.sat.RoutesConstraintProto"; }
7023
7024 explicit RoutesConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7025 RoutesConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoutesConstraintProto& from);
7027 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutesConstraintProto&& from) noexcept
7028 : RoutesConstraintProto(arena) {
7029 *this = ::std::move(from);
7030 }
7031 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
7032 static void* PROTOBUF_NONNULL PlacementNew_(
7033 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
7034 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7035 static constexpr auto InternalNewImpl_();
7036
7037 public:
7038 static constexpr auto InternalGenerateClassData_();
7039
7040 ::google::protobuf::Metadata GetMetadata() const;
7041 // nested types ----------------------------------------------------
7043
7044 // accessors -------------------------------------------------------
7045 enum : int {
7052 };
7053 // repeated int32 tails = 1;
7054 int tails_size() const;
7055 private:
7056 int _internal_tails_size() const;
7057
7058 public:
7059 void clear_tails() ;
7060 ::int32_t tails(int index) const;
7061 void set_tails(int index, ::int32_t value);
7062 void add_tails(::int32_t value);
7063 const ::google::protobuf::RepeatedField<::int32_t>& tails() const;
7064 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_tails();
7065
7066 private:
7067 const ::google::protobuf::RepeatedField<::int32_t>& _internal_tails() const;
7068 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_tails();
7069
7070 public:
7071 // repeated int32 heads = 2;
7072 int heads_size() const;
7073 private:
7074 int _internal_heads_size() const;
7076 public:
7078 ::int32_t heads(int index) const;
7079 void set_heads(int index, ::int32_t value);
7080 void add_heads(::int32_t value);
7081 const ::google::protobuf::RepeatedField<::int32_t>& heads() const;
7082 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_heads();
7083
7084 private:
7085 const ::google::protobuf::RepeatedField<::int32_t>& _internal_heads() const;
7086 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_heads();
7087
7088 public:
7089 // repeated int32 literals = 3;
7090 int literals_size() const;
7091 private:
7092 int _internal_literals_size() const;
7093
7094 public:
7095 void clear_literals() ;
7096 ::int32_t literals(int index) const;
7097 void set_literals(int index, ::int32_t value);
7098 void add_literals(::int32_t value);
7099 const ::google::protobuf::RepeatedField<::int32_t>& literals() const;
7100 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_literals();
7101
7102 private:
7103 const ::google::protobuf::RepeatedField<::int32_t>& _internal_literals() const;
7104 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_literals();
7105
7106 public:
7107 // repeated int32 demands = 4;
7108 int demands_size() const;
7109 private:
7110 int _internal_demands_size() const;
7111
7112 public:
7113 void clear_demands() ;
7114 ::int32_t demands(int index) const;
7115 void set_demands(int index, ::int32_t value);
7116 void add_demands(::int32_t value);
7117 const ::google::protobuf::RepeatedField<::int32_t>& demands() const;
7118 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_demands();
7119
7120 private:
7121 const ::google::protobuf::RepeatedField<::int32_t>& _internal_demands() const;
7122 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_demands();
7123
7124 public:
7125 // repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
7126 int dimensions_size() const;
7127 private:
7128 int _internal_dimensions_size() const;
7129
7130 public:
7131 void clear_dimensions() ;
7133 ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>* PROTOBUF_NONNULL mutable_dimensions();
7134
7135 private:
7136 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>& _internal_dimensions() const;
7137 ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>* PROTOBUF_NONNULL _internal_mutable_dimensions();
7138 public:
7139 const ::operations_research::sat::RoutesConstraintProto_NodeExpressions& dimensions(int index) const;
7141 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>& dimensions() const;
7142 // int64 capacity = 5;
7143 void clear_capacity() ;
7144 ::int64_t capacity() const;
7145 void set_capacity(::int64_t value);
7146
7147 private:
7148 ::int64_t _internal_capacity() const;
7149 void _internal_set_capacity(::int64_t value);
7150
7151 public:
7152 // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
7153 private:
7154 class _Internal;
7155 friend class ::google::protobuf::internal::TcParser;
7156 static const ::google::protobuf::internal::TcParseTable<3, 6,
7157 1, 0,
7158 2>
7159 _table_;
7160
7161 friend class ::google::protobuf::MessageLite;
7162 friend class ::google::protobuf::Arena;
7163 template <typename T>
7164 friend class ::google::protobuf::Arena::InternalHelper;
7165 using InternalArenaConstructable_ = void;
7166 using DestructorSkippable_ = void;
7167 struct Impl_ {
7168 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
7169 inline explicit Impl_(
7170 ::google::protobuf::internal::InternalVisibility visibility,
7171 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7172 inline explicit Impl_(
7173 ::google::protobuf::internal::InternalVisibility visibility,
7174 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
7175 const RoutesConstraintProto& from_msg);
7176 ::google::protobuf::internal::HasBits<1> _has_bits_;
7177 ::google::protobuf::internal::CachedSize _cached_size_;
7178 ::google::protobuf::RepeatedField<::int32_t> tails_;
7179 ::google::protobuf::internal::CachedSize _tails_cached_byte_size_;
7180 ::google::protobuf::RepeatedField<::int32_t> heads_;
7181 ::google::protobuf::internal::CachedSize _heads_cached_byte_size_;
7182 ::google::protobuf::RepeatedField<::int32_t> literals_;
7183 ::google::protobuf::internal::CachedSize _literals_cached_byte_size_;
7184 ::google::protobuf::RepeatedField<::int32_t> demands_;
7185 ::google::protobuf::internal::CachedSize _demands_cached_byte_size_;
7186 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::RoutesConstraintProto_NodeExpressions > dimensions_;
7187 ::int64_t capacity_;
7188 PROTOBUF_TSAN_DECLARE_MEMBER
7189 };
7190 union { Impl_ _impl_; };
7191 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
7192};
7194OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutesConstraintProto_class_data_;
7195// -------------------------------------------------------------------
7196
7197class OR_PROTO_DLL ConstraintProto final : public ::google::protobuf::Message
7198/* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
7199 public:
7200 inline ConstraintProto() : ConstraintProto(nullptr) {}
7201 ~ConstraintProto() PROTOBUF_FINAL;
7202
7203#if defined(PROTOBUF_CUSTOM_VTABLE)
7204 void operator delete(ConstraintProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
7205 SharedDtor(*msg);
7206 ::google::protobuf::internal::SizedDelete(msg, sizeof(ConstraintProto));
7207 }
7208#endif
7209
7210 template <typename = void>
7211 explicit PROTOBUF_CONSTEXPR ConstraintProto(::google::protobuf::internal::ConstantInitialized);
7212
7213 inline ConstraintProto(const ConstraintProto& from) : ConstraintProto(nullptr, from) {}
7214 inline ConstraintProto(ConstraintProto&& from) noexcept
7215 : ConstraintProto(nullptr, ::std::move(from)) {}
7216 inline ConstraintProto& operator=(const ConstraintProto& from) {
7217 CopyFrom(from);
7218 return *this;
7220 inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
7221 if (this == &from) return *this;
7222 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
7223 InternalSwap(&from);
7224 } else {
7225 CopyFrom(from);
7226 }
7227 return *this;
7228 }
7229
7230 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
7231 ABSL_ATTRIBUTE_LIFETIME_BOUND {
7232 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
7233 }
7234 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
7235 ABSL_ATTRIBUTE_LIFETIME_BOUND {
7236 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
7237 }
7238
7239 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
7240 return GetDescriptor();
7242 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
7243 return default_instance().GetMetadata().descriptor;
7245 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
7246 return default_instance().GetMetadata().reflection;
7247 }
7248 static const ConstraintProto& default_instance() {
7249 return *reinterpret_cast<const ConstraintProto*>(
7251 }
7252 enum ConstraintCase {
7253 kBoolOr = 3,
7254 kBoolAnd = 4,
7255 kAtMostOne = 26,
7256 kExactlyOne = 29,
7257 kBoolXor = 5,
7258 kIntDiv = 7,
7259 kIntMod = 8,
7261 kLinMax = 27,
7262 kLinear = 12,
7263 kAllDiff = 13,
7265 kCircuit = 15,
7266 kRoutes = 23,
7267 kTable = 16,
7268 kAutomaton = 17,
7270 kReservoir = 24,
7271 kInterval = 19,
7273 kNoOverlap2D = 21,
7274 kCumulative = 22,
7277 };
7278 static constexpr int kIndexInFileMessages = 19;
7279 friend void swap(ConstraintProto& a, ConstraintProto& b) { a.Swap(&b); }
7280 inline void Swap(ConstraintProto* PROTOBUF_NONNULL other) {
7281 if (other == this) return;
7282 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
7283 InternalSwap(other);
7284 } else {
7285 ::google::protobuf::internal::GenericSwap(this, other);
7288 void UnsafeArenaSwap(ConstraintProto* PROTOBUF_NONNULL other) {
7289 if (other == this) return;
7290 ABSL_DCHECK(GetArena() == other->GetArena());
7291 InternalSwap(other);
7294 // implements Message ----------------------------------------------
7296 ConstraintProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
7297 return ::google::protobuf::Message::DefaultConstruct<ConstraintProto>(arena);
7299 using ::google::protobuf::Message::CopyFrom;
7300 void CopyFrom(const ConstraintProto& from);
7301 using ::google::protobuf::Message::MergeFrom;
7302 void MergeFrom(const ConstraintProto& from) { ConstraintProto::MergeImpl(*this, from); }
7304 private:
7305 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
7306 const ::google::protobuf::MessageLite& from_msg);
7307
7308 public:
7309 bool IsInitialized() const {
7310 return true;
7311 }
7312 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
7313 #if defined(PROTOBUF_CUSTOM_VTABLE)
7314 private:
7315 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
7316 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7317 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
7318 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
7319
7320 public:
7321 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
7322 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7323 ::uint8_t* PROTOBUF_NONNULL target,
7324 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
7325 return _InternalSerialize(*this, target, stream);
7327 #else // PROTOBUF_CUSTOM_VTABLE
7328 ::size_t ByteSizeLong() const final;
7329 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7330 ::uint8_t* PROTOBUF_NONNULL target,
7331 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
7332 #endif // PROTOBUF_CUSTOM_VTABLE
7333 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
7334
7335 private:
7336 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7337 static void SharedDtor(MessageLite& self);
7338 void InternalSwap(ConstraintProto* PROTOBUF_NONNULL other);
7339 private:
7340 template <typename T>
7341 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
7342 static ::absl::string_view FullMessageName() { return "operations_research.sat.ConstraintProto"; }
7343
7344 explicit ConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7345 ConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ConstraintProto& from);
7347 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ConstraintProto&& from) noexcept
7348 : ConstraintProto(arena) {
7349 *this = ::std::move(from);
7350 }
7351 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
7352 static void* PROTOBUF_NONNULL PlacementNew_(
7353 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
7354 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7355 static constexpr auto InternalNewImpl_();
7356
7357 public:
7358 static constexpr auto InternalGenerateClassData_();
7359
7360 ::google::protobuf::Metadata GetMetadata() const;
7361 // nested types ----------------------------------------------------
7362
7363 // accessors -------------------------------------------------------
7364 enum : int {
7366 kNameFieldNumber = 1,
7375 kLinMaxFieldNumber = 27,
7376 kLinearFieldNumber = 12,
7380 kRoutesFieldNumber = 23,
7381 kTableFieldNumber = 16,
7390 };
7391 // repeated int32 enforcement_literal = 2;
7392 int enforcement_literal_size() const;
7393 private:
7394 int _internal_enforcement_literal_size() const;
7396 public:
7398 ::int32_t enforcement_literal(int index) const;
7399 void set_enforcement_literal(int index, ::int32_t value);
7400 void add_enforcement_literal(::int32_t value);
7401 const ::google::protobuf::RepeatedField<::int32_t>& enforcement_literal() const;
7402 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_enforcement_literal();
7404 private:
7405 const ::google::protobuf::RepeatedField<::int32_t>& _internal_enforcement_literal() const;
7406 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_enforcement_literal();
7408 public:
7409 // string name = 1;
7410 void clear_name() ;
7411 const ::std::string& name() const;
7412 template <typename Arg_ = const ::std::string&, typename... Args_>
7413 void set_name(Arg_&& arg, Args_... args);
7414 ::std::string* PROTOBUF_NONNULL mutable_name();
7415 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
7416 void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
7418 private:
7419 const ::std::string& _internal_name() const;
7420 PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
7421 ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
7422
7423 public:
7424 // .operations_research.sat.BoolArgumentProto bool_or = 3;
7425 bool has_bool_or() const;
7426 private:
7427 bool _internal_has_bool_or() const;
7428
7429 public:
7430 void clear_bool_or() ;
7431 const ::operations_research::sat::BoolArgumentProto& bool_or() const;
7432 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_bool_or();
7437
7438 private:
7439 const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
7440 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_bool_or();
7441
7442 public:
7443 // .operations_research.sat.BoolArgumentProto bool_and = 4;
7444 bool has_bool_and() const;
7445 private:
7446 bool _internal_has_bool_and() const;
7447
7448 public:
7449 void clear_bool_and() ;
7450 const ::operations_research::sat::BoolArgumentProto& bool_and() const;
7451 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_bool_and();
7456
7457 private:
7458 const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
7459 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_bool_and();
7460
7461 public:
7462 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
7463 bool has_at_most_one() const;
7464 private:
7465 bool _internal_has_at_most_one() const;
7466
7467 public:
7468 void clear_at_most_one() ;
7469 const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
7470 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_at_most_one();
7475
7476 private:
7477 const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
7478 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_at_most_one();
7479
7480 public:
7481 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
7482 bool has_exactly_one() const;
7483 private:
7484 bool _internal_has_exactly_one() const;
7485
7486 public:
7487 void clear_exactly_one() ;
7488 const ::operations_research::sat::BoolArgumentProto& exactly_one() const;
7489 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_exactly_one();
7494
7495 private:
7496 const ::operations_research::sat::BoolArgumentProto& _internal_exactly_one() const;
7497 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_exactly_one();
7498
7499 public:
7500 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
7501 bool has_bool_xor() const;
7502 private:
7503 bool _internal_has_bool_xor() const;
7504
7505 public:
7506 void clear_bool_xor() ;
7507 const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
7508 [[nodiscard]] ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE release_bool_xor();
7513
7514 private:
7515 const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
7516 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL _internal_mutable_bool_xor();
7517
7518 public:
7519 // .operations_research.sat.LinearArgumentProto int_div = 7;
7520 bool has_int_div() const;
7521 private:
7522 bool _internal_has_int_div() const;
7523
7524 public:
7525 void clear_int_div() ;
7526 const ::operations_research::sat::LinearArgumentProto& int_div() const;
7527 [[nodiscard]] ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE release_int_div();
7532
7533 private:
7534 const ::operations_research::sat::LinearArgumentProto& _internal_int_div() const;
7535 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL _internal_mutable_int_div();
7536
7537 public:
7538 // .operations_research.sat.LinearArgumentProto int_mod = 8;
7539 bool has_int_mod() const;
7540 private:
7541 bool _internal_has_int_mod() const;
7542
7543 public:
7544 void clear_int_mod() ;
7545 const ::operations_research::sat::LinearArgumentProto& int_mod() const;
7546 [[nodiscard]] ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE release_int_mod();
7551
7552 private:
7553 const ::operations_research::sat::LinearArgumentProto& _internal_int_mod() const;
7554 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL _internal_mutable_int_mod();
7555
7556 public:
7557 // .operations_research.sat.LinearArgumentProto int_prod = 11;
7558 bool has_int_prod() const;
7559 private:
7560 bool _internal_has_int_prod() const;
7561
7562 public:
7563 void clear_int_prod() ;
7564 const ::operations_research::sat::LinearArgumentProto& int_prod() const;
7565 [[nodiscard]] ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE release_int_prod();
7570
7571 private:
7572 const ::operations_research::sat::LinearArgumentProto& _internal_int_prod() const;
7573 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL _internal_mutable_int_prod();
7574
7575 public:
7576 // .operations_research.sat.LinearArgumentProto lin_max = 27;
7577 bool has_lin_max() const;
7578 private:
7579 bool _internal_has_lin_max() const;
7580
7581 public:
7582 void clear_lin_max() ;
7583 const ::operations_research::sat::LinearArgumentProto& lin_max() const;
7584 [[nodiscard]] ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE release_lin_max();
7589
7590 private:
7591 const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
7592 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL _internal_mutable_lin_max();
7593
7594 public:
7595 // .operations_research.sat.LinearConstraintProto linear = 12;
7596 bool has_linear() const;
7597 private:
7598 bool _internal_has_linear() const;
7599
7600 public:
7601 void clear_linear() ;
7602 const ::operations_research::sat::LinearConstraintProto& linear() const;
7603 [[nodiscard]] ::operations_research::sat::LinearConstraintProto* PROTOBUF_NULLABLE release_linear();
7608
7609 private:
7610 const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
7611 ::operations_research::sat::LinearConstraintProto* PROTOBUF_NONNULL _internal_mutable_linear();
7612
7613 public:
7614 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
7615 bool has_all_diff() const;
7616 private:
7617 bool _internal_has_all_diff() const;
7618
7619 public:
7620 void clear_all_diff() ;
7621 const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
7627
7628 private:
7629 const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
7630 ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NONNULL _internal_mutable_all_diff();
7631
7632 public:
7633 // .operations_research.sat.ElementConstraintProto element = 14;
7634 bool has_element() const;
7635 private:
7636 bool _internal_has_element() const;
7637
7638 public:
7639 void clear_element() ;
7640 const ::operations_research::sat::ElementConstraintProto& element() const;
7646
7647 private:
7648 const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
7649 ::operations_research::sat::ElementConstraintProto* PROTOBUF_NONNULL _internal_mutable_element();
7650
7651 public:
7652 // .operations_research.sat.CircuitConstraintProto circuit = 15;
7653 bool has_circuit() const;
7654 private:
7655 bool _internal_has_circuit() const;
7656
7657 public:
7658 void clear_circuit() ;
7659 const ::operations_research::sat::CircuitConstraintProto& circuit() const;
7665
7666 private:
7667 const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
7668 ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NONNULL _internal_mutable_circuit();
7669
7670 public:
7671 // .operations_research.sat.RoutesConstraintProto routes = 23;
7672 bool has_routes() const;
7673 private:
7674 bool _internal_has_routes() const;
7675
7676 public:
7677 void clear_routes() ;
7678 const ::operations_research::sat::RoutesConstraintProto& routes() const;
7679 [[nodiscard]] ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NULLABLE release_routes();
7684
7685 private:
7686 const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
7687 ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NONNULL _internal_mutable_routes();
7688
7689 public:
7690 // .operations_research.sat.TableConstraintProto table = 16;
7691 bool has_table() const;
7692 private:
7693 bool _internal_has_table() const;
7694
7695 public:
7696 void clear_table() ;
7697 const ::operations_research::sat::TableConstraintProto& table() const;
7698 [[nodiscard]] ::operations_research::sat::TableConstraintProto* PROTOBUF_NULLABLE release_table();
7703
7704 private:
7705 const ::operations_research::sat::TableConstraintProto& _internal_table() const;
7706 ::operations_research::sat::TableConstraintProto* PROTOBUF_NONNULL _internal_mutable_table();
7707
7708 public:
7709 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
7710 bool has_automaton() const;
7711 private:
7712 bool _internal_has_automaton() const;
7713
7714 public:
7715 void clear_automaton() ;
7716 const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
7722
7723 private:
7724 const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
7725 ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NONNULL _internal_mutable_automaton();
7726
7727 public:
7728 // .operations_research.sat.InverseConstraintProto inverse = 18;
7729 bool has_inverse() const;
7730 private:
7731 bool _internal_has_inverse() const;
7732
7733 public:
7734 void clear_inverse() ;
7735 const ::operations_research::sat::InverseConstraintProto& inverse() const;
7741
7742 private:
7743 const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
7744 ::operations_research::sat::InverseConstraintProto* PROTOBUF_NONNULL _internal_mutable_inverse();
7745
7746 public:
7747 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
7748 bool has_reservoir() const;
7749 private:
7750 bool _internal_has_reservoir() const;
7751
7752 public:
7753 void clear_reservoir() ;
7754 const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
7760
7761 private:
7762 const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
7763 ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NONNULL _internal_mutable_reservoir();
7764
7765 public:
7766 // .operations_research.sat.IntervalConstraintProto interval = 19;
7767 bool has_interval() const;
7768 private:
7769 bool _internal_has_interval() const;
7770
7771 public:
7772 void clear_interval() ;
7773 const ::operations_research::sat::IntervalConstraintProto& interval() const;
7779
7780 private:
7781 const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
7782 ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NONNULL _internal_mutable_interval();
7783
7784 public:
7785 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
7786 bool has_no_overlap() const;
7787 private:
7788 bool _internal_has_no_overlap() const;
7789
7790 public:
7791 void clear_no_overlap() ;
7792 const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
7798
7799 private:
7800 const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
7801 ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NONNULL _internal_mutable_no_overlap();
7802
7803 public:
7804 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
7805 bool has_no_overlap_2d() const;
7806 private:
7807 bool _internal_has_no_overlap_2d() const;
7808
7809 public:
7810 void clear_no_overlap_2d() ;
7811 const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
7817
7818 private:
7819 const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
7820 ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NONNULL _internal_mutable_no_overlap_2d();
7821
7822 public:
7823 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
7824 bool has_cumulative() const;
7825 private:
7826 bool _internal_has_cumulative() const;
7827
7828 public:
7829 void clear_cumulative() ;
7830 const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
7836
7837 private:
7838 const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
7839 ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NONNULL _internal_mutable_cumulative();
7840
7841 public:
7842 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
7843 bool has_dummy_constraint() const;
7844 private:
7845 bool _internal_has_dummy_constraint() const;
7846
7847 public:
7848 void clear_dummy_constraint() ;
7849 const ::operations_research::sat::ListOfVariablesProto& dummy_constraint() const;
7855
7856 private:
7857 const ::operations_research::sat::ListOfVariablesProto& _internal_dummy_constraint() const;
7858 ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NONNULL _internal_mutable_dummy_constraint();
7859
7860 public:
7861 void clear_constraint();
7863 // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
7864 private:
7865 class _Internal;
7866 void set_has_bool_or();
7867 void set_has_bool_and();
7868 void set_has_at_most_one();
7869 void set_has_exactly_one();
7870 void set_has_bool_xor();
7871 void set_has_int_div();
7872 void set_has_int_mod();
7873 void set_has_int_prod();
7874 void set_has_lin_max();
7875 void set_has_linear();
7876 void set_has_all_diff();
7877 void set_has_element();
7878 void set_has_circuit();
7879 void set_has_routes();
7880 void set_has_table();
7881 void set_has_automaton();
7882 void set_has_inverse();
7883 void set_has_reservoir();
7884 void set_has_interval();
7885 void set_has_no_overlap();
7886 void set_has_no_overlap_2d();
7887 void set_has_cumulative();
7888 void set_has_dummy_constraint();
7889 inline bool has_constraint() const;
7890 inline void clear_has_constraint();
7891 friend class ::google::protobuf::internal::TcParser;
7892 static const ::google::protobuf::internal::TcParseTable<1, 25,
7893 23, 76,
7894 2>
7895 _table_;
7896
7897 friend class ::google::protobuf::MessageLite;
7898 friend class ::google::protobuf::Arena;
7899 template <typename T>
7900 friend class ::google::protobuf::Arena::InternalHelper;
7901 using InternalArenaConstructable_ = void;
7902 using DestructorSkippable_ = void;
7903 struct Impl_ {
7904 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
7905 inline explicit Impl_(
7906 ::google::protobuf::internal::InternalVisibility visibility,
7907 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7908 inline explicit Impl_(
7909 ::google::protobuf::internal::InternalVisibility visibility,
7910 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
7911 const ConstraintProto& from_msg);
7912 ::google::protobuf::internal::HasBits<1> _has_bits_;
7913 ::google::protobuf::internal::CachedSize _cached_size_;
7914 ::google::protobuf::RepeatedField<::int32_t> enforcement_literal_;
7915 ::google::protobuf::internal::CachedSize _enforcement_literal_cached_byte_size_;
7916 ::google::protobuf::internal::ArenaStringPtr name_;
7917 union ConstraintUnion {
7918 constexpr ConstraintUnion() : _constinit_{} {}
7919 ::google::protobuf::internal::ConstantInitialized _constinit_;
7920 ::google::protobuf::Message* PROTOBUF_NULLABLE bool_or_;
7921 ::google::protobuf::Message* PROTOBUF_NULLABLE bool_and_;
7922 ::google::protobuf::Message* PROTOBUF_NULLABLE at_most_one_;
7923 ::google::protobuf::Message* PROTOBUF_NULLABLE exactly_one_;
7924 ::google::protobuf::Message* PROTOBUF_NULLABLE bool_xor_;
7925 ::google::protobuf::Message* PROTOBUF_NULLABLE int_div_;
7926 ::google::protobuf::Message* PROTOBUF_NULLABLE int_mod_;
7927 ::google::protobuf::Message* PROTOBUF_NULLABLE int_prod_;
7928 ::google::protobuf::Message* PROTOBUF_NULLABLE lin_max_;
7929 ::google::protobuf::Message* PROTOBUF_NULLABLE linear_;
7930 ::google::protobuf::Message* PROTOBUF_NULLABLE all_diff_;
7931 ::google::protobuf::Message* PROTOBUF_NULLABLE element_;
7932 ::google::protobuf::Message* PROTOBUF_NULLABLE circuit_;
7933 ::google::protobuf::Message* PROTOBUF_NULLABLE routes_;
7934 ::google::protobuf::Message* PROTOBUF_NULLABLE table_;
7935 ::google::protobuf::Message* PROTOBUF_NULLABLE automaton_;
7936 ::google::protobuf::Message* PROTOBUF_NULLABLE inverse_;
7937 ::google::protobuf::Message* PROTOBUF_NULLABLE reservoir_;
7938 ::google::protobuf::Message* PROTOBUF_NULLABLE interval_;
7939 ::google::protobuf::Message* PROTOBUF_NULLABLE no_overlap_;
7940 ::google::protobuf::Message* PROTOBUF_NULLABLE no_overlap_2d_;
7941 ::google::protobuf::Message* PROTOBUF_NULLABLE cumulative_;
7942 ::google::protobuf::Message* PROTOBUF_NULLABLE dummy_constraint_;
7943 } constraint_;
7944 ::uint32_t _oneof_case_[1];
7945 PROTOBUF_TSAN_DECLARE_MEMBER
7946 };
7947 union { Impl_ _impl_; };
7948 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
7951OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ConstraintProto_class_data_;
7952// -------------------------------------------------------------------
7954class OR_PROTO_DLL CpModelProto final : public ::google::protobuf::Message
7955/* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
7956 public:
7957 inline CpModelProto() : CpModelProto(nullptr) {}
7958 ~CpModelProto() PROTOBUF_FINAL;
7960#if defined(PROTOBUF_CUSTOM_VTABLE)
7961 void operator delete(CpModelProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
7962 SharedDtor(*msg);
7963 ::google::protobuf::internal::SizedDelete(msg, sizeof(CpModelProto));
7965#endif
7967 template <typename = void>
7968 explicit PROTOBUF_CONSTEXPR CpModelProto(::google::protobuf::internal::ConstantInitialized);
7970 inline CpModelProto(const CpModelProto& from) : CpModelProto(nullptr, from) {}
7971 inline CpModelProto(CpModelProto&& from) noexcept
7972 : CpModelProto(nullptr, ::std::move(from)) {}
7973 inline CpModelProto& operator=(const CpModelProto& from) {
7974 CopyFrom(from);
7975 return *this;
7976 }
7977 inline CpModelProto& operator=(CpModelProto&& from) noexcept {
7978 if (this == &from) return *this;
7979 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
7980 InternalSwap(&from);
7981 } else {
7982 CopyFrom(from);
7983 }
7984 return *this;
7986
7987 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
7988 ABSL_ATTRIBUTE_LIFETIME_BOUND {
7989 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
7990 }
7991 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
7992 ABSL_ATTRIBUTE_LIFETIME_BOUND {
7993 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
7994 }
7995
7996 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
7997 return GetDescriptor();
7998 }
7999 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
8000 return default_instance().GetMetadata().descriptor;
8002 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
8003 return default_instance().GetMetadata().reflection;
8005 static const CpModelProto& default_instance() {
8006 return *reinterpret_cast<const CpModelProto*>(
8009 static constexpr int kIndexInFileMessages = 27;
8010 friend void swap(CpModelProto& a, CpModelProto& b) { a.Swap(&b); }
8011 inline void Swap(CpModelProto* PROTOBUF_NONNULL other) {
8012 if (other == this) return;
8013 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
8014 InternalSwap(other);
8015 } else {
8016 ::google::protobuf::internal::GenericSwap(this, other);
8017 }
8019 void UnsafeArenaSwap(CpModelProto* PROTOBUF_NONNULL other) {
8020 if (other == this) return;
8021 ABSL_DCHECK(GetArena() == other->GetArena());
8022 InternalSwap(other);
8023 }
8024
8025 // implements Message ----------------------------------------------
8026
8027 CpModelProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
8028 return ::google::protobuf::Message::DefaultConstruct<CpModelProto>(arena);
8029 }
8030 using ::google::protobuf::Message::CopyFrom;
8031 void CopyFrom(const CpModelProto& from);
8032 using ::google::protobuf::Message::MergeFrom;
8033 void MergeFrom(const CpModelProto& from) { CpModelProto::MergeImpl(*this, from); }
8034
8035 private:
8036 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
8037 const ::google::protobuf::MessageLite& from_msg);
8038
8039 public:
8040 bool IsInitialized() const {
8041 return true;
8043 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
8044 #if defined(PROTOBUF_CUSTOM_VTABLE)
8045 private:
8046 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
8047 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8048 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
8049 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
8051 public:
8052 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
8053 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8054 ::uint8_t* PROTOBUF_NONNULL target,
8055 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
8056 return _InternalSerialize(*this, target, stream);
8057 }
8058 #else // PROTOBUF_CUSTOM_VTABLE
8059 ::size_t ByteSizeLong() const final;
8060 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8061 ::uint8_t* PROTOBUF_NONNULL target,
8062 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
8063 #endif // PROTOBUF_CUSTOM_VTABLE
8064 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
8065
8066 private:
8067 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8068 static void SharedDtor(MessageLite& self);
8069 void InternalSwap(CpModelProto* PROTOBUF_NONNULL other);
8070 private:
8071 template <typename T>
8072 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
8073 static ::absl::string_view FullMessageName() { return "operations_research.sat.CpModelProto"; }
8074
8075 explicit CpModelProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8076 CpModelProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CpModelProto& from);
8078 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CpModelProto&& from) noexcept
8079 : CpModelProto(arena) {
8080 *this = ::std::move(from);
8081 }
8082 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
8083 static void* PROTOBUF_NONNULL PlacementNew_(
8084 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
8085 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8086 static constexpr auto InternalNewImpl_();
8087
8088 public:
8089 static constexpr auto InternalGenerateClassData_();
8090
8091 ::google::protobuf::Metadata GetMetadata() const;
8092 // nested types ----------------------------------------------------
8093
8094 // accessors -------------------------------------------------------
8095 enum : int {
8100 kNameFieldNumber = 1,
8105 };
8106 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
8107 int variables_size() const;
8108 private:
8109 int _internal_variables_size() const;
8110
8111 public:
8112 void clear_variables() ;
8113 ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL mutable_variables(int index);
8114 ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL mutable_variables();
8115
8116 private:
8117 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& _internal_variables() const;
8118 ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL _internal_mutable_variables();
8119 public:
8120 const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
8121 ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL add_variables();
8122 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& variables() const;
8123 // repeated .operations_research.sat.ConstraintProto constraints = 3;
8124 int constraints_size() const;
8125 private:
8126 int _internal_constraints_size() const;
8128 public:
8131 ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>* PROTOBUF_NONNULL mutable_constraints();
8133 private:
8134 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>& _internal_constraints() const;
8135 ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>* PROTOBUF_NONNULL _internal_mutable_constraints();
8136 public:
8137 const ::operations_research::sat::ConstraintProto& constraints(int index) const;
8139 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>& constraints() const;
8140 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
8141 int search_strategy_size() const;
8142 private:
8143 int _internal_search_strategy_size() const;
8144
8145 public:
8146 void clear_search_strategy() ;
8148 ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>* PROTOBUF_NONNULL mutable_search_strategy();
8149
8150 private:
8151 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>& _internal_search_strategy() const;
8152 ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>* PROTOBUF_NONNULL _internal_mutable_search_strategy();
8153 public:
8154 const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
8156 const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>& search_strategy() const;
8157 // repeated int32 assumptions = 7;
8158 int assumptions_size() const;
8159 private:
8160 int _internal_assumptions_size() const;
8161
8162 public:
8163 void clear_assumptions() ;
8164 ::int32_t assumptions(int index) const;
8165 void set_assumptions(int index, ::int32_t value);
8166 void add_assumptions(::int32_t value);
8167 const ::google::protobuf::RepeatedField<::int32_t>& assumptions() const;
8168 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_assumptions();
8169
8170 private:
8171 const ::google::protobuf::RepeatedField<::int32_t>& _internal_assumptions() const;
8172 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_assumptions();
8173
8174 public:
8175 // string name = 1;
8176 void clear_name() ;
8177 const ::std::string& name() const;
8178 template <typename Arg_ = const ::std::string&, typename... Args_>
8179 void set_name(Arg_&& arg, Args_... args);
8180 ::std::string* PROTOBUF_NONNULL mutable_name();
8181 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
8182 void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
8183
8184 private:
8185 const ::std::string& _internal_name() const;
8186 PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
8187 ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
8188
8189 public:
8190 // .operations_research.sat.CpObjectiveProto objective = 4;
8191 bool has_objective() const;
8192 void clear_objective() ;
8193 const ::operations_research::sat::CpObjectiveProto& objective() const;
8194 [[nodiscard]] ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE release_objective();
8199
8200 private:
8201 const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
8202 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL _internal_mutable_objective();
8203
8204 public:
8205 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
8206 bool has_solution_hint() const;
8207 void clear_solution_hint() ;
8208 const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
8214
8215 private:
8216 const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
8217 ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NONNULL _internal_mutable_solution_hint();
8218
8219 public:
8220 // .operations_research.sat.SymmetryProto symmetry = 8;
8221 bool has_symmetry() const;
8222 void clear_symmetry() ;
8223 const ::operations_research::sat::SymmetryProto& symmetry() const;
8224 [[nodiscard]] ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE release_symmetry();
8229
8230 private:
8231 const ::operations_research::sat::SymmetryProto& _internal_symmetry() const;
8232 ::operations_research::sat::SymmetryProto* PROTOBUF_NONNULL _internal_mutable_symmetry();
8233
8234 public:
8235 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
8236 bool has_floating_point_objective() const;
8238 const ::operations_research::sat::FloatObjectiveProto& floating_point_objective() const;
8244
8245 private:
8246 const ::operations_research::sat::FloatObjectiveProto& _internal_floating_point_objective() const;
8247 ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NONNULL _internal_mutable_floating_point_objective();
8248
8249 public:
8250 // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
8251 private:
8252 class _Internal;
8253 friend class ::google::protobuf::internal::TcParser;
8254 static const ::google::protobuf::internal::TcParseTable<4, 9,
8255 7, 57,
8256 2>
8257 _table_;
8258
8259 friend class ::google::protobuf::MessageLite;
8260 friend class ::google::protobuf::Arena;
8261 template <typename T>
8262 friend class ::google::protobuf::Arena::InternalHelper;
8263 using InternalArenaConstructable_ = void;
8264 using DestructorSkippable_ = void;
8265 struct Impl_ {
8266 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
8267 inline explicit Impl_(
8268 ::google::protobuf::internal::InternalVisibility visibility,
8269 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8270 inline explicit Impl_(
8271 ::google::protobuf::internal::InternalVisibility visibility,
8272 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
8273 const CpModelProto& from_msg);
8274 ::google::protobuf::internal::HasBits<1> _has_bits_;
8275 ::google::protobuf::internal::CachedSize _cached_size_;
8276 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
8277 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
8278 ::google::protobuf::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
8279 ::google::protobuf::RepeatedField<::int32_t> assumptions_;
8280 ::google::protobuf::internal::CachedSize _assumptions_cached_byte_size_;
8281 ::google::protobuf::internal::ArenaStringPtr name_;
8282 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE objective_;
8283 ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NULLABLE solution_hint_;
8284 ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE symmetry_;
8285 ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NULLABLE floating_point_objective_;
8286 PROTOBUF_TSAN_DECLARE_MEMBER
8287 };
8288 union { Impl_ _impl_; };
8289 friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
8292OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CpModelProto_class_data_;
8294// ===================================================================
8295
8296
8297
8298
8299// ===================================================================
8300
8301
8302#ifdef __GNUC__
8303#pragma GCC diagnostic push
8304#pragma GCC diagnostic ignored "-Wstrict-aliasing"
8305#endif // __GNUC__
8306// -------------------------------------------------------------------
8307
8308// IntegerVariableProto
8309
8310// string name = 1;
8312 ::google::protobuf::internal::TSanWrite(&_impl_);
8313 _impl_.name_.ClearToEmpty();
8314 ClearHasBit(_impl_._has_bits_[0],
8315 0x00000002U);
8316}
8317inline const ::std::string& IntegerVariableProto::name() const
8318 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8319 // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
8320 return _internal_name();
8321}
8322template <typename Arg_, typename... Args_>
8323PROTOBUF_ALWAYS_INLINE void IntegerVariableProto::set_name(Arg_&& arg, Args_... args) {
8324 ::google::protobuf::internal::TSanWrite(&_impl_);
8325 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
8326 _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
8327 // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
8328}
8329inline ::std::string* PROTOBUF_NONNULL IntegerVariableProto::mutable_name()
8330 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8331 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
8332 ::std::string* _s = _internal_mutable_name();
8333 // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
8334 return _s;
8335}
8336inline const ::std::string& IntegerVariableProto::_internal_name() const {
8337 ::google::protobuf::internal::TSanRead(&_impl_);
8338 return _impl_.name_.Get();
8339}
8340inline void IntegerVariableProto::_internal_set_name(const ::std::string& value) {
8341 ::google::protobuf::internal::TSanWrite(&_impl_);
8342 _impl_.name_.Set(value, GetArena());
8343}
8344inline ::std::string* PROTOBUF_NONNULL IntegerVariableProto::_internal_mutable_name() {
8345 ::google::protobuf::internal::TSanWrite(&_impl_);
8346 return _impl_.name_.Mutable( GetArena());
8347}
8348inline ::std::string* PROTOBUF_NULLABLE IntegerVariableProto::release_name() {
8349 ::google::protobuf::internal::TSanWrite(&_impl_);
8350 // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
8351 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
8352 return nullptr;
8353 }
8354 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
8355 auto* released = _impl_.name_.Release();
8356 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
8357 _impl_.name_.Set("", GetArena());
8358 }
8359 return released;
8360}
8361inline void IntegerVariableProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
8362 ::google::protobuf::internal::TSanWrite(&_impl_);
8363 if (value != nullptr) {
8364 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
8365 } else {
8366 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
8367 }
8368 _impl_.name_.SetAllocated(value, GetArena());
8369 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
8370 _impl_.name_.Set("", GetArena());
8371 }
8372 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
8373}
8374
8375// repeated int64 domain = 2;
8376inline int IntegerVariableProto::_internal_domain_size() const {
8377 return _internal_domain().size();
8378}
8379inline int IntegerVariableProto::domain_size() const {
8380 return _internal_domain_size();
8381}
8383 ::google::protobuf::internal::TSanWrite(&_impl_);
8384 _impl_.domain_.Clear();
8385 ClearHasBitForRepeated(_impl_._has_bits_[0],
8386 0x00000001U);
8387}
8388inline ::int64_t IntegerVariableProto::domain(int index) const {
8389 // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
8390 return _internal_domain().Get(index);
8391}
8392inline void IntegerVariableProto::set_domain(int index, ::int64_t value) {
8393 _internal_mutable_domain()->Set(index, value);
8394 // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
8396inline void IntegerVariableProto::add_domain(::int64_t value) {
8397 ::google::protobuf::internal::TSanWrite(&_impl_);
8398 _internal_mutable_domain()->Add(value);
8399 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8400 // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
8401}
8402inline const ::google::protobuf::RepeatedField<::int64_t>& IntegerVariableProto::domain() const
8403 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8404 // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
8405 return _internal_domain();
8406}
8407inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL IntegerVariableProto::mutable_domain()
8408 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8409 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8410 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
8411 ::google::protobuf::internal::TSanWrite(&_impl_);
8412 return _internal_mutable_domain();
8414inline const ::google::protobuf::RepeatedField<::int64_t>&
8415IntegerVariableProto::_internal_domain() const {
8416 ::google::protobuf::internal::TSanRead(&_impl_);
8417 return _impl_.domain_;
8418}
8419inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
8420IntegerVariableProto::_internal_mutable_domain() {
8421 ::google::protobuf::internal::TSanRead(&_impl_);
8422 return &_impl_.domain_;
8423}
8424
8425// -------------------------------------------------------------------
8427// BoolArgumentProto
8428
8429// repeated int32 literals = 1;
8430inline int BoolArgumentProto::_internal_literals_size() const {
8431 return _internal_literals().size();
8432}
8433inline int BoolArgumentProto::literals_size() const {
8434 return _internal_literals_size();
8435}
8437 ::google::protobuf::internal::TSanWrite(&_impl_);
8438 _impl_.literals_.Clear();
8439 ClearHasBitForRepeated(_impl_._has_bits_[0],
8440 0x00000001U);
8442inline ::int32_t BoolArgumentProto::literals(int index) const {
8443 // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
8444 return _internal_literals().Get(index);
8445}
8446inline void BoolArgumentProto::set_literals(int index, ::int32_t value) {
8447 _internal_mutable_literals()->Set(index, value);
8448 // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
8449}
8450inline void BoolArgumentProto::add_literals(::int32_t value) {
8451 ::google::protobuf::internal::TSanWrite(&_impl_);
8452 _internal_mutable_literals()->Add(value);
8453 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8454 // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
8455}
8456inline const ::google::protobuf::RepeatedField<::int32_t>& BoolArgumentProto::literals() const
8457 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8458 // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
8459 return _internal_literals();
8460}
8461inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL BoolArgumentProto::mutable_literals()
8462 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8463 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8464 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
8465 ::google::protobuf::internal::TSanWrite(&_impl_);
8466 return _internal_mutable_literals();
8467}
8468inline const ::google::protobuf::RepeatedField<::int32_t>&
8469BoolArgumentProto::_internal_literals() const {
8470 ::google::protobuf::internal::TSanRead(&_impl_);
8471 return _impl_.literals_;
8472}
8473inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
8474BoolArgumentProto::_internal_mutable_literals() {
8475 ::google::protobuf::internal::TSanRead(&_impl_);
8476 return &_impl_.literals_;
8478
8479// -------------------------------------------------------------------
8480
8481// LinearExpressionProto
8482
8483// repeated int32 vars = 1;
8484inline int LinearExpressionProto::_internal_vars_size() const {
8485 return _internal_vars().size();
8486}
8487inline int LinearExpressionProto::vars_size() const {
8488 return _internal_vars_size();
8489}
8491 ::google::protobuf::internal::TSanWrite(&_impl_);
8492 _impl_.vars_.Clear();
8493 ClearHasBitForRepeated(_impl_._has_bits_[0],
8494 0x00000001U);
8495}
8496inline ::int32_t LinearExpressionProto::vars(int index) const {
8497 // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
8498 return _internal_vars().Get(index);
8499}
8500inline void LinearExpressionProto::set_vars(int index, ::int32_t value) {
8501 _internal_mutable_vars()->Set(index, value);
8502 // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
8503}
8504inline void LinearExpressionProto::add_vars(::int32_t value) {
8505 ::google::protobuf::internal::TSanWrite(&_impl_);
8506 _internal_mutable_vars()->Add(value);
8507 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8508 // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
8509}
8510inline const ::google::protobuf::RepeatedField<::int32_t>& LinearExpressionProto::vars() const
8511 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8512 // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
8513 return _internal_vars();
8514}
8515inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL LinearExpressionProto::mutable_vars()
8516 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8517 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8518 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
8519 ::google::protobuf::internal::TSanWrite(&_impl_);
8520 return _internal_mutable_vars();
8521}
8522inline const ::google::protobuf::RepeatedField<::int32_t>&
8523LinearExpressionProto::_internal_vars() const {
8524 ::google::protobuf::internal::TSanRead(&_impl_);
8525 return _impl_.vars_;
8527inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
8528LinearExpressionProto::_internal_mutable_vars() {
8529 ::google::protobuf::internal::TSanRead(&_impl_);
8530 return &_impl_.vars_;
8531}
8533// repeated int64 coeffs = 2;
8534inline int LinearExpressionProto::_internal_coeffs_size() const {
8535 return _internal_coeffs().size();
8537inline int LinearExpressionProto::coeffs_size() const {
8538 return _internal_coeffs_size();
8539}
8541 ::google::protobuf::internal::TSanWrite(&_impl_);
8542 _impl_.coeffs_.Clear();
8543 ClearHasBitForRepeated(_impl_._has_bits_[0],
8544 0x00000002U);
8545}
8546inline ::int64_t LinearExpressionProto::coeffs(int index) const {
8547 // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
8548 return _internal_coeffs().Get(index);
8549}
8550inline void LinearExpressionProto::set_coeffs(int index, ::int64_t value) {
8551 _internal_mutable_coeffs()->Set(index, value);
8552 // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
8553}
8554inline void LinearExpressionProto::add_coeffs(::int64_t value) {
8555 ::google::protobuf::internal::TSanWrite(&_impl_);
8556 _internal_mutable_coeffs()->Add(value);
8557 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
8558 // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
8559}
8560inline const ::google::protobuf::RepeatedField<::int64_t>& LinearExpressionProto::coeffs() const
8561 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8562 // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
8563 return _internal_coeffs();
8564}
8565inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL LinearExpressionProto::mutable_coeffs()
8566 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8567 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
8568 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
8569 ::google::protobuf::internal::TSanWrite(&_impl_);
8570 return _internal_mutable_coeffs();
8571}
8572inline const ::google::protobuf::RepeatedField<::int64_t>&
8573LinearExpressionProto::_internal_coeffs() const {
8574 ::google::protobuf::internal::TSanRead(&_impl_);
8575 return _impl_.coeffs_;
8577inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
8578LinearExpressionProto::_internal_mutable_coeffs() {
8579 ::google::protobuf::internal::TSanRead(&_impl_);
8580 return &_impl_.coeffs_;
8581}
8583// int64 offset = 3;
8585 ::google::protobuf::internal::TSanWrite(&_impl_);
8586 _impl_.offset_ = ::int64_t{0};
8587 ClearHasBit(_impl_._has_bits_[0],
8588 0x00000004U);
8589}
8590inline ::int64_t LinearExpressionProto::offset() const {
8591 // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
8592 return _internal_offset();
8593}
8594inline void LinearExpressionProto::set_offset(::int64_t value) {
8595 _internal_set_offset(value);
8596 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
8597 // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
8598}
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 = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
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 ClearHasBit(_impl_._has_bits_[0],
8622 0x00000002U);
8623}
8624inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
8625 ::google::protobuf::internal::TSanRead(&_impl_);
8626 const ::operations_research::sat::LinearExpressionProto* p = _impl_.target_;
8628}
8629inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8630 // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
8631 return _internal_target();
8632}
8634 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
8635 ::google::protobuf::internal::TSanWrite(&_impl_);
8636 if (GetArena() == nullptr) {
8637 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_);
8638 }
8639 _impl_.target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
8640 if (value != nullptr) {
8641 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
8642 } else {
8643 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
8644 }
8645 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
8646}
8647inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE LinearArgumentProto::release_target() {
8648 ::google::protobuf::internal::TSanWrite(&_impl_);
8649
8650 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
8652 _impl_.target_ = nullptr;
8653 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
8654 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
8655 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8656 if (GetArena() == nullptr) {
8657 delete old;
8658 }
8659 } else {
8660 if (GetArena() != nullptr) {
8661 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
8662 }
8663 }
8664 return released;
8665}
8666inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE LinearArgumentProto::unsafe_arena_release_target() {
8667 ::google::protobuf::internal::TSanWrite(&_impl_);
8668 // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
8669
8670 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
8672 _impl_.target_ = nullptr;
8673 return temp;
8674}
8675inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL LinearArgumentProto::_internal_mutable_target() {
8676 ::google::protobuf::internal::TSanWrite(&_impl_);
8677 if (_impl_.target_ == nullptr) {
8678 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
8679 _impl_.target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
8680 }
8681 return _impl_.target_;
8682}
8683inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL LinearArgumentProto::mutable_target()
8684 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8685 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
8686 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_target();
8687 // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
8688 return _msg;
8689}
8691 ::google::protobuf::Arena* message_arena = GetArena();
8692 ::google::protobuf::internal::TSanWrite(&_impl_);
8693 if (message_arena == nullptr) {
8694 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_);
8695 }
8696
8697 if (value != nullptr) {
8698 ::google::protobuf::Arena* submessage_arena = value->GetArena();
8699 if (message_arena != submessage_arena) {
8700 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
8701 }
8702 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
8703 } else {
8704 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
8705 }
8706
8707 _impl_.target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
8708 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
8709}
8710
8711// repeated .operations_research.sat.LinearExpressionProto exprs = 2;
8712inline int LinearArgumentProto::_internal_exprs_size() const {
8713 return _internal_exprs().size();
8714}
8715inline int LinearArgumentProto::exprs_size() const {
8716 return _internal_exprs_size();
8717}
8719 ::google::protobuf::internal::TSanWrite(&_impl_);
8720 _impl_.exprs_.Clear();
8721 ClearHasBitForRepeated(_impl_._has_bits_[0],
8722 0x00000001U);
8723}
8724inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL LinearArgumentProto::mutable_exprs(int index)
8725 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8726 // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
8727 return _internal_mutable_exprs()->Mutable(index);
8728}
8729inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL LinearArgumentProto::mutable_exprs()
8730 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8731 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8732 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
8733 ::google::protobuf::internal::TSanWrite(&_impl_);
8734 return _internal_mutable_exprs();
8735}
8736inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const
8737 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8738 // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
8739 return _internal_exprs().Get(index);
8740}
8741inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL LinearArgumentProto::add_exprs()
8742 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8743 ::google::protobuf::internal::TSanWrite(&_impl_);
8745 _internal_mutable_exprs()->InternalAddWithArena(
8746 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
8747 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8748 // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
8749 return _add;
8750}
8751inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& LinearArgumentProto::exprs() const
8752 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8753 // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
8754 return _internal_exprs();
8756inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
8757LinearArgumentProto::_internal_exprs() const {
8758 ::google::protobuf::internal::TSanRead(&_impl_);
8759 return _impl_.exprs_;
8760}
8761inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
8762LinearArgumentProto::_internal_mutable_exprs() {
8763 ::google::protobuf::internal::TSanRead(&_impl_);
8764 return &_impl_.exprs_;
8765}
8767// -------------------------------------------------------------------
8768
8769// AllDifferentConstraintProto
8770
8771// repeated .operations_research.sat.LinearExpressionProto exprs = 1;
8772inline int AllDifferentConstraintProto::_internal_exprs_size() const {
8773 return _internal_exprs().size();
8774}
8775inline int AllDifferentConstraintProto::exprs_size() const {
8776 return _internal_exprs_size();
8777}
8779 ::google::protobuf::internal::TSanWrite(&_impl_);
8780 _impl_.exprs_.Clear();
8781 ClearHasBitForRepeated(_impl_._has_bits_[0],
8782 0x00000001U);
8783}
8784inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL AllDifferentConstraintProto::mutable_exprs(int index)
8785 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8786 // @@protoc_insertion_point(field_mutable:operations_research.sat.AllDifferentConstraintProto.exprs)
8787 return _internal_mutable_exprs()->Mutable(index);
8789inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL AllDifferentConstraintProto::mutable_exprs()
8790 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8791 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8792 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.exprs)
8793 ::google::protobuf::internal::TSanWrite(&_impl_);
8794 return _internal_mutable_exprs();
8795}
8796inline const ::operations_research::sat::LinearExpressionProto& AllDifferentConstraintProto::exprs(int index) const
8797 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8798 // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.exprs)
8799 return _internal_exprs().Get(index);
8800}
8801inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL AllDifferentConstraintProto::add_exprs()
8802 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8803 ::google::protobuf::internal::TSanWrite(&_impl_);
8805 _internal_mutable_exprs()->InternalAddWithArena(
8806 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
8807 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8808 // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.exprs)
8809 return _add;
8810}
8811inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& AllDifferentConstraintProto::exprs() const
8812 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8813 // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.exprs)
8814 return _internal_exprs();
8815}
8816inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
8817AllDifferentConstraintProto::_internal_exprs() const {
8818 ::google::protobuf::internal::TSanRead(&_impl_);
8819 return _impl_.exprs_;
8820}
8821inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
8822AllDifferentConstraintProto::_internal_mutable_exprs() {
8823 ::google::protobuf::internal::TSanRead(&_impl_);
8824 return &_impl_.exprs_;
8825}
8826
8827// -------------------------------------------------------------------
8828
8829// LinearConstraintProto
8830
8831// repeated int32 vars = 1;
8832inline int LinearConstraintProto::_internal_vars_size() const {
8833 return _internal_vars().size();
8835inline int LinearConstraintProto::vars_size() const {
8836 return _internal_vars_size();
8837}
8839 ::google::protobuf::internal::TSanWrite(&_impl_);
8840 _impl_.vars_.Clear();
8841 ClearHasBitForRepeated(_impl_._has_bits_[0],
8842 0x00000001U);
8843}
8844inline ::int32_t LinearConstraintProto::vars(int index) const {
8845 // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
8846 return _internal_vars().Get(index);
8847}
8848inline void LinearConstraintProto::set_vars(int index, ::int32_t value) {
8849 _internal_mutable_vars()->Set(index, value);
8850 // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
8851}
8852inline void LinearConstraintProto::add_vars(::int32_t value) {
8853 ::google::protobuf::internal::TSanWrite(&_impl_);
8854 _internal_mutable_vars()->Add(value);
8855 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8856 // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
8857}
8858inline const ::google::protobuf::RepeatedField<::int32_t>& LinearConstraintProto::vars() const
8859 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8860 // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
8861 return _internal_vars();
8862}
8863inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL LinearConstraintProto::mutable_vars()
8864 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8865 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
8866 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
8867 ::google::protobuf::internal::TSanWrite(&_impl_);
8868 return _internal_mutable_vars();
8869}
8870inline const ::google::protobuf::RepeatedField<::int32_t>&
8871LinearConstraintProto::_internal_vars() const {
8872 ::google::protobuf::internal::TSanRead(&_impl_);
8873 return _impl_.vars_;
8875inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
8876LinearConstraintProto::_internal_mutable_vars() {
8877 ::google::protobuf::internal::TSanRead(&_impl_);
8878 return &_impl_.vars_;
8879}
8880
8881// repeated int64 coeffs = 2;
8882inline int LinearConstraintProto::_internal_coeffs_size() const {
8883 return _internal_coeffs().size();
8884}
8885inline int LinearConstraintProto::coeffs_size() const {
8886 return _internal_coeffs_size();
8889 ::google::protobuf::internal::TSanWrite(&_impl_);
8890 _impl_.coeffs_.Clear();
8891 ClearHasBitForRepeated(_impl_._has_bits_[0],
8892 0x00000002U);
8893}
8894inline ::int64_t LinearConstraintProto::coeffs(int index) const {
8895 // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
8896 return _internal_coeffs().Get(index);
8898inline void LinearConstraintProto::set_coeffs(int index, ::int64_t value) {
8899 _internal_mutable_coeffs()->Set(index, value);
8900 // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
8901}
8902inline void LinearConstraintProto::add_coeffs(::int64_t value) {
8903 ::google::protobuf::internal::TSanWrite(&_impl_);
8904 _internal_mutable_coeffs()->Add(value);
8905 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
8906 // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
8907}
8908inline const ::google::protobuf::RepeatedField<::int64_t>& LinearConstraintProto::coeffs() const
8909 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8910 // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
8911 return _internal_coeffs();
8912}
8913inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL LinearConstraintProto::mutable_coeffs()
8914 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8915 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
8916 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
8917 ::google::protobuf::internal::TSanWrite(&_impl_);
8918 return _internal_mutable_coeffs();
8919}
8920inline const ::google::protobuf::RepeatedField<::int64_t>&
8921LinearConstraintProto::_internal_coeffs() const {
8922 ::google::protobuf::internal::TSanRead(&_impl_);
8923 return _impl_.coeffs_;
8925inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
8926LinearConstraintProto::_internal_mutable_coeffs() {
8927 ::google::protobuf::internal::TSanRead(&_impl_);
8928 return &_impl_.coeffs_;
8929}
8930
8931// repeated int64 domain = 3;
8932inline int LinearConstraintProto::_internal_domain_size() const {
8933 return _internal_domain().size();
8934}
8935inline int LinearConstraintProto::domain_size() const {
8936 return _internal_domain_size();
8939 ::google::protobuf::internal::TSanWrite(&_impl_);
8940 _impl_.domain_.Clear();
8941 ClearHasBitForRepeated(_impl_._has_bits_[0],
8942 0x00000004U);
8943}
8944inline ::int64_t LinearConstraintProto::domain(int index) const {
8945 // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
8946 return _internal_domain().Get(index);
8948inline void LinearConstraintProto::set_domain(int index, ::int64_t value) {
8949 _internal_mutable_domain()->Set(index, value);
8950 // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
8951}
8952inline void LinearConstraintProto::add_domain(::int64_t value) {
8953 ::google::protobuf::internal::TSanWrite(&_impl_);
8954 _internal_mutable_domain()->Add(value);
8955 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
8956 // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
8957}
8958inline const ::google::protobuf::RepeatedField<::int64_t>& LinearConstraintProto::domain() const
8959 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8960 // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
8961 return _internal_domain();
8962}
8963inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL LinearConstraintProto::mutable_domain()
8964 ABSL_ATTRIBUTE_LIFETIME_BOUND {
8965 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
8966 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
8967 ::google::protobuf::internal::TSanWrite(&_impl_);
8968 return _internal_mutable_domain();
8969}
8970inline const ::google::protobuf::RepeatedField<::int64_t>&
8971LinearConstraintProto::_internal_domain() const {
8972 ::google::protobuf::internal::TSanRead(&_impl_);
8973 return _impl_.domain_;
8975inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
8976LinearConstraintProto::_internal_mutable_domain() {
8977 ::google::protobuf::internal::TSanRead(&_impl_);
8978 return &_impl_.domain_;
8979}
8980
8981// -------------------------------------------------------------------
8982
8983// ElementConstraintProto
8984
8985// int32 index = 1;
8987 ::google::protobuf::internal::TSanWrite(&_impl_);
8988 _impl_.index_ = 0;
8989 ClearHasBit(_impl_._has_bits_[0],
8990 0x00000010U);
8992inline ::int32_t ElementConstraintProto::index() const {
8993 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
8994 return _internal_index();
8995}
8996inline void ElementConstraintProto::set_index(::int32_t value) {
8997 _internal_set_index(value);
8998 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
8999 // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
9000}
9001inline ::int32_t ElementConstraintProto::_internal_index() const {
9002 ::google::protobuf::internal::TSanRead(&_impl_);
9003 return _impl_.index_;
9004}
9005inline void ElementConstraintProto::_internal_set_index(::int32_t value) {
9006 ::google::protobuf::internal::TSanWrite(&_impl_);
9007 _impl_.index_ = value;
9008}
9009
9010// int32 target = 2;
9012 ::google::protobuf::internal::TSanWrite(&_impl_);
9013 _impl_.target_ = 0;
9014 ClearHasBit(_impl_._has_bits_[0],
9015 0x00000020U);
9016}
9017inline ::int32_t ElementConstraintProto::target() const {
9018 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
9019 return _internal_target();
9020}
9021inline void ElementConstraintProto::set_target(::int32_t value) {
9022 _internal_set_target(value);
9023 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
9024 // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
9025}
9026inline ::int32_t ElementConstraintProto::_internal_target() const {
9027 ::google::protobuf::internal::TSanRead(&_impl_);
9028 return _impl_.target_;
9029}
9030inline void ElementConstraintProto::_internal_set_target(::int32_t value) {
9031 ::google::protobuf::internal::TSanWrite(&_impl_);
9032 _impl_.target_ = value;
9033}
9034
9035// repeated int32 vars = 3;
9036inline int ElementConstraintProto::_internal_vars_size() const {
9037 return _internal_vars().size();
9038}
9039inline int ElementConstraintProto::vars_size() const {
9040 return _internal_vars_size();
9041}
9043 ::google::protobuf::internal::TSanWrite(&_impl_);
9044 _impl_.vars_.Clear();
9045 ClearHasBitForRepeated(_impl_._has_bits_[0],
9046 0x00000001U);
9047}
9048inline ::int32_t ElementConstraintProto::vars(int index) const {
9049 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
9050 return _internal_vars().Get(index);
9052inline void ElementConstraintProto::set_vars(int index, ::int32_t value) {
9053 _internal_mutable_vars()->Set(index, value);
9054 // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
9055}
9056inline void ElementConstraintProto::add_vars(::int32_t value) {
9057 ::google::protobuf::internal::TSanWrite(&_impl_);
9058 _internal_mutable_vars()->Add(value);
9059 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
9060 // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
9062inline const ::google::protobuf::RepeatedField<::int32_t>& ElementConstraintProto::vars() const
9063 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9064 // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
9065 return _internal_vars();
9066}
9067inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ElementConstraintProto::mutable_vars()
9068 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9069 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
9070 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
9071 ::google::protobuf::internal::TSanWrite(&_impl_);
9072 return _internal_mutable_vars();
9073}
9074inline const ::google::protobuf::RepeatedField<::int32_t>&
9075ElementConstraintProto::_internal_vars() const {
9076 ::google::protobuf::internal::TSanRead(&_impl_);
9077 return _impl_.vars_;
9078}
9079inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9080ElementConstraintProto::_internal_mutable_vars() {
9081 ::google::protobuf::internal::TSanRead(&_impl_);
9082 return &_impl_.vars_;
9083}
9084
9085// .operations_research.sat.LinearExpressionProto linear_index = 4;
9086inline bool ElementConstraintProto::has_linear_index() const {
9087 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
9088 PROTOBUF_ASSUME(!value || _impl_.linear_index_ != nullptr);
9089 return value;
9090}
9092 ::google::protobuf::internal::TSanWrite(&_impl_);
9093 if (_impl_.linear_index_ != nullptr) _impl_.linear_index_->Clear();
9094 ClearHasBit(_impl_._has_bits_[0],
9095 0x00000004U);
9097inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::_internal_linear_index() const {
9098 ::google::protobuf::internal::TSanRead(&_impl_);
9099 const ::operations_research::sat::LinearExpressionProto* p = _impl_.linear_index_;
9101}
9102inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::linear_index() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9103 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.linear_index)
9104 return _internal_linear_index();
9105}
9108 ::google::protobuf::internal::TSanWrite(&_impl_);
9109 if (GetArena() == nullptr) {
9110 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.linear_index_);
9111 }
9112 _impl_.linear_index_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9113 if (value != nullptr) {
9114 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9115 } else {
9116 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9117 }
9118 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ElementConstraintProto.linear_index)
9119}
9120inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE ElementConstraintProto::release_linear_index() {
9121 ::google::protobuf::internal::TSanWrite(&_impl_);
9122
9123 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9125 _impl_.linear_index_ = nullptr;
9126 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9127 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9128 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9129 if (GetArena() == nullptr) {
9130 delete old;
9132 } else {
9133 if (GetArena() != nullptr) {
9134 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9135 }
9136 }
9137 return released;
9138}
9139inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE ElementConstraintProto::unsafe_arena_release_linear_index() {
9140 ::google::protobuf::internal::TSanWrite(&_impl_);
9141 // @@protoc_insertion_point(field_release:operations_research.sat.ElementConstraintProto.linear_index)
9143 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9145 _impl_.linear_index_ = nullptr;
9146 return temp;
9147}
9148inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::_internal_mutable_linear_index() {
9149 ::google::protobuf::internal::TSanWrite(&_impl_);
9150 if (_impl_.linear_index_ == nullptr) {
9151 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9152 _impl_.linear_index_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9153 }
9154 return _impl_.linear_index_;
9155}
9156inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::mutable_linear_index()
9157 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9158 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9159 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_linear_index();
9160 // @@protoc_insertion_point(field_mutable:operations_research.sat.ElementConstraintProto.linear_index)
9161 return _msg;
9162}
9164 ::google::protobuf::Arena* message_arena = GetArena();
9165 ::google::protobuf::internal::TSanWrite(&_impl_);
9166 if (message_arena == nullptr) {
9167 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.linear_index_);
9168 }
9169
9170 if (value != nullptr) {
9171 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9172 if (message_arena != submessage_arena) {
9173 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9174 }
9175 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9176 } else {
9177 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9178 }
9180 _impl_.linear_index_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9181 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ElementConstraintProto.linear_index)
9182}
9183
9184// .operations_research.sat.LinearExpressionProto linear_target = 5;
9186 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
9187 PROTOBUF_ASSUME(!value || _impl_.linear_target_ != nullptr);
9188 return value;
9189}
9191 ::google::protobuf::internal::TSanWrite(&_impl_);
9192 if (_impl_.linear_target_ != nullptr) _impl_.linear_target_->Clear();
9193 ClearHasBit(_impl_._has_bits_[0],
9194 0x00000008U);
9195}
9196inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::_internal_linear_target() const {
9197 ::google::protobuf::internal::TSanRead(&_impl_);
9198 const ::operations_research::sat::LinearExpressionProto* p = _impl_.linear_target_;
9200}
9201inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::linear_target() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9202 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.linear_target)
9203 return _internal_linear_target();
9204}
9206 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9207 ::google::protobuf::internal::TSanWrite(&_impl_);
9208 if (GetArena() == nullptr) {
9209 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.linear_target_);
9210 }
9211 _impl_.linear_target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9212 if (value != nullptr) {
9213 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
9214 } else {
9215 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
9216 }
9217 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ElementConstraintProto.linear_target)
9218}
9219inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE ElementConstraintProto::release_linear_target() {
9220 ::google::protobuf::internal::TSanWrite(&_impl_);
9221
9222 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
9223 ::operations_research::sat::LinearExpressionProto* released = _impl_.linear_target_;
9224 _impl_.linear_target_ = nullptr;
9225 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9226 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9227 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9228 if (GetArena() == nullptr) {
9229 delete old;
9231 } else {
9232 if (GetArena() != nullptr) {
9233 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9234 }
9235 }
9236 return released;
9237}
9238inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE ElementConstraintProto::unsafe_arena_release_linear_target() {
9239 ::google::protobuf::internal::TSanWrite(&_impl_);
9240 // @@protoc_insertion_point(field_release:operations_research.sat.ElementConstraintProto.linear_target)
9242 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
9244 _impl_.linear_target_ = nullptr;
9245 return temp;
9246}
9247inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::_internal_mutable_linear_target() {
9248 ::google::protobuf::internal::TSanWrite(&_impl_);
9249 if (_impl_.linear_target_ == nullptr) {
9250 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9251 _impl_.linear_target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9252 }
9253 return _impl_.linear_target_;
9254}
9255inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::mutable_linear_target()
9256 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9257 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
9258 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_linear_target();
9259 // @@protoc_insertion_point(field_mutable:operations_research.sat.ElementConstraintProto.linear_target)
9260 return _msg;
9261}
9263 ::google::protobuf::Arena* message_arena = GetArena();
9264 ::google::protobuf::internal::TSanWrite(&_impl_);
9265 if (message_arena == nullptr) {
9266 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.linear_target_);
9267 }
9268
9269 if (value != nullptr) {
9270 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9271 if (message_arena != submessage_arena) {
9272 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9273 }
9274 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
9275 } else {
9276 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
9277 }
9279 _impl_.linear_target_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9280 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ElementConstraintProto.linear_target)
9281}
9282
9283// repeated .operations_research.sat.LinearExpressionProto exprs = 6;
9284inline int ElementConstraintProto::_internal_exprs_size() const {
9285 return _internal_exprs().size();
9286}
9287inline int ElementConstraintProto::exprs_size() const {
9288 return _internal_exprs_size();
9289}
9291 ::google::protobuf::internal::TSanWrite(&_impl_);
9292 _impl_.exprs_.Clear();
9293 ClearHasBitForRepeated(_impl_._has_bits_[0],
9294 0x00000002U);
9296inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::mutable_exprs(int index)
9297 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9298 // @@protoc_insertion_point(field_mutable:operations_research.sat.ElementConstraintProto.exprs)
9299 return _internal_mutable_exprs()->Mutable(index);
9300}
9301inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL ElementConstraintProto::mutable_exprs()
9302 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9303 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
9304 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.exprs)
9305 ::google::protobuf::internal::TSanWrite(&_impl_);
9306 return _internal_mutable_exprs();
9307}
9308inline const ::operations_research::sat::LinearExpressionProto& ElementConstraintProto::exprs(int index) const
9309 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9310 // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.exprs)
9311 return _internal_exprs().Get(index);
9312}
9313inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ElementConstraintProto::add_exprs()
9314 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9315 ::google::protobuf::internal::TSanWrite(&_impl_);
9317 _internal_mutable_exprs()->InternalAddWithArena(
9318 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
9319 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
9320 // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.exprs)
9321 return _add;
9322}
9323inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& ElementConstraintProto::exprs() const
9324 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9325 // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.exprs)
9326 return _internal_exprs();
9328inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
9329ElementConstraintProto::_internal_exprs() const {
9330 ::google::protobuf::internal::TSanRead(&_impl_);
9331 return _impl_.exprs_;
9332}
9333inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
9334ElementConstraintProto::_internal_mutable_exprs() {
9335 ::google::protobuf::internal::TSanRead(&_impl_);
9336 return &_impl_.exprs_;
9337}
9338
9339// -------------------------------------------------------------------
9340
9341// IntervalConstraintProto
9342
9343// .operations_research.sat.LinearExpressionProto start = 4;
9344inline bool IntervalConstraintProto::has_start() const {
9345 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
9346 PROTOBUF_ASSUME(!value || _impl_.start_ != nullptr);
9347 return value;
9350 ::google::protobuf::internal::TSanWrite(&_impl_);
9351 if (_impl_.start_ != nullptr) _impl_.start_->Clear();
9352 ClearHasBit(_impl_._has_bits_[0],
9353 0x00000001U);
9354}
9355inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_start() const {
9356 ::google::protobuf::internal::TSanRead(&_impl_);
9357 const ::operations_research::sat::LinearExpressionProto* p = _impl_.start_;
9359}
9360inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::start() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9361 // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
9362 return _internal_start();
9365 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9366 ::google::protobuf::internal::TSanWrite(&_impl_);
9367 if (GetArena() == nullptr) {
9368 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_);
9369 }
9370 _impl_.start_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9371 if (value != nullptr) {
9372 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
9373 } else {
9374 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
9375 }
9376 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.start)
9377}
9378inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::release_start() {
9379 ::google::protobuf::internal::TSanWrite(&_impl_);
9380
9381 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
9382 ::operations_research::sat::LinearExpressionProto* released = _impl_.start_;
9383 _impl_.start_ = nullptr;
9384 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9385 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9386 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9387 if (GetArena() == nullptr) {
9388 delete old;
9389 }
9390 } else {
9391 if (GetArena() != nullptr) {
9392 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9393 }
9394 }
9395 return released;
9396}
9397inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::unsafe_arena_release_start() {
9398 ::google::protobuf::internal::TSanWrite(&_impl_);
9399 // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.start)
9400
9401 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
9403 _impl_.start_ = nullptr;
9404 return temp;
9406inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::_internal_mutable_start() {
9407 ::google::protobuf::internal::TSanWrite(&_impl_);
9408 if (_impl_.start_ == nullptr) {
9409 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9410 _impl_.start_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9411 }
9412 return _impl_.start_;
9413}
9414inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::mutable_start()
9415 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9416 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
9417 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_start();
9418 // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.start)
9419 return _msg;
9420}
9422 ::google::protobuf::Arena* message_arena = GetArena();
9423 ::google::protobuf::internal::TSanWrite(&_impl_);
9424 if (message_arena == nullptr) {
9425 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_);
9426 }
9427
9428 if (value != nullptr) {
9429 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9430 if (message_arena != submessage_arena) {
9431 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9432 }
9433 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
9434 } else {
9435 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
9436 }
9437
9438 _impl_.start_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9439 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.start)
9440}
9441
9442// .operations_research.sat.LinearExpressionProto end = 5;
9443inline bool IntervalConstraintProto::has_end() const {
9444 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
9445 PROTOBUF_ASSUME(!value || _impl_.end_ != nullptr);
9446 return value;
9447}
9449 ::google::protobuf::internal::TSanWrite(&_impl_);
9450 if (_impl_.end_ != nullptr) _impl_.end_->Clear();
9451 ClearHasBit(_impl_._has_bits_[0],
9452 0x00000002U);
9453}
9454inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_end() const {
9455 ::google::protobuf::internal::TSanRead(&_impl_);
9456 const ::operations_research::sat::LinearExpressionProto* p = _impl_.end_;
9458}
9459inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::end() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9460 // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
9461 return _internal_end();
9464 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9465 ::google::protobuf::internal::TSanWrite(&_impl_);
9466 if (GetArena() == nullptr) {
9467 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_);
9468 }
9469 _impl_.end_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9470 if (value != nullptr) {
9471 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
9472 } else {
9473 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
9474 }
9475 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.end)
9476}
9477inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::release_end() {
9478 ::google::protobuf::internal::TSanWrite(&_impl_);
9479
9480 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
9481 ::operations_research::sat::LinearExpressionProto* released = _impl_.end_;
9482 _impl_.end_ = nullptr;
9483 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9484 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9485 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9486 if (GetArena() == nullptr) {
9487 delete old;
9488 }
9489 } else {
9490 if (GetArena() != nullptr) {
9491 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9492 }
9493 }
9494 return released;
9495}
9496inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::unsafe_arena_release_end() {
9497 ::google::protobuf::internal::TSanWrite(&_impl_);
9498 // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.end)
9499
9500 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
9502 _impl_.end_ = nullptr;
9503 return temp;
9505inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::_internal_mutable_end() {
9506 ::google::protobuf::internal::TSanWrite(&_impl_);
9507 if (_impl_.end_ == nullptr) {
9508 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9509 _impl_.end_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9510 }
9511 return _impl_.end_;
9512}
9513inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::mutable_end()
9514 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9515 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
9516 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_end();
9517 // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.end)
9518 return _msg;
9519}
9521 ::google::protobuf::Arena* message_arena = GetArena();
9522 ::google::protobuf::internal::TSanWrite(&_impl_);
9523 if (message_arena == nullptr) {
9524 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_);
9525 }
9526
9527 if (value != nullptr) {
9528 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9529 if (message_arena != submessage_arena) {
9530 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9531 }
9532 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
9533 } else {
9534 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
9535 }
9536
9538 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.end)
9539}
9540
9541// .operations_research.sat.LinearExpressionProto size = 6;
9542inline bool IntervalConstraintProto::has_size() const {
9543 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
9544 PROTOBUF_ASSUME(!value || _impl_.size_ != nullptr);
9545 return value;
9546}
9548 ::google::protobuf::internal::TSanWrite(&_impl_);
9549 if (_impl_.size_ != nullptr) _impl_.size_->Clear();
9550 ClearHasBit(_impl_._has_bits_[0],
9551 0x00000004U);
9552}
9553inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_size() const {
9554 ::google::protobuf::internal::TSanRead(&_impl_);
9555 const ::operations_research::sat::LinearExpressionProto* p = _impl_.size_;
9557}
9558inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::size() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9559 // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
9560 return _internal_size();
9563 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9564 ::google::protobuf::internal::TSanWrite(&_impl_);
9565 if (GetArena() == nullptr) {
9566 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.size_);
9567 }
9568 _impl_.size_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9569 if (value != nullptr) {
9570 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9571 } else {
9572 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9573 }
9574 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.size)
9575}
9576inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::release_size() {
9577 ::google::protobuf::internal::TSanWrite(&_impl_);
9578
9579 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9580 ::operations_research::sat::LinearExpressionProto* released = _impl_.size_;
9581 _impl_.size_ = nullptr;
9582 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9583 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9584 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9585 if (GetArena() == nullptr) {
9586 delete old;
9587 }
9588 } else {
9589 if (GetArena() != nullptr) {
9590 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9591 }
9592 }
9593 return released;
9594}
9595inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE IntervalConstraintProto::unsafe_arena_release_size() {
9596 ::google::protobuf::internal::TSanWrite(&_impl_);
9597 // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.size)
9598
9599 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9601 _impl_.size_ = nullptr;
9602 return temp;
9604inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::_internal_mutable_size() {
9605 ::google::protobuf::internal::TSanWrite(&_impl_);
9606 if (_impl_.size_ == nullptr) {
9607 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9608 _impl_.size_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9609 }
9610 return _impl_.size_;
9611}
9612inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL IntervalConstraintProto::mutable_size()
9613 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9614 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9615 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_size();
9616 // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.size)
9617 return _msg;
9618}
9620 ::google::protobuf::Arena* message_arena = GetArena();
9621 ::google::protobuf::internal::TSanWrite(&_impl_);
9622 if (message_arena == nullptr) {
9623 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.size_);
9624 }
9625
9626 if (value != nullptr) {
9627 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9628 if (message_arena != submessage_arena) {
9629 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9630 }
9631 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9632 } else {
9633 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9634 }
9635
9636 _impl_.size_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9637 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.size)
9638}
9639
9640// -------------------------------------------------------------------
9641
9642// NoOverlapConstraintProto
9643
9644// repeated int32 intervals = 1;
9645inline int NoOverlapConstraintProto::_internal_intervals_size() const {
9646 return _internal_intervals().size();
9647}
9649 return _internal_intervals_size();
9650}
9652 ::google::protobuf::internal::TSanWrite(&_impl_);
9653 _impl_.intervals_.Clear();
9654 ClearHasBitForRepeated(_impl_._has_bits_[0],
9655 0x00000001U);
9656}
9657inline ::int32_t NoOverlapConstraintProto::intervals(int index) const {
9658 // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
9659 return _internal_intervals().Get(index);
9661inline void NoOverlapConstraintProto::set_intervals(int index, ::int32_t value) {
9662 _internal_mutable_intervals()->Set(index, value);
9663 // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
9664}
9665inline void NoOverlapConstraintProto::add_intervals(::int32_t value) {
9666 ::google::protobuf::internal::TSanWrite(&_impl_);
9667 _internal_mutable_intervals()->Add(value);
9668 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
9669 // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
9670}
9671inline const ::google::protobuf::RepeatedField<::int32_t>& NoOverlapConstraintProto::intervals() const
9672 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9673 // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
9674 return _internal_intervals();
9675}
9676inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL NoOverlapConstraintProto::mutable_intervals()
9677 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9678 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
9679 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
9680 ::google::protobuf::internal::TSanWrite(&_impl_);
9681 return _internal_mutable_intervals();
9682}
9683inline const ::google::protobuf::RepeatedField<::int32_t>&
9684NoOverlapConstraintProto::_internal_intervals() const {
9685 ::google::protobuf::internal::TSanRead(&_impl_);
9686 return _impl_.intervals_;
9687}
9688inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9689NoOverlapConstraintProto::_internal_mutable_intervals() {
9690 ::google::protobuf::internal::TSanRead(&_impl_);
9691 return &_impl_.intervals_;
9692}
9694// -------------------------------------------------------------------
9695
9696// NoOverlap2DConstraintProto
9697
9698// repeated int32 x_intervals = 1;
9699inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
9700 return _internal_x_intervals().size();
9701}
9703 return _internal_x_intervals_size();
9704}
9706 ::google::protobuf::internal::TSanWrite(&_impl_);
9707 _impl_.x_intervals_.Clear();
9708 ClearHasBitForRepeated(_impl_._has_bits_[0],
9709 0x00000001U);
9710}
9711inline ::int32_t NoOverlap2DConstraintProto::x_intervals(int index) const {
9712 // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9713 return _internal_x_intervals().Get(index);
9714}
9715inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::int32_t value) {
9716 _internal_mutable_x_intervals()->Set(index, value);
9717 // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9719inline void NoOverlap2DConstraintProto::add_x_intervals(::int32_t value) {
9720 ::google::protobuf::internal::TSanWrite(&_impl_);
9721 _internal_mutable_x_intervals()->Add(value);
9722 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
9723 // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9724}
9725inline const ::google::protobuf::RepeatedField<::int32_t>& NoOverlap2DConstraintProto::x_intervals() const
9726 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9727 // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9728 return _internal_x_intervals();
9729}
9730inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL NoOverlap2DConstraintProto::mutable_x_intervals()
9731 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9732 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
9733 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
9734 ::google::protobuf::internal::TSanWrite(&_impl_);
9735 return _internal_mutable_x_intervals();
9736}
9737inline const ::google::protobuf::RepeatedField<::int32_t>&
9738NoOverlap2DConstraintProto::_internal_x_intervals() const {
9739 ::google::protobuf::internal::TSanRead(&_impl_);
9740 return _impl_.x_intervals_;
9741}
9742inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9743NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
9744 ::google::protobuf::internal::TSanRead(&_impl_);
9745 return &_impl_.x_intervals_;
9746}
9747
9748// repeated int32 y_intervals = 2;
9749inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
9750 return _internal_y_intervals().size();
9751}
9753 return _internal_y_intervals_size();
9756 ::google::protobuf::internal::TSanWrite(&_impl_);
9757 _impl_.y_intervals_.Clear();
9758 ClearHasBitForRepeated(_impl_._has_bits_[0],
9759 0x00000002U);
9760}
9761inline ::int32_t NoOverlap2DConstraintProto::y_intervals(int index) const {
9762 // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9763 return _internal_y_intervals().Get(index);
9764}
9765inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::int32_t value) {
9766 _internal_mutable_y_intervals()->Set(index, value);
9767 // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9769inline void NoOverlap2DConstraintProto::add_y_intervals(::int32_t value) {
9770 ::google::protobuf::internal::TSanWrite(&_impl_);
9771 _internal_mutable_y_intervals()->Add(value);
9772 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
9773 // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9774}
9775inline const ::google::protobuf::RepeatedField<::int32_t>& NoOverlap2DConstraintProto::y_intervals() const
9776 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9777 // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9778 return _internal_y_intervals();
9779}
9780inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL NoOverlap2DConstraintProto::mutable_y_intervals()
9781 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9782 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
9783 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
9784 ::google::protobuf::internal::TSanWrite(&_impl_);
9785 return _internal_mutable_y_intervals();
9786}
9787inline const ::google::protobuf::RepeatedField<::int32_t>&
9788NoOverlap2DConstraintProto::_internal_y_intervals() const {
9789 ::google::protobuf::internal::TSanRead(&_impl_);
9790 return _impl_.y_intervals_;
9791}
9792inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9793NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
9794 ::google::protobuf::internal::TSanRead(&_impl_);
9795 return &_impl_.y_intervals_;
9796}
9797
9798// -------------------------------------------------------------------
9799
9800// CumulativeConstraintProto
9801
9802// .operations_research.sat.LinearExpressionProto capacity = 1;
9803inline bool CumulativeConstraintProto::has_capacity() const {
9804 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
9805 PROTOBUF_ASSUME(!value || _impl_.capacity_ != nullptr);
9806 return value;
9807}
9809 ::google::protobuf::internal::TSanWrite(&_impl_);
9810 if (_impl_.capacity_ != nullptr) _impl_.capacity_->Clear();
9811 ClearHasBit(_impl_._has_bits_[0],
9812 0x00000004U);
9813}
9814inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::_internal_capacity() const {
9815 ::google::protobuf::internal::TSanRead(&_impl_);
9816 const ::operations_research::sat::LinearExpressionProto* p = _impl_.capacity_;
9819inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::capacity() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9820 // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
9821 return _internal_capacity();
9822}
9824 ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE value) {
9825 ::google::protobuf::internal::TSanWrite(&_impl_);
9826 if (GetArena() == nullptr) {
9827 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.capacity_);
9828 }
9829 _impl_.capacity_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9830 if (value != nullptr) {
9831 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9832 } else {
9833 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9834 }
9835 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CumulativeConstraintProto.capacity)
9836}
9837inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE CumulativeConstraintProto::release_capacity() {
9838 ::google::protobuf::internal::TSanWrite(&_impl_);
9839
9840 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9842 _impl_.capacity_ = nullptr;
9843 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
9844 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
9845 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9846 if (GetArena() == nullptr) {
9847 delete old;
9848 }
9849 } else {
9850 if (GetArena() != nullptr) {
9851 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
9853 }
9854 return released;
9855}
9856inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NULLABLE CumulativeConstraintProto::unsafe_arena_release_capacity() {
9857 ::google::protobuf::internal::TSanWrite(&_impl_);
9858 // @@protoc_insertion_point(field_release:operations_research.sat.CumulativeConstraintProto.capacity)
9859
9860 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9862 _impl_.capacity_ = nullptr;
9863 return temp;
9864}
9865inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL CumulativeConstraintProto::_internal_mutable_capacity() {
9866 ::google::protobuf::internal::TSanWrite(&_impl_);
9867 if (_impl_.capacity_ == nullptr) {
9868 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearExpressionProto>(GetArena());
9869 _impl_.capacity_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(p);
9870 }
9871 return _impl_.capacity_;
9872}
9873inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL CumulativeConstraintProto::mutable_capacity()
9874 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9875 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9876 ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_capacity();
9877 // @@protoc_insertion_point(field_mutable:operations_research.sat.CumulativeConstraintProto.capacity)
9878 return _msg;
9879}
9881 ::google::protobuf::Arena* message_arena = GetArena();
9882 ::google::protobuf::internal::TSanWrite(&_impl_);
9883 if (message_arena == nullptr) {
9884 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.capacity_);
9885 }
9886
9887 if (value != nullptr) {
9888 ::google::protobuf::Arena* submessage_arena = value->GetArena();
9889 if (message_arena != submessage_arena) {
9890 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
9891 }
9892 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
9893 } else {
9894 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
9895 }
9896
9897 _impl_.capacity_ = reinterpret_cast<::operations_research::sat::LinearExpressionProto*>(value);
9898 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CumulativeConstraintProto.capacity)
9899}
9901// repeated int32 intervals = 2;
9902inline int CumulativeConstraintProto::_internal_intervals_size() const {
9903 return _internal_intervals().size();
9904}
9906 return _internal_intervals_size();
9907}
9909 ::google::protobuf::internal::TSanWrite(&_impl_);
9910 _impl_.intervals_.Clear();
9911 ClearHasBitForRepeated(_impl_._has_bits_[0],
9912 0x00000001U);
9913}
9914inline ::int32_t CumulativeConstraintProto::intervals(int index) const {
9915 // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
9916 return _internal_intervals().Get(index);
9918inline void CumulativeConstraintProto::set_intervals(int index, ::int32_t value) {
9919 _internal_mutable_intervals()->Set(index, value);
9920 // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
9921}
9922inline void CumulativeConstraintProto::add_intervals(::int32_t value) {
9923 ::google::protobuf::internal::TSanWrite(&_impl_);
9924 _internal_mutable_intervals()->Add(value);
9925 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
9926 // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
9927}
9928inline const ::google::protobuf::RepeatedField<::int32_t>& CumulativeConstraintProto::intervals() const
9929 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9930 // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
9931 return _internal_intervals();
9932}
9933inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CumulativeConstraintProto::mutable_intervals()
9934 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9935 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
9936 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
9937 ::google::protobuf::internal::TSanWrite(&_impl_);
9938 return _internal_mutable_intervals();
9939}
9940inline const ::google::protobuf::RepeatedField<::int32_t>&
9941CumulativeConstraintProto::_internal_intervals() const {
9942 ::google::protobuf::internal::TSanRead(&_impl_);
9943 return _impl_.intervals_;
9944}
9945inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
9946CumulativeConstraintProto::_internal_mutable_intervals() {
9947 ::google::protobuf::internal::TSanRead(&_impl_);
9948 return &_impl_.intervals_;
9950
9951// repeated .operations_research.sat.LinearExpressionProto demands = 3;
9952inline int CumulativeConstraintProto::_internal_demands_size() const {
9953 return _internal_demands().size();
9954}
9955inline int CumulativeConstraintProto::demands_size() const {
9956 return _internal_demands_size();
9957}
9959 ::google::protobuf::internal::TSanWrite(&_impl_);
9960 _impl_.demands_.Clear();
9961 ClearHasBitForRepeated(_impl_._has_bits_[0],
9962 0x00000002U);
9963}
9964inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL CumulativeConstraintProto::mutable_demands(int index)
9965 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9966 // @@protoc_insertion_point(field_mutable:operations_research.sat.CumulativeConstraintProto.demands)
9967 return _internal_mutable_demands()->Mutable(index);
9968}
9969inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL CumulativeConstraintProto::mutable_demands()
9970 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9971 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
9972 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
9973 ::google::protobuf::internal::TSanWrite(&_impl_);
9974 return _internal_mutable_demands();
9975}
9976inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::demands(int index) const
9977 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9978 // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
9979 return _internal_demands().Get(index);
9980}
9981inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL CumulativeConstraintProto::add_demands()
9982 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9983 ::google::protobuf::internal::TSanWrite(&_impl_);
9985 _internal_mutable_demands()->InternalAddWithArena(
9986 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
9987 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
9988 // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
9989 return _add;
9990}
9991inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& CumulativeConstraintProto::demands() const
9992 ABSL_ATTRIBUTE_LIFETIME_BOUND {
9993 // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
9994 return _internal_demands();
9995}
9996inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
9997CumulativeConstraintProto::_internal_demands() const {
9998 ::google::protobuf::internal::TSanRead(&_impl_);
9999 return _impl_.demands_;
10000}
10001inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10002CumulativeConstraintProto::_internal_mutable_demands() {
10003 ::google::protobuf::internal::TSanRead(&_impl_);
10004 return &_impl_.demands_;
10005}
10006
10007// -------------------------------------------------------------------
10009// ReservoirConstraintProto
10010
10011// int64 min_level = 1;
10013 ::google::protobuf::internal::TSanWrite(&_impl_);
10014 _impl_.min_level_ = ::int64_t{0};
10015 ClearHasBit(_impl_._has_bits_[0],
10016 0x00000008U);
10017}
10018inline ::int64_t ReservoirConstraintProto::min_level() const {
10019 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
10020 return _internal_min_level();
10021}
10022inline void ReservoirConstraintProto::set_min_level(::int64_t value) {
10023 _internal_set_min_level(value);
10024 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
10025 // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
10026}
10027inline ::int64_t ReservoirConstraintProto::_internal_min_level() const {
10028 ::google::protobuf::internal::TSanRead(&_impl_);
10029 return _impl_.min_level_;
10030}
10031inline void ReservoirConstraintProto::_internal_set_min_level(::int64_t value) {
10032 ::google::protobuf::internal::TSanWrite(&_impl_);
10033 _impl_.min_level_ = value;
10034}
10036// int64 max_level = 2;
10038 ::google::protobuf::internal::TSanWrite(&_impl_);
10039 _impl_.max_level_ = ::int64_t{0};
10040 ClearHasBit(_impl_._has_bits_[0],
10041 0x00000010U);
10042}
10043inline ::int64_t ReservoirConstraintProto::max_level() const {
10044 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
10045 return _internal_max_level();
10046}
10047inline void ReservoirConstraintProto::set_max_level(::int64_t value) {
10048 _internal_set_max_level(value);
10049 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
10050 // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
10051}
10052inline ::int64_t ReservoirConstraintProto::_internal_max_level() const {
10053 ::google::protobuf::internal::TSanRead(&_impl_);
10054 return _impl_.max_level_;
10055}
10056inline void ReservoirConstraintProto::_internal_set_max_level(::int64_t value) {
10057 ::google::protobuf::internal::TSanWrite(&_impl_);
10058 _impl_.max_level_ = value;
10059}
10060
10061// repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
10062inline int ReservoirConstraintProto::_internal_time_exprs_size() const {
10063 return _internal_time_exprs().size();
10064}
10066 return _internal_time_exprs_size();
10069 ::google::protobuf::internal::TSanWrite(&_impl_);
10070 _impl_.time_exprs_.Clear();
10071 ClearHasBitForRepeated(_impl_._has_bits_[0],
10072 0x00000001U);
10073}
10074inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_time_exprs(int index)
10075 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10076 // @@protoc_insertion_point(field_mutable:operations_research.sat.ReservoirConstraintProto.time_exprs)
10077 return _internal_mutable_time_exprs()->Mutable(index);
10078}
10079inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_time_exprs()
10080 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10081 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10082 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.time_exprs)
10083 ::google::protobuf::internal::TSanWrite(&_impl_);
10084 return _internal_mutable_time_exprs();
10085}
10086inline const ::operations_research::sat::LinearExpressionProto& ReservoirConstraintProto::time_exprs(int index) const
10087 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10088 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.time_exprs)
10089 return _internal_time_exprs().Get(index);
10090}
10091inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ReservoirConstraintProto::add_time_exprs()
10092 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10093 ::google::protobuf::internal::TSanWrite(&_impl_);
10095 _internal_mutable_time_exprs()->InternalAddWithArena(
10096 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
10097 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10098 // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.time_exprs)
10099 return _add;
10100}
10101inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& ReservoirConstraintProto::time_exprs() const
10102 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10103 // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.time_exprs)
10104 return _internal_time_exprs();
10105}
10106inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
10107ReservoirConstraintProto::_internal_time_exprs() const {
10108 ::google::protobuf::internal::TSanRead(&_impl_);
10109 return _impl_.time_exprs_;
10111inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10112ReservoirConstraintProto::_internal_mutable_time_exprs() {
10113 ::google::protobuf::internal::TSanRead(&_impl_);
10114 return &_impl_.time_exprs_;
10115}
10116
10117// repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
10118inline int ReservoirConstraintProto::_internal_level_changes_size() const {
10119 return _internal_level_changes().size();
10120}
10122 return _internal_level_changes_size();
10123}
10125 ::google::protobuf::internal::TSanWrite(&_impl_);
10126 _impl_.level_changes_.Clear();
10127 ClearHasBitForRepeated(_impl_._has_bits_[0],
10128 0x00000004U);
10129}
10130inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_level_changes(int index)
10131 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10132 // @@protoc_insertion_point(field_mutable:operations_research.sat.ReservoirConstraintProto.level_changes)
10133 return _internal_mutable_level_changes()->Mutable(index);
10134}
10135inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_level_changes()
10136 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10137 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
10138 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.level_changes)
10139 ::google::protobuf::internal::TSanWrite(&_impl_);
10140 return _internal_mutable_level_changes();
10141}
10142inline const ::operations_research::sat::LinearExpressionProto& ReservoirConstraintProto::level_changes(int index) const
10143 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10144 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.level_changes)
10145 return _internal_level_changes().Get(index);
10147inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL ReservoirConstraintProto::add_level_changes()
10148 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10149 ::google::protobuf::internal::TSanWrite(&_impl_);
10151 _internal_mutable_level_changes()->InternalAddWithArena(
10152 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
10153 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
10154 // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.level_changes)
10155 return _add;
10156}
10157inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& ReservoirConstraintProto::level_changes() const
10158 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10159 // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.level_changes)
10160 return _internal_level_changes();
10161}
10162inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
10163ReservoirConstraintProto::_internal_level_changes() const {
10164 ::google::protobuf::internal::TSanRead(&_impl_);
10165 return _impl_.level_changes_;
10167inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10168ReservoirConstraintProto::_internal_mutable_level_changes() {
10169 ::google::protobuf::internal::TSanRead(&_impl_);
10170 return &_impl_.level_changes_;
10171}
10172
10173// repeated int32 active_literals = 5;
10174inline int ReservoirConstraintProto::_internal_active_literals_size() const {
10175 return _internal_active_literals().size();
10176}
10178 return _internal_active_literals_size();
10179}
10181 ::google::protobuf::internal::TSanWrite(&_impl_);
10182 _impl_.active_literals_.Clear();
10183 ClearHasBitForRepeated(_impl_._has_bits_[0],
10184 0x00000002U);
10185}
10186inline ::int32_t ReservoirConstraintProto::active_literals(int index) const {
10187 // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.active_literals)
10188 return _internal_active_literals().Get(index);
10189}
10190inline void ReservoirConstraintProto::set_active_literals(int index, ::int32_t value) {
10191 _internal_mutable_active_literals()->Set(index, value);
10192 // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.active_literals)
10193}
10194inline void ReservoirConstraintProto::add_active_literals(::int32_t value) {
10195 ::google::protobuf::internal::TSanWrite(&_impl_);
10196 _internal_mutable_active_literals()->Add(value);
10197 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10198 // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.active_literals)
10199}
10200inline const ::google::protobuf::RepeatedField<::int32_t>& ReservoirConstraintProto::active_literals() const
10201 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10202 // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.active_literals)
10203 return _internal_active_literals();
10204}
10205inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ReservoirConstraintProto::mutable_active_literals()
10206 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10207 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10208 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.active_literals)
10209 ::google::protobuf::internal::TSanWrite(&_impl_);
10210 return _internal_mutable_active_literals();
10211}
10212inline const ::google::protobuf::RepeatedField<::int32_t>&
10213ReservoirConstraintProto::_internal_active_literals() const {
10214 ::google::protobuf::internal::TSanRead(&_impl_);
10215 return _impl_.active_literals_;
10216}
10217inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10218ReservoirConstraintProto::_internal_mutable_active_literals() {
10219 ::google::protobuf::internal::TSanRead(&_impl_);
10220 return &_impl_.active_literals_;
10221}
10223// -------------------------------------------------------------------
10224
10225// CircuitConstraintProto
10226
10227// repeated int32 tails = 3;
10228inline int CircuitConstraintProto::_internal_tails_size() const {
10229 return _internal_tails().size();
10230}
10232 return _internal_tails_size();
10233}
10235 ::google::protobuf::internal::TSanWrite(&_impl_);
10236 _impl_.tails_.Clear();
10237 ClearHasBitForRepeated(_impl_._has_bits_[0],
10238 0x00000001U);
10240inline ::int32_t CircuitConstraintProto::tails(int index) const {
10241 // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
10242 return _internal_tails().Get(index);
10243}
10244inline void CircuitConstraintProto::set_tails(int index, ::int32_t value) {
10245 _internal_mutable_tails()->Set(index, value);
10246 // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
10247}
10248inline void CircuitConstraintProto::add_tails(::int32_t value) {
10249 ::google::protobuf::internal::TSanWrite(&_impl_);
10250 _internal_mutable_tails()->Add(value);
10251 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10252 // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
10253}
10254inline const ::google::protobuf::RepeatedField<::int32_t>& CircuitConstraintProto::tails() const
10255 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10256 // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
10257 return _internal_tails();
10258}
10259inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CircuitConstraintProto::mutable_tails()
10260 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10261 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10262 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
10263 ::google::protobuf::internal::TSanWrite(&_impl_);
10264 return _internal_mutable_tails();
10265}
10266inline const ::google::protobuf::RepeatedField<::int32_t>&
10267CircuitConstraintProto::_internal_tails() const {
10268 ::google::protobuf::internal::TSanRead(&_impl_);
10269 return _impl_.tails_;
10270}
10271inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10272CircuitConstraintProto::_internal_mutable_tails() {
10273 ::google::protobuf::internal::TSanRead(&_impl_);
10274 return &_impl_.tails_;
10275}
10276
10277// repeated int32 heads = 4;
10278inline int CircuitConstraintProto::_internal_heads_size() const {
10279 return _internal_heads().size();
10281inline int CircuitConstraintProto::heads_size() const {
10282 return _internal_heads_size();
10283}
10285 ::google::protobuf::internal::TSanWrite(&_impl_);
10286 _impl_.heads_.Clear();
10287 ClearHasBitForRepeated(_impl_._has_bits_[0],
10288 0x00000002U);
10289}
10290inline ::int32_t CircuitConstraintProto::heads(int index) const {
10291 // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
10292 return _internal_heads().Get(index);
10293}
10294inline void CircuitConstraintProto::set_heads(int index, ::int32_t value) {
10295 _internal_mutable_heads()->Set(index, value);
10296 // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
10297}
10298inline void CircuitConstraintProto::add_heads(::int32_t value) {
10299 ::google::protobuf::internal::TSanWrite(&_impl_);
10300 _internal_mutable_heads()->Add(value);
10301 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10302 // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
10303}
10304inline const ::google::protobuf::RepeatedField<::int32_t>& CircuitConstraintProto::heads() const
10305 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10306 // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
10307 return _internal_heads();
10308}
10309inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CircuitConstraintProto::mutable_heads()
10310 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10311 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10312 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
10313 ::google::protobuf::internal::TSanWrite(&_impl_);
10314 return _internal_mutable_heads();
10315}
10316inline const ::google::protobuf::RepeatedField<::int32_t>&
10317CircuitConstraintProto::_internal_heads() const {
10318 ::google::protobuf::internal::TSanRead(&_impl_);
10319 return _impl_.heads_;
10320}
10321inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10322CircuitConstraintProto::_internal_mutable_heads() {
10323 ::google::protobuf::internal::TSanRead(&_impl_);
10324 return &_impl_.heads_;
10325}
10326
10327// repeated int32 literals = 5;
10328inline int CircuitConstraintProto::_internal_literals_size() const {
10329 return _internal_literals().size();
10331inline int CircuitConstraintProto::literals_size() const {
10332 return _internal_literals_size();
10333}
10335 ::google::protobuf::internal::TSanWrite(&_impl_);
10336 _impl_.literals_.Clear();
10337 ClearHasBitForRepeated(_impl_._has_bits_[0],
10338 0x00000004U);
10339}
10340inline ::int32_t CircuitConstraintProto::literals(int index) const {
10341 // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
10342 return _internal_literals().Get(index);
10343}
10344inline void CircuitConstraintProto::set_literals(int index, ::int32_t value) {
10345 _internal_mutable_literals()->Set(index, value);
10346 // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
10347}
10348inline void CircuitConstraintProto::add_literals(::int32_t value) {
10349 ::google::protobuf::internal::TSanWrite(&_impl_);
10350 _internal_mutable_literals()->Add(value);
10351 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
10352 // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
10353}
10354inline const ::google::protobuf::RepeatedField<::int32_t>& CircuitConstraintProto::literals() const
10355 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10356 // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
10357 return _internal_literals();
10358}
10359inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CircuitConstraintProto::mutable_literals()
10360 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10361 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
10362 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
10363 ::google::protobuf::internal::TSanWrite(&_impl_);
10364 return _internal_mutable_literals();
10365}
10366inline const ::google::protobuf::RepeatedField<::int32_t>&
10367CircuitConstraintProto::_internal_literals() const {
10368 ::google::protobuf::internal::TSanRead(&_impl_);
10369 return _impl_.literals_;
10370}
10371inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10372CircuitConstraintProto::_internal_mutable_literals() {
10373 ::google::protobuf::internal::TSanRead(&_impl_);
10374 return &_impl_.literals_;
10375}
10376
10377// -------------------------------------------------------------------
10378
10379// RoutesConstraintProto_NodeExpressions
10381// repeated .operations_research.sat.LinearExpressionProto exprs = 1;
10382inline int RoutesConstraintProto_NodeExpressions::_internal_exprs_size() const {
10383 return _internal_exprs().size();
10384}
10386 return _internal_exprs_size();
10387}
10389 ::google::protobuf::internal::TSanWrite(&_impl_);
10390 _impl_.exprs_.Clear();
10391 ClearHasBitForRepeated(_impl_._has_bits_[0],
10392 0x00000001U);
10393}
10394inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL RoutesConstraintProto_NodeExpressions::mutable_exprs(int index)
10395 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10396 // @@protoc_insertion_point(field_mutable:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10397 return _internal_mutable_exprs()->Mutable(index);
10398}
10399inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL RoutesConstraintProto_NodeExpressions::mutable_exprs()
10400 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10401 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10402 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10403 ::google::protobuf::internal::TSanWrite(&_impl_);
10404 return _internal_mutable_exprs();
10406inline const ::operations_research::sat::LinearExpressionProto& RoutesConstraintProto_NodeExpressions::exprs(int index) const
10407 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10408 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10409 return _internal_exprs().Get(index);
10410}
10411inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL RoutesConstraintProto_NodeExpressions::add_exprs()
10412 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10413 ::google::protobuf::internal::TSanWrite(&_impl_);
10415 _internal_mutable_exprs()->InternalAddWithArena(
10416 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
10417 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10418 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10419 return _add;
10420}
10421inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& RoutesConstraintProto_NodeExpressions::exprs() const
10422 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10423 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.NodeExpressions.exprs)
10424 return _internal_exprs();
10425}
10426inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
10427RoutesConstraintProto_NodeExpressions::_internal_exprs() const {
10428 ::google::protobuf::internal::TSanRead(&_impl_);
10429 return _impl_.exprs_;
10430}
10431inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10432RoutesConstraintProto_NodeExpressions::_internal_mutable_exprs() {
10433 ::google::protobuf::internal::TSanRead(&_impl_);
10434 return &_impl_.exprs_;
10436
10437// -------------------------------------------------------------------
10438
10439// RoutesConstraintProto
10440
10441// repeated int32 tails = 1;
10442inline int RoutesConstraintProto::_internal_tails_size() const {
10443 return _internal_tails().size();
10444}
10445inline int RoutesConstraintProto::tails_size() const {
10446 return _internal_tails_size();
10447}
10449 ::google::protobuf::internal::TSanWrite(&_impl_);
10450 _impl_.tails_.Clear();
10451 ClearHasBitForRepeated(_impl_._has_bits_[0],
10452 0x00000001U);
10454inline ::int32_t RoutesConstraintProto::tails(int index) const {
10455 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
10456 return _internal_tails().Get(index);
10457}
10458inline void RoutesConstraintProto::set_tails(int index, ::int32_t value) {
10459 _internal_mutable_tails()->Set(index, value);
10460 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
10461}
10462inline void RoutesConstraintProto::add_tails(::int32_t value) {
10463 ::google::protobuf::internal::TSanWrite(&_impl_);
10464 _internal_mutable_tails()->Add(value);
10465 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10466 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
10467}
10468inline const ::google::protobuf::RepeatedField<::int32_t>& RoutesConstraintProto::tails() const
10469 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10470 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
10471 return _internal_tails();
10472}
10473inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_tails()
10474 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10475 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10476 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
10477 ::google::protobuf::internal::TSanWrite(&_impl_);
10478 return _internal_mutable_tails();
10479}
10480inline const ::google::protobuf::RepeatedField<::int32_t>&
10481RoutesConstraintProto::_internal_tails() const {
10482 ::google::protobuf::internal::TSanRead(&_impl_);
10483 return _impl_.tails_;
10484}
10485inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10486RoutesConstraintProto::_internal_mutable_tails() {
10487 ::google::protobuf::internal::TSanRead(&_impl_);
10488 return &_impl_.tails_;
10489}
10490
10491// repeated int32 heads = 2;
10492inline int RoutesConstraintProto::_internal_heads_size() const {
10493 return _internal_heads().size();
10494}
10495inline int RoutesConstraintProto::heads_size() const {
10496 return _internal_heads_size();
10497}
10499 ::google::protobuf::internal::TSanWrite(&_impl_);
10500 _impl_.heads_.Clear();
10501 ClearHasBitForRepeated(_impl_._has_bits_[0],
10502 0x00000002U);
10503}
10504inline ::int32_t RoutesConstraintProto::heads(int index) const {
10505 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
10506 return _internal_heads().Get(index);
10507}
10508inline void RoutesConstraintProto::set_heads(int index, ::int32_t value) {
10509 _internal_mutable_heads()->Set(index, value);
10510 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
10511}
10512inline void RoutesConstraintProto::add_heads(::int32_t value) {
10513 ::google::protobuf::internal::TSanWrite(&_impl_);
10514 _internal_mutable_heads()->Add(value);
10515 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10516 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
10517}
10518inline const ::google::protobuf::RepeatedField<::int32_t>& RoutesConstraintProto::heads() const
10519 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10520 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
10521 return _internal_heads();
10522}
10523inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_heads()
10524 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10525 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10526 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
10527 ::google::protobuf::internal::TSanWrite(&_impl_);
10528 return _internal_mutable_heads();
10529}
10530inline const ::google::protobuf::RepeatedField<::int32_t>&
10531RoutesConstraintProto::_internal_heads() const {
10532 ::google::protobuf::internal::TSanRead(&_impl_);
10533 return _impl_.heads_;
10534}
10535inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10536RoutesConstraintProto::_internal_mutable_heads() {
10537 ::google::protobuf::internal::TSanRead(&_impl_);
10538 return &_impl_.heads_;
10539}
10540
10541// repeated int32 literals = 3;
10542inline int RoutesConstraintProto::_internal_literals_size() const {
10543 return _internal_literals().size();
10544}
10545inline int RoutesConstraintProto::literals_size() const {
10546 return _internal_literals_size();
10547}
10549 ::google::protobuf::internal::TSanWrite(&_impl_);
10550 _impl_.literals_.Clear();
10551 ClearHasBitForRepeated(_impl_._has_bits_[0],
10552 0x00000004U);
10553}
10554inline ::int32_t RoutesConstraintProto::literals(int index) const {
10555 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
10556 return _internal_literals().Get(index);
10557}
10558inline void RoutesConstraintProto::set_literals(int index, ::int32_t value) {
10559 _internal_mutable_literals()->Set(index, value);
10560 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
10561}
10562inline void RoutesConstraintProto::add_literals(::int32_t value) {
10563 ::google::protobuf::internal::TSanWrite(&_impl_);
10564 _internal_mutable_literals()->Add(value);
10565 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
10566 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
10567}
10568inline const ::google::protobuf::RepeatedField<::int32_t>& RoutesConstraintProto::literals() const
10569 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10570 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
10571 return _internal_literals();
10572}
10573inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_literals()
10574 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10575 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
10576 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
10577 ::google::protobuf::internal::TSanWrite(&_impl_);
10578 return _internal_mutable_literals();
10579}
10580inline const ::google::protobuf::RepeatedField<::int32_t>&
10581RoutesConstraintProto::_internal_literals() const {
10582 ::google::protobuf::internal::TSanRead(&_impl_);
10583 return _impl_.literals_;
10584}
10585inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10586RoutesConstraintProto::_internal_mutable_literals() {
10587 ::google::protobuf::internal::TSanRead(&_impl_);
10588 return &_impl_.literals_;
10589}
10590
10591// repeated int32 demands = 4;
10592inline int RoutesConstraintProto::_internal_demands_size() const {
10593 return _internal_demands().size();
10594}
10595inline int RoutesConstraintProto::demands_size() const {
10596 return _internal_demands_size();
10597}
10599 ::google::protobuf::internal::TSanWrite(&_impl_);
10600 _impl_.demands_.Clear();
10601 ClearHasBitForRepeated(_impl_._has_bits_[0],
10602 0x00000008U);
10603}
10604inline ::int32_t RoutesConstraintProto::demands(int index) const {
10605 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
10606 return _internal_demands().Get(index);
10607}
10608inline void RoutesConstraintProto::set_demands(int index, ::int32_t value) {
10609 _internal_mutable_demands()->Set(index, value);
10610 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
10611}
10612inline void RoutesConstraintProto::add_demands(::int32_t value) {
10613 ::google::protobuf::internal::TSanWrite(&_impl_);
10614 _internal_mutable_demands()->Add(value);
10615 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
10616 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
10617}
10618inline const ::google::protobuf::RepeatedField<::int32_t>& RoutesConstraintProto::demands() const
10619 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10620 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
10621 return _internal_demands();
10622}
10623inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_demands()
10624 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10625 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
10626 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
10627 ::google::protobuf::internal::TSanWrite(&_impl_);
10628 return _internal_mutable_demands();
10629}
10630inline const ::google::protobuf::RepeatedField<::int32_t>&
10631RoutesConstraintProto::_internal_demands() const {
10632 ::google::protobuf::internal::TSanRead(&_impl_);
10633 return _impl_.demands_;
10634}
10635inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10636RoutesConstraintProto::_internal_mutable_demands() {
10637 ::google::protobuf::internal::TSanRead(&_impl_);
10638 return &_impl_.demands_;
10639}
10640
10641// int64 capacity = 5;
10643 ::google::protobuf::internal::TSanWrite(&_impl_);
10644 _impl_.capacity_ = ::int64_t{0};
10645 ClearHasBit(_impl_._has_bits_[0],
10646 0x00000020U);
10647}
10648inline ::int64_t RoutesConstraintProto::capacity() const {
10649 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
10650 return _internal_capacity();
10651}
10652inline void RoutesConstraintProto::set_capacity(::int64_t value) {
10653 _internal_set_capacity(value);
10654 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
10655 // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
10657inline ::int64_t RoutesConstraintProto::_internal_capacity() const {
10658 ::google::protobuf::internal::TSanRead(&_impl_);
10659 return _impl_.capacity_;
10661inline void RoutesConstraintProto::_internal_set_capacity(::int64_t value) {
10662 ::google::protobuf::internal::TSanWrite(&_impl_);
10663 _impl_.capacity_ = value;
10664}
10665
10666// repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
10667inline int RoutesConstraintProto::_internal_dimensions_size() const {
10668 return _internal_dimensions().size();
10669}
10670inline int RoutesConstraintProto::dimensions_size() const {
10671 return _internal_dimensions_size();
10672}
10674 ::google::protobuf::internal::TSanWrite(&_impl_);
10675 _impl_.dimensions_.Clear();
10676 ClearHasBitForRepeated(_impl_._has_bits_[0],
10677 0x00000010U);
10678}
10679inline ::operations_research::sat::RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL RoutesConstraintProto::mutable_dimensions(int index)
10680 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10681 // @@protoc_insertion_point(field_mutable:operations_research.sat.RoutesConstraintProto.dimensions)
10682 return _internal_mutable_dimensions()->Mutable(index);
10683}
10684inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>* PROTOBUF_NONNULL RoutesConstraintProto::mutable_dimensions()
10685 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10686 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U);
10687 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.dimensions)
10688 ::google::protobuf::internal::TSanWrite(&_impl_);
10689 return _internal_mutable_dimensions();
10691inline const ::operations_research::sat::RoutesConstraintProto_NodeExpressions& RoutesConstraintProto::dimensions(int index) const
10692 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10693 // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.dimensions)
10694 return _internal_dimensions().Get(index);
10695}
10696inline ::operations_research::sat::RoutesConstraintProto_NodeExpressions* PROTOBUF_NONNULL RoutesConstraintProto::add_dimensions()
10697 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10698 ::google::protobuf::internal::TSanWrite(&_impl_);
10700 _internal_mutable_dimensions()->InternalAddWithArena(
10701 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
10702 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U);
10703 // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.dimensions)
10704 return _add;
10705}
10706inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>& RoutesConstraintProto::dimensions() const
10707 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10708 // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.dimensions)
10709 return _internal_dimensions();
10710}
10711inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>&
10712RoutesConstraintProto::_internal_dimensions() const {
10713 ::google::protobuf::internal::TSanRead(&_impl_);
10714 return _impl_.dimensions_;
10715}
10716inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions>* PROTOBUF_NONNULL
10717RoutesConstraintProto::_internal_mutable_dimensions() {
10718 ::google::protobuf::internal::TSanRead(&_impl_);
10719 return &_impl_.dimensions_;
10720}
10722// -------------------------------------------------------------------
10723
10724// TableConstraintProto
10725
10726// repeated int32 vars = 1;
10727inline int TableConstraintProto::_internal_vars_size() const {
10728 return _internal_vars().size();
10729}
10730inline int TableConstraintProto::vars_size() const {
10731 return _internal_vars_size();
10734 ::google::protobuf::internal::TSanWrite(&_impl_);
10735 _impl_.vars_.Clear();
10736 ClearHasBitForRepeated(_impl_._has_bits_[0],
10737 0x00000001U);
10738}
10739inline ::int32_t TableConstraintProto::vars(int index) const {
10740 // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
10741 return _internal_vars().Get(index);
10742}
10743inline void TableConstraintProto::set_vars(int index, ::int32_t value) {
10744 _internal_mutable_vars()->Set(index, value);
10745 // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
10746}
10747inline void TableConstraintProto::add_vars(::int32_t value) {
10748 ::google::protobuf::internal::TSanWrite(&_impl_);
10749 _internal_mutable_vars()->Add(value);
10750 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10751 // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
10752}
10753inline const ::google::protobuf::RepeatedField<::int32_t>& TableConstraintProto::vars() const
10754 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10755 // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
10756 return _internal_vars();
10757}
10758inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL TableConstraintProto::mutable_vars()
10759 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10760 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10761 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
10762 ::google::protobuf::internal::TSanWrite(&_impl_);
10763 return _internal_mutable_vars();
10764}
10765inline const ::google::protobuf::RepeatedField<::int32_t>&
10766TableConstraintProto::_internal_vars() const {
10767 ::google::protobuf::internal::TSanRead(&_impl_);
10768 return _impl_.vars_;
10769}
10770inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10771TableConstraintProto::_internal_mutable_vars() {
10772 ::google::protobuf::internal::TSanRead(&_impl_);
10773 return &_impl_.vars_;
10774}
10775
10776// repeated int64 values = 2;
10777inline int TableConstraintProto::_internal_values_size() const {
10778 return _internal_values().size();
10780inline int TableConstraintProto::values_size() const {
10781 return _internal_values_size();
10784 ::google::protobuf::internal::TSanWrite(&_impl_);
10785 _impl_.values_.Clear();
10786 ClearHasBitForRepeated(_impl_._has_bits_[0],
10787 0x00000002U);
10789inline ::int64_t TableConstraintProto::values(int index) const {
10790 // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
10791 return _internal_values().Get(index);
10793inline void TableConstraintProto::set_values(int index, ::int64_t value) {
10794 _internal_mutable_values()->Set(index, value);
10795 // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
10797inline void TableConstraintProto::add_values(::int64_t value) {
10798 ::google::protobuf::internal::TSanWrite(&_impl_);
10799 _internal_mutable_values()->Add(value);
10800 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10801 // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
10803inline const ::google::protobuf::RepeatedField<::int64_t>& TableConstraintProto::values() const
10804 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10805 // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
10806 return _internal_values();
10808inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL TableConstraintProto::mutable_values()
10809 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10810 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10811 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
10812 ::google::protobuf::internal::TSanWrite(&_impl_);
10813 return _internal_mutable_values();
10814}
10815inline const ::google::protobuf::RepeatedField<::int64_t>&
10816TableConstraintProto::_internal_values() const {
10817 ::google::protobuf::internal::TSanRead(&_impl_);
10818 return _impl_.values_;
10819}
10820inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
10821TableConstraintProto::_internal_mutable_values() {
10822 ::google::protobuf::internal::TSanRead(&_impl_);
10823 return &_impl_.values_;
10824}
10825
10826// repeated .operations_research.sat.LinearExpressionProto exprs = 4;
10827inline int TableConstraintProto::_internal_exprs_size() const {
10828 return _internal_exprs().size();
10830inline int TableConstraintProto::exprs_size() const {
10831 return _internal_exprs_size();
10834 ::google::protobuf::internal::TSanWrite(&_impl_);
10835 _impl_.exprs_.Clear();
10836 ClearHasBitForRepeated(_impl_._has_bits_[0],
10837 0x00000004U);
10839inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL TableConstraintProto::mutable_exprs(int index)
10840 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10841 // @@protoc_insertion_point(field_mutable:operations_research.sat.TableConstraintProto.exprs)
10842 return _internal_mutable_exprs()->Mutable(index);
10843}
10844inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL TableConstraintProto::mutable_exprs()
10845 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10846 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
10847 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.exprs)
10848 ::google::protobuf::internal::TSanWrite(&_impl_);
10849 return _internal_mutable_exprs();
10850}
10851inline const ::operations_research::sat::LinearExpressionProto& TableConstraintProto::exprs(int index) const
10852 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10853 // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.exprs)
10854 return _internal_exprs().Get(index);
10855}
10856inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL TableConstraintProto::add_exprs()
10857 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10858 ::google::protobuf::internal::TSanWrite(&_impl_);
10860 _internal_mutable_exprs()->InternalAddWithArena(
10861 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
10862 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
10863 // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.exprs)
10864 return _add;
10865}
10866inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& TableConstraintProto::exprs() const
10867 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10868 // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.exprs)
10869 return _internal_exprs();
10870}
10871inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
10872TableConstraintProto::_internal_exprs() const {
10873 ::google::protobuf::internal::TSanRead(&_impl_);
10874 return _impl_.exprs_;
10875}
10876inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
10877TableConstraintProto::_internal_mutable_exprs() {
10878 ::google::protobuf::internal::TSanRead(&_impl_);
10879 return &_impl_.exprs_;
10880}
10881
10882// bool negated = 3;
10884 ::google::protobuf::internal::TSanWrite(&_impl_);
10885 _impl_.negated_ = false;
10886 ClearHasBit(_impl_._has_bits_[0],
10887 0x00000008U);
10889inline bool TableConstraintProto::negated() const {
10890 // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
10891 return _internal_negated();
10892}
10893inline void TableConstraintProto::set_negated(bool value) {
10894 _internal_set_negated(value);
10895 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
10896 // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
10897}
10898inline bool TableConstraintProto::_internal_negated() const {
10899 ::google::protobuf::internal::TSanRead(&_impl_);
10900 return _impl_.negated_;
10901}
10902inline void TableConstraintProto::_internal_set_negated(bool value) {
10903 ::google::protobuf::internal::TSanWrite(&_impl_);
10904 _impl_.negated_ = value;
10906
10907// -------------------------------------------------------------------
10908
10909// InverseConstraintProto
10910
10911// repeated int32 f_direct = 1;
10912inline int InverseConstraintProto::_internal_f_direct_size() const {
10913 return _internal_f_direct().size();
10914}
10916 return _internal_f_direct_size();
10917}
10919 ::google::protobuf::internal::TSanWrite(&_impl_);
10920 _impl_.f_direct_.Clear();
10921 ClearHasBitForRepeated(_impl_._has_bits_[0],
10922 0x00000001U);
10923}
10924inline ::int32_t InverseConstraintProto::f_direct(int index) const {
10925 // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
10926 return _internal_f_direct().Get(index);
10927}
10928inline void InverseConstraintProto::set_f_direct(int index, ::int32_t value) {
10929 _internal_mutable_f_direct()->Set(index, value);
10930 // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
10931}
10932inline void InverseConstraintProto::add_f_direct(::int32_t value) {
10933 ::google::protobuf::internal::TSanWrite(&_impl_);
10934 _internal_mutable_f_direct()->Add(value);
10935 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10936 // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
10937}
10938inline const ::google::protobuf::RepeatedField<::int32_t>& InverseConstraintProto::f_direct() const
10939 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10940 // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
10941 return _internal_f_direct();
10943inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL InverseConstraintProto::mutable_f_direct()
10944 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10945 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
10946 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
10947 ::google::protobuf::internal::TSanWrite(&_impl_);
10948 return _internal_mutable_f_direct();
10949}
10950inline const ::google::protobuf::RepeatedField<::int32_t>&
10951InverseConstraintProto::_internal_f_direct() const {
10952 ::google::protobuf::internal::TSanRead(&_impl_);
10953 return _impl_.f_direct_;
10954}
10955inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
10956InverseConstraintProto::_internal_mutable_f_direct() {
10957 ::google::protobuf::internal::TSanRead(&_impl_);
10958 return &_impl_.f_direct_;
10959}
10960
10961// repeated int32 f_inverse = 2;
10962inline int InverseConstraintProto::_internal_f_inverse_size() const {
10963 return _internal_f_inverse().size();
10964}
10966 return _internal_f_inverse_size();
10967}
10969 ::google::protobuf::internal::TSanWrite(&_impl_);
10970 _impl_.f_inverse_.Clear();
10971 ClearHasBitForRepeated(_impl_._has_bits_[0],
10972 0x00000002U);
10973}
10974inline ::int32_t InverseConstraintProto::f_inverse(int index) const {
10975 // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
10976 return _internal_f_inverse().Get(index);
10977}
10978inline void InverseConstraintProto::set_f_inverse(int index, ::int32_t value) {
10979 _internal_mutable_f_inverse()->Set(index, value);
10980 // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
10981}
10982inline void InverseConstraintProto::add_f_inverse(::int32_t value) {
10983 ::google::protobuf::internal::TSanWrite(&_impl_);
10984 _internal_mutable_f_inverse()->Add(value);
10985 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10986 // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
10987}
10988inline const ::google::protobuf::RepeatedField<::int32_t>& InverseConstraintProto::f_inverse() const
10989 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10990 // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
10991 return _internal_f_inverse();
10992}
10993inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL InverseConstraintProto::mutable_f_inverse()
10994 ABSL_ATTRIBUTE_LIFETIME_BOUND {
10995 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
10996 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
10997 ::google::protobuf::internal::TSanWrite(&_impl_);
10998 return _internal_mutable_f_inverse();
10999}
11000inline const ::google::protobuf::RepeatedField<::int32_t>&
11001InverseConstraintProto::_internal_f_inverse() const {
11002 ::google::protobuf::internal::TSanRead(&_impl_);
11003 return _impl_.f_inverse_;
11004}
11005inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
11006InverseConstraintProto::_internal_mutable_f_inverse() {
11007 ::google::protobuf::internal::TSanRead(&_impl_);
11008 return &_impl_.f_inverse_;
11009}
11010
11011// -------------------------------------------------------------------
11012
11013// AutomatonConstraintProto
11014
11015// int64 starting_state = 2;
11017 ::google::protobuf::internal::TSanWrite(&_impl_);
11018 _impl_.starting_state_ = ::int64_t{0};
11019 ClearHasBit(_impl_._has_bits_[0],
11020 0x00000040U);
11021}
11022inline ::int64_t AutomatonConstraintProto::starting_state() const {
11023 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
11024 return _internal_starting_state();
11025}
11026inline void AutomatonConstraintProto::set_starting_state(::int64_t value) {
11027 _internal_set_starting_state(value);
11028 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
11029 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
11030}
11031inline ::int64_t AutomatonConstraintProto::_internal_starting_state() const {
11032 ::google::protobuf::internal::TSanRead(&_impl_);
11033 return _impl_.starting_state_;
11034}
11035inline void AutomatonConstraintProto::_internal_set_starting_state(::int64_t value) {
11036 ::google::protobuf::internal::TSanWrite(&_impl_);
11037 _impl_.starting_state_ = value;
11039
11040// repeated int64 final_states = 3;
11041inline int AutomatonConstraintProto::_internal_final_states_size() const {
11042 return _internal_final_states().size();
11045 return _internal_final_states_size();
11046}
11048 ::google::protobuf::internal::TSanWrite(&_impl_);
11049 _impl_.final_states_.Clear();
11050 ClearHasBitForRepeated(_impl_._has_bits_[0],
11051 0x00000001U);
11052}
11053inline ::int64_t AutomatonConstraintProto::final_states(int index) const {
11054 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
11055 return _internal_final_states().Get(index);
11056}
11057inline void AutomatonConstraintProto::set_final_states(int index, ::int64_t value) {
11058 _internal_mutable_final_states()->Set(index, value);
11059 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
11060}
11061inline void AutomatonConstraintProto::add_final_states(::int64_t value) {
11062 ::google::protobuf::internal::TSanWrite(&_impl_);
11063 _internal_mutable_final_states()->Add(value);
11064 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
11065 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
11066}
11067inline const ::google::protobuf::RepeatedField<::int64_t>& AutomatonConstraintProto::final_states() const
11068 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11069 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
11070 return _internal_final_states();
11071}
11072inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_final_states()
11073 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11074 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
11075 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
11076 ::google::protobuf::internal::TSanWrite(&_impl_);
11077 return _internal_mutable_final_states();
11078}
11079inline const ::google::protobuf::RepeatedField<::int64_t>&
11080AutomatonConstraintProto::_internal_final_states() const {
11081 ::google::protobuf::internal::TSanRead(&_impl_);
11082 return _impl_.final_states_;
11083}
11084inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
11085AutomatonConstraintProto::_internal_mutable_final_states() {
11086 ::google::protobuf::internal::TSanRead(&_impl_);
11087 return &_impl_.final_states_;
11088}
11089
11090// repeated int64 transition_tail = 4;
11091inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
11092 return _internal_transition_tail().size();
11093}
11095 return _internal_transition_tail_size();
11096}
11098 ::google::protobuf::internal::TSanWrite(&_impl_);
11099 _impl_.transition_tail_.Clear();
11100 ClearHasBitForRepeated(_impl_._has_bits_[0],
11101 0x00000002U);
11102}
11103inline ::int64_t AutomatonConstraintProto::transition_tail(int index) const {
11104 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
11105 return _internal_transition_tail().Get(index);
11106}
11107inline void AutomatonConstraintProto::set_transition_tail(int index, ::int64_t value) {
11108 _internal_mutable_transition_tail()->Set(index, value);
11109 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
11110}
11111inline void AutomatonConstraintProto::add_transition_tail(::int64_t value) {
11112 ::google::protobuf::internal::TSanWrite(&_impl_);
11113 _internal_mutable_transition_tail()->Add(value);
11114 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
11115 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
11116}
11117inline const ::google::protobuf::RepeatedField<::int64_t>& AutomatonConstraintProto::transition_tail() const
11118 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11119 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
11120 return _internal_transition_tail();
11121}
11122inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_transition_tail()
11123 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11124 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
11125 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
11126 ::google::protobuf::internal::TSanWrite(&_impl_);
11127 return _internal_mutable_transition_tail();
11128}
11129inline const ::google::protobuf::RepeatedField<::int64_t>&
11130AutomatonConstraintProto::_internal_transition_tail() const {
11131 ::google::protobuf::internal::TSanRead(&_impl_);
11132 return _impl_.transition_tail_;
11133}
11134inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
11135AutomatonConstraintProto::_internal_mutable_transition_tail() {
11136 ::google::protobuf::internal::TSanRead(&_impl_);
11137 return &_impl_.transition_tail_;
11138}
11139
11140// repeated int64 transition_head = 5;
11141inline int AutomatonConstraintProto::_internal_transition_head_size() const {
11142 return _internal_transition_head().size();
11143}
11145 return _internal_transition_head_size();
11146}
11148 ::google::protobuf::internal::TSanWrite(&_impl_);
11149 _impl_.transition_head_.Clear();
11150 ClearHasBitForRepeated(_impl_._has_bits_[0],
11151 0x00000004U);
11152}
11153inline ::int64_t AutomatonConstraintProto::transition_head(int index) const {
11154 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
11155 return _internal_transition_head().Get(index);
11156}
11157inline void AutomatonConstraintProto::set_transition_head(int index, ::int64_t value) {
11158 _internal_mutable_transition_head()->Set(index, value);
11159 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
11160}
11161inline void AutomatonConstraintProto::add_transition_head(::int64_t value) {
11162 ::google::protobuf::internal::TSanWrite(&_impl_);
11163 _internal_mutable_transition_head()->Add(value);
11164 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
11165 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
11166}
11167inline const ::google::protobuf::RepeatedField<::int64_t>& AutomatonConstraintProto::transition_head() const
11168 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11169 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
11170 return _internal_transition_head();
11171}
11172inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_transition_head()
11173 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11174 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
11175 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
11176 ::google::protobuf::internal::TSanWrite(&_impl_);
11177 return _internal_mutable_transition_head();
11178}
11179inline const ::google::protobuf::RepeatedField<::int64_t>&
11180AutomatonConstraintProto::_internal_transition_head() const {
11181 ::google::protobuf::internal::TSanRead(&_impl_);
11182 return _impl_.transition_head_;
11183}
11184inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
11185AutomatonConstraintProto::_internal_mutable_transition_head() {
11186 ::google::protobuf::internal::TSanRead(&_impl_);
11187 return &_impl_.transition_head_;
11188}
11189
11190// repeated int64 transition_label = 6;
11191inline int AutomatonConstraintProto::_internal_transition_label_size() const {
11192 return _internal_transition_label().size();
11193}
11195 return _internal_transition_label_size();
11196}
11198 ::google::protobuf::internal::TSanWrite(&_impl_);
11199 _impl_.transition_label_.Clear();
11200 ClearHasBitForRepeated(_impl_._has_bits_[0],
11201 0x00000008U);
11202}
11203inline ::int64_t AutomatonConstraintProto::transition_label(int index) const {
11204 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
11205 return _internal_transition_label().Get(index);
11206}
11207inline void AutomatonConstraintProto::set_transition_label(int index, ::int64_t value) {
11208 _internal_mutable_transition_label()->Set(index, value);
11209 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
11210}
11211inline void AutomatonConstraintProto::add_transition_label(::int64_t value) {
11212 ::google::protobuf::internal::TSanWrite(&_impl_);
11213 _internal_mutable_transition_label()->Add(value);
11214 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
11215 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
11216}
11217inline const ::google::protobuf::RepeatedField<::int64_t>& AutomatonConstraintProto::transition_label() const
11218 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11219 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
11220 return _internal_transition_label();
11221}
11222inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_transition_label()
11223 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11224 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
11225 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
11226 ::google::protobuf::internal::TSanWrite(&_impl_);
11227 return _internal_mutable_transition_label();
11228}
11229inline const ::google::protobuf::RepeatedField<::int64_t>&
11230AutomatonConstraintProto::_internal_transition_label() const {
11231 ::google::protobuf::internal::TSanRead(&_impl_);
11232 return _impl_.transition_label_;
11233}
11234inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
11235AutomatonConstraintProto::_internal_mutable_transition_label() {
11236 ::google::protobuf::internal::TSanRead(&_impl_);
11237 return &_impl_.transition_label_;
11238}
11239
11240// repeated int32 vars = 7;
11241inline int AutomatonConstraintProto::_internal_vars_size() const {
11242 return _internal_vars().size();
11243}
11244inline int AutomatonConstraintProto::vars_size() const {
11245 return _internal_vars_size();
11246}
11248 ::google::protobuf::internal::TSanWrite(&_impl_);
11249 _impl_.vars_.Clear();
11250 ClearHasBitForRepeated(_impl_._has_bits_[0],
11251 0x00000010U);
11252}
11253inline ::int32_t AutomatonConstraintProto::vars(int index) const {
11254 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
11255 return _internal_vars().Get(index);
11256}
11257inline void AutomatonConstraintProto::set_vars(int index, ::int32_t value) {
11258 _internal_mutable_vars()->Set(index, value);
11259 // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
11260}
11261inline void AutomatonConstraintProto::add_vars(::int32_t value) {
11262 ::google::protobuf::internal::TSanWrite(&_impl_);
11263 _internal_mutable_vars()->Add(value);
11264 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U);
11265 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
11266}
11267inline const ::google::protobuf::RepeatedField<::int32_t>& AutomatonConstraintProto::vars() const
11268 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11269 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
11270 return _internal_vars();
11271}
11272inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_vars()
11273 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11274 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U);
11275 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
11276 ::google::protobuf::internal::TSanWrite(&_impl_);
11277 return _internal_mutable_vars();
11278}
11279inline const ::google::protobuf::RepeatedField<::int32_t>&
11280AutomatonConstraintProto::_internal_vars() const {
11281 ::google::protobuf::internal::TSanRead(&_impl_);
11282 return _impl_.vars_;
11283}
11284inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
11285AutomatonConstraintProto::_internal_mutable_vars() {
11286 ::google::protobuf::internal::TSanRead(&_impl_);
11287 return &_impl_.vars_;
11288}
11289
11290// repeated .operations_research.sat.LinearExpressionProto exprs = 8;
11291inline int AutomatonConstraintProto::_internal_exprs_size() const {
11292 return _internal_exprs().size();
11293}
11294inline int AutomatonConstraintProto::exprs_size() const {
11295 return _internal_exprs_size();
11296}
11298 ::google::protobuf::internal::TSanWrite(&_impl_);
11299 _impl_.exprs_.Clear();
11300 ClearHasBitForRepeated(_impl_._has_bits_[0],
11301 0x00000020U);
11302}
11303inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_exprs(int index)
11304 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11305 // @@protoc_insertion_point(field_mutable:operations_research.sat.AutomatonConstraintProto.exprs)
11306 return _internal_mutable_exprs()->Mutable(index);
11307}
11308inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL AutomatonConstraintProto::mutable_exprs()
11309 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11310 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000020U);
11311 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.exprs)
11312 ::google::protobuf::internal::TSanWrite(&_impl_);
11313 return _internal_mutable_exprs();
11314}
11315inline const ::operations_research::sat::LinearExpressionProto& AutomatonConstraintProto::exprs(int index) const
11316 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11317 // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.exprs)
11318 return _internal_exprs().Get(index);
11319}
11320inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL AutomatonConstraintProto::add_exprs()
11321 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11322 ::google::protobuf::internal::TSanWrite(&_impl_);
11324 _internal_mutable_exprs()->InternalAddWithArena(
11325 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
11326 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000020U);
11327 // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.exprs)
11328 return _add;
11329}
11330inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& AutomatonConstraintProto::exprs() const
11331 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11332 // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.exprs)
11333 return _internal_exprs();
11334}
11335inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
11336AutomatonConstraintProto::_internal_exprs() const {
11337 ::google::protobuf::internal::TSanRead(&_impl_);
11338 return _impl_.exprs_;
11339}
11340inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
11341AutomatonConstraintProto::_internal_mutable_exprs() {
11342 ::google::protobuf::internal::TSanRead(&_impl_);
11343 return &_impl_.exprs_;
11344}
11346// -------------------------------------------------------------------
11347
11348// ListOfVariablesProto
11349
11350// repeated int32 vars = 1;
11351inline int ListOfVariablesProto::_internal_vars_size() const {
11352 return _internal_vars().size();
11353}
11355 return _internal_vars_size();
11356}
11358 ::google::protobuf::internal::TSanWrite(&_impl_);
11359 _impl_.vars_.Clear();
11360 ClearHasBitForRepeated(_impl_._has_bits_[0],
11361 0x00000001U);
11362}
11363inline ::int32_t ListOfVariablesProto::vars(int index) const {
11364 // @@protoc_insertion_point(field_get:operations_research.sat.ListOfVariablesProto.vars)
11365 return _internal_vars().Get(index);
11367inline void ListOfVariablesProto::set_vars(int index, ::int32_t value) {
11368 _internal_mutable_vars()->Set(index, value);
11369 // @@protoc_insertion_point(field_set:operations_research.sat.ListOfVariablesProto.vars)
11370}
11371inline void ListOfVariablesProto::add_vars(::int32_t value) {
11372 ::google::protobuf::internal::TSanWrite(&_impl_);
11373 _internal_mutable_vars()->Add(value);
11374 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
11375 // @@protoc_insertion_point(field_add:operations_research.sat.ListOfVariablesProto.vars)
11376}
11377inline const ::google::protobuf::RepeatedField<::int32_t>& ListOfVariablesProto::vars() const
11378 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11379 // @@protoc_insertion_point(field_list:operations_research.sat.ListOfVariablesProto.vars)
11380 return _internal_vars();
11382inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ListOfVariablesProto::mutable_vars()
11383 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11384 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
11385 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ListOfVariablesProto.vars)
11386 ::google::protobuf::internal::TSanWrite(&_impl_);
11387 return _internal_mutable_vars();
11388}
11389inline const ::google::protobuf::RepeatedField<::int32_t>&
11390ListOfVariablesProto::_internal_vars() const {
11391 ::google::protobuf::internal::TSanRead(&_impl_);
11392 return _impl_.vars_;
11393}
11394inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
11395ListOfVariablesProto::_internal_mutable_vars() {
11396 ::google::protobuf::internal::TSanRead(&_impl_);
11397 return &_impl_.vars_;
11398}
11399
11400// -------------------------------------------------------------------
11401
11402// ConstraintProto
11403
11404// string name = 1;
11405inline void ConstraintProto::clear_name() {
11406 ::google::protobuf::internal::TSanWrite(&_impl_);
11407 _impl_.name_.ClearToEmpty();
11408 ClearHasBit(_impl_._has_bits_[0],
11409 0x00000002U);
11410}
11411inline const ::std::string& ConstraintProto::name() const
11412 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11413 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
11414 return _internal_name();
11416template <typename Arg_, typename... Args_>
11417PROTOBUF_ALWAYS_INLINE void ConstraintProto::set_name(Arg_&& arg, Args_... args) {
11418 ::google::protobuf::internal::TSanWrite(&_impl_);
11419 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
11420 _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
11421 // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
11422}
11423inline ::std::string* PROTOBUF_NONNULL ConstraintProto::mutable_name()
11424 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11425 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
11426 ::std::string* _s = _internal_mutable_name();
11427 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
11428 return _s;
11430inline const ::std::string& ConstraintProto::_internal_name() const {
11431 ::google::protobuf::internal::TSanRead(&_impl_);
11432 return _impl_.name_.Get();
11433}
11434inline void ConstraintProto::_internal_set_name(const ::std::string& value) {
11435 ::google::protobuf::internal::TSanWrite(&_impl_);
11436 _impl_.name_.Set(value, GetArena());
11437}
11438inline ::std::string* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_name() {
11439 ::google::protobuf::internal::TSanWrite(&_impl_);
11440 return _impl_.name_.Mutable( GetArena());
11441}
11442inline ::std::string* PROTOBUF_NULLABLE ConstraintProto::release_name() {
11443 ::google::protobuf::internal::TSanWrite(&_impl_);
11444 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
11445 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
11446 return nullptr;
11447 }
11448 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
11449 auto* released = _impl_.name_.Release();
11450 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
11451 _impl_.name_.Set("", GetArena());
11452 }
11453 return released;
11454}
11455inline void ConstraintProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
11456 ::google::protobuf::internal::TSanWrite(&_impl_);
11457 if (value != nullptr) {
11458 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
11459 } else {
11460 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
11461 }
11462 _impl_.name_.SetAllocated(value, GetArena());
11463 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
11464 _impl_.name_.Set("", GetArena());
11465 }
11466 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
11467}
11468
11469// repeated int32 enforcement_literal = 2;
11470inline int ConstraintProto::_internal_enforcement_literal_size() const {
11471 return _internal_enforcement_literal().size();
11472}
11474 return _internal_enforcement_literal_size();
11475}
11477 ::google::protobuf::internal::TSanWrite(&_impl_);
11478 _impl_.enforcement_literal_.Clear();
11479 ClearHasBitForRepeated(_impl_._has_bits_[0],
11480 0x00000001U);
11481}
11482inline ::int32_t ConstraintProto::enforcement_literal(int index) const {
11483 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
11484 return _internal_enforcement_literal().Get(index);
11485}
11486inline void ConstraintProto::set_enforcement_literal(int index, ::int32_t value) {
11487 _internal_mutable_enforcement_literal()->Set(index, value);
11488 // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
11489}
11490inline void ConstraintProto::add_enforcement_literal(::int32_t value) {
11491 ::google::protobuf::internal::TSanWrite(&_impl_);
11492 _internal_mutable_enforcement_literal()->Add(value);
11493 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
11494 // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
11496inline const ::google::protobuf::RepeatedField<::int32_t>& ConstraintProto::enforcement_literal() const
11497 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11498 // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
11499 return _internal_enforcement_literal();
11500}
11501inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ConstraintProto::mutable_enforcement_literal()
11502 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11503 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
11504 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
11505 ::google::protobuf::internal::TSanWrite(&_impl_);
11506 return _internal_mutable_enforcement_literal();
11507}
11508inline const ::google::protobuf::RepeatedField<::int32_t>&
11509ConstraintProto::_internal_enforcement_literal() const {
11510 ::google::protobuf::internal::TSanRead(&_impl_);
11511 return _impl_.enforcement_literal_;
11512}
11513inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
11514ConstraintProto::_internal_mutable_enforcement_literal() {
11515 ::google::protobuf::internal::TSanRead(&_impl_);
11516 return &_impl_.enforcement_literal_;
11517}
11518
11519// .operations_research.sat.BoolArgumentProto bool_or = 3;
11520inline bool ConstraintProto::has_bool_or() const {
11521 return constraint_case() == kBoolOr;
11522}
11523inline bool ConstraintProto::_internal_has_bool_or() const {
11524 return constraint_case() == kBoolOr;
11525}
11526inline void ConstraintProto::set_has_bool_or() {
11527 _impl_._oneof_case_[0] = kBoolOr;
11528}
11530 ::google::protobuf::internal::TSanWrite(&_impl_);
11531 if (constraint_case() == kBoolOr) {
11532 if (GetArena() == nullptr) {
11533 delete _impl_.constraint_.bool_or_;
11534 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11535 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_or_);
11536 }
11537 clear_has_constraint();
11538 }
11540inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_bool_or() {
11541 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
11542 if (constraint_case() == kBoolOr) {
11543 clear_has_constraint();
11544 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_or_);
11545 if (GetArena() != nullptr) {
11546 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11547 }
11548 _impl_.constraint_.bool_or_ = nullptr;
11549 return temp;
11550 } else {
11551 return nullptr;
11552 }
11553}
11554inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
11555 return constraint_case() == kBoolOr ? static_cast<const ::operations_research::sat::BoolArgumentProto&>(*reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_or_))
11557}
11558inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11559 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
11560 return _internal_bool_or();
11561}
11562inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_bool_or() {
11563 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
11564 if (constraint_case() == kBoolOr) {
11565 clear_has_constraint();
11566 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_or_);
11567 _impl_.constraint_.bool_or_ = nullptr;
11568 return temp;
11569 } else {
11570 return nullptr;
11571 }
11572}
11574 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE value) {
11575 // We rely on the oneof clear method to free the earlier contents
11576 // of this oneof. We can directly use the pointer we're given to
11577 // set the new value.
11579 if (value) {
11580 set_has_bool_or();
11581 _impl_.constraint_.bool_or_ = reinterpret_cast<::google::protobuf::Message*>(value);
11583 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
11584}
11585inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_bool_or() {
11586 if (constraint_case() != kBoolOr) {
11588 set_has_bool_or();
11589 _impl_.constraint_.bool_or_ = reinterpret_cast<::google::protobuf::Message*>(
11590 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11591 }
11592 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_or_);
11594inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_bool_or()
11595 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11596 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_or();
11597 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
11598 return _msg;
11599}
11600
11601// .operations_research.sat.BoolArgumentProto bool_and = 4;
11602inline bool ConstraintProto::has_bool_and() const {
11603 return constraint_case() == kBoolAnd;
11604}
11605inline bool ConstraintProto::_internal_has_bool_and() const {
11606 return constraint_case() == kBoolAnd;
11607}
11608inline void ConstraintProto::set_has_bool_and() {
11609 _impl_._oneof_case_[0] = kBoolAnd;
11610}
11612 ::google::protobuf::internal::TSanWrite(&_impl_);
11613 if (constraint_case() == kBoolAnd) {
11614 if (GetArena() == nullptr) {
11615 delete _impl_.constraint_.bool_and_;
11616 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11617 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_and_);
11618 }
11619 clear_has_constraint();
11620 }
11621}
11622inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_bool_and() {
11623 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
11624 if (constraint_case() == kBoolAnd) {
11625 clear_has_constraint();
11626 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_and_);
11627 if (GetArena() != nullptr) {
11628 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11629 }
11630 _impl_.constraint_.bool_and_ = nullptr;
11631 return temp;
11632 } else {
11633 return nullptr;
11634 }
11635}
11636inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
11637 return constraint_case() == kBoolAnd ? static_cast<const ::operations_research::sat::BoolArgumentProto&>(*reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_and_))
11638 : reinterpret_cast<const ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
11639}
11640inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11641 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
11642 return _internal_bool_and();
11643}
11644inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_bool_and() {
11645 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
11646 if (constraint_case() == kBoolAnd) {
11647 clear_has_constraint();
11648 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_and_);
11649 _impl_.constraint_.bool_and_ = nullptr;
11650 return temp;
11651 } else {
11652 return nullptr;
11653 }
11654}
11656 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE value) {
11657 // We rely on the oneof clear method to free the earlier contents
11658 // of this oneof. We can directly use the pointer we're given to
11659 // set the new value.
11661 if (value) {
11662 set_has_bool_and();
11663 _impl_.constraint_.bool_and_ = reinterpret_cast<::google::protobuf::Message*>(value);
11665 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
11666}
11667inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_bool_and() {
11668 if (constraint_case() != kBoolAnd) {
11670 set_has_bool_and();
11671 _impl_.constraint_.bool_and_ = reinterpret_cast<::google::protobuf::Message*>(
11672 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11673 }
11674 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_and_);
11676inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_bool_and()
11677 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11678 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_and();
11679 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
11680 return _msg;
11681}
11682
11683// .operations_research.sat.BoolArgumentProto at_most_one = 26;
11684inline bool ConstraintProto::has_at_most_one() const {
11685 return constraint_case() == kAtMostOne;
11686}
11687inline bool ConstraintProto::_internal_has_at_most_one() const {
11688 return constraint_case() == kAtMostOne;
11689}
11690inline void ConstraintProto::set_has_at_most_one() {
11691 _impl_._oneof_case_[0] = kAtMostOne;
11692}
11694 ::google::protobuf::internal::TSanWrite(&_impl_);
11695 if (constraint_case() == kAtMostOne) {
11696 if (GetArena() == nullptr) {
11697 delete _impl_.constraint_.at_most_one_;
11698 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11699 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.at_most_one_);
11700 }
11701 clear_has_constraint();
11702 }
11703}
11704inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_at_most_one() {
11705 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
11706 if (constraint_case() == kAtMostOne) {
11707 clear_has_constraint();
11708 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.at_most_one_);
11709 if (GetArena() != nullptr) {
11710 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11711 }
11712 _impl_.constraint_.at_most_one_ = nullptr;
11713 return temp;
11714 } else {
11715 return nullptr;
11716 }
11717}
11718inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
11719 return constraint_case() == kAtMostOne ? static_cast<const ::operations_research::sat::BoolArgumentProto&>(*reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.at_most_one_))
11720 : reinterpret_cast<const ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
11721}
11722inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11723 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
11724 return _internal_at_most_one();
11725}
11726inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_at_most_one() {
11727 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
11728 if (constraint_case() == kAtMostOne) {
11729 clear_has_constraint();
11730 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.at_most_one_);
11731 _impl_.constraint_.at_most_one_ = nullptr;
11732 return temp;
11733 } else {
11734 return nullptr;
11735 }
11736}
11738 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE value) {
11739 // We rely on the oneof clear method to free the earlier contents
11740 // of this oneof. We can directly use the pointer we're given to
11741 // set the new value.
11743 if (value) {
11744 set_has_at_most_one();
11745 _impl_.constraint_.at_most_one_ = reinterpret_cast<::google::protobuf::Message*>(value);
11747 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
11748}
11749inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_at_most_one() {
11750 if (constraint_case() != kAtMostOne) {
11752 set_has_at_most_one();
11753 _impl_.constraint_.at_most_one_ = reinterpret_cast<::google::protobuf::Message*>(
11754 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11755 }
11756 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.at_most_one_);
11758inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_at_most_one()
11759 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11760 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_at_most_one();
11761 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
11762 return _msg;
11763}
11764
11765// .operations_research.sat.BoolArgumentProto exactly_one = 29;
11766inline bool ConstraintProto::has_exactly_one() const {
11767 return constraint_case() == kExactlyOne;
11768}
11769inline bool ConstraintProto::_internal_has_exactly_one() const {
11770 return constraint_case() == kExactlyOne;
11771}
11772inline void ConstraintProto::set_has_exactly_one() {
11773 _impl_._oneof_case_[0] = kExactlyOne;
11774}
11776 ::google::protobuf::internal::TSanWrite(&_impl_);
11777 if (constraint_case() == kExactlyOne) {
11778 if (GetArena() == nullptr) {
11779 delete _impl_.constraint_.exactly_one_;
11780 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11781 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.exactly_one_);
11782 }
11783 clear_has_constraint();
11784 }
11785}
11786inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_exactly_one() {
11787 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.exactly_one)
11788 if (constraint_case() == kExactlyOne) {
11789 clear_has_constraint();
11790 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.exactly_one_);
11791 if (GetArena() != nullptr) {
11792 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11793 }
11794 _impl_.constraint_.exactly_one_ = nullptr;
11795 return temp;
11796 } else {
11797 return nullptr;
11798 }
11799}
11800inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_exactly_one() const {
11801 return constraint_case() == kExactlyOne ? static_cast<const ::operations_research::sat::BoolArgumentProto&>(*reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.exactly_one_))
11802 : reinterpret_cast<const ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
11803}
11804inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::exactly_one() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11805 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.exactly_one)
11806 return _internal_exactly_one();
11807}
11808inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_exactly_one() {
11809 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.exactly_one)
11810 if (constraint_case() == kExactlyOne) {
11811 clear_has_constraint();
11812 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.exactly_one_);
11813 _impl_.constraint_.exactly_one_ = nullptr;
11814 return temp;
11815 } else {
11816 return nullptr;
11817 }
11818}
11820 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE value) {
11821 // We rely on the oneof clear method to free the earlier contents
11822 // of this oneof. We can directly use the pointer we're given to
11823 // set the new value.
11825 if (value) {
11826 set_has_exactly_one();
11827 _impl_.constraint_.exactly_one_ = reinterpret_cast<::google::protobuf::Message*>(value);
11829 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
11830}
11831inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_exactly_one() {
11832 if (constraint_case() != kExactlyOne) {
11834 set_has_exactly_one();
11835 _impl_.constraint_.exactly_one_ = reinterpret_cast<::google::protobuf::Message*>(
11836 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11837 }
11838 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.exactly_one_);
11840inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_exactly_one()
11841 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11842 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_exactly_one();
11843 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.exactly_one)
11844 return _msg;
11845}
11846
11847// .operations_research.sat.BoolArgumentProto bool_xor = 5;
11848inline bool ConstraintProto::has_bool_xor() const {
11849 return constraint_case() == kBoolXor;
11850}
11851inline bool ConstraintProto::_internal_has_bool_xor() const {
11852 return constraint_case() == kBoolXor;
11853}
11854inline void ConstraintProto::set_has_bool_xor() {
11855 _impl_._oneof_case_[0] = kBoolXor;
11856}
11858 ::google::protobuf::internal::TSanWrite(&_impl_);
11859 if (constraint_case() == kBoolXor) {
11860 if (GetArena() == nullptr) {
11861 delete _impl_.constraint_.bool_xor_;
11862 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11863 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_xor_);
11864 }
11865 clear_has_constraint();
11866 }
11867}
11868inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_bool_xor() {
11869 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
11870 if (constraint_case() == kBoolXor) {
11871 clear_has_constraint();
11872 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_xor_);
11873 if (GetArena() != nullptr) {
11874 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11875 }
11876 _impl_.constraint_.bool_xor_ = nullptr;
11877 return temp;
11878 } else {
11879 return nullptr;
11880 }
11881}
11882inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
11883 return constraint_case() == kBoolXor ? static_cast<const ::operations_research::sat::BoolArgumentProto&>(*reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_xor_))
11884 : reinterpret_cast<const ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
11885}
11886inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11887 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
11888 return _internal_bool_xor();
11889}
11890inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_bool_xor() {
11891 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
11892 if (constraint_case() == kBoolXor) {
11893 clear_has_constraint();
11894 auto* temp = reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_xor_);
11895 _impl_.constraint_.bool_xor_ = nullptr;
11896 return temp;
11897 } else {
11898 return nullptr;
11899 }
11900}
11902 ::operations_research::sat::BoolArgumentProto* PROTOBUF_NULLABLE value) {
11903 // We rely on the oneof clear method to free the earlier contents
11904 // of this oneof. We can directly use the pointer we're given to
11905 // set the new value.
11907 if (value) {
11908 set_has_bool_xor();
11909 _impl_.constraint_.bool_xor_ = reinterpret_cast<::google::protobuf::Message*>(value);
11911 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
11912}
11913inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_bool_xor() {
11914 if (constraint_case() != kBoolXor) {
11916 set_has_bool_xor();
11917 _impl_.constraint_.bool_xor_ = reinterpret_cast<::google::protobuf::Message*>(
11918 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::BoolArgumentProto>(GetArena()));
11919 }
11920 return reinterpret_cast<::operations_research::sat::BoolArgumentProto*>(_impl_.constraint_.bool_xor_);
11922inline ::operations_research::sat::BoolArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_bool_xor()
11923 ABSL_ATTRIBUTE_LIFETIME_BOUND {
11924 ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_xor();
11925 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
11926 return _msg;
11927}
11928
11929// .operations_research.sat.LinearArgumentProto int_div = 7;
11930inline bool ConstraintProto::has_int_div() const {
11931 return constraint_case() == kIntDiv;
11932}
11933inline bool ConstraintProto::_internal_has_int_div() const {
11934 return constraint_case() == kIntDiv;
11935}
11936inline void ConstraintProto::set_has_int_div() {
11937 _impl_._oneof_case_[0] = kIntDiv;
11938}
11940 ::google::protobuf::internal::TSanWrite(&_impl_);
11941 if (constraint_case() == kIntDiv) {
11942 if (GetArena() == nullptr) {
11943 delete _impl_.constraint_.int_div_;
11944 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
11945 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_div_);
11946 }
11947 clear_has_constraint();
11948 }
11949}
11950inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_int_div() {
11951 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
11952 if (constraint_case() == kIntDiv) {
11953 clear_has_constraint();
11954 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_div_);
11955 if (GetArena() != nullptr) {
11956 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
11957 }
11958 _impl_.constraint_.int_div_ = nullptr;
11959 return temp;
11960 } else {
11961 return nullptr;
11962 }
11963}
11964inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_div() const {
11965 return constraint_case() == kIntDiv ? static_cast<const ::operations_research::sat::LinearArgumentProto&>(*reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_div_))
11966 : reinterpret_cast<const ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
11967}
11968inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_div() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11969 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
11970 return _internal_int_div();
11971}
11972inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_int_div() {
11973 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
11974 if (constraint_case() == kIntDiv) {
11975 clear_has_constraint();
11976 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_div_);
11977 _impl_.constraint_.int_div_ = nullptr;
11978 return temp;
11979 } else {
11980 return nullptr;
11981 }
11982}
11984 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE value) {
11985 // We rely on the oneof clear method to free the earlier contents
11986 // of this oneof. We can directly use the pointer we're given to
11987 // set the new value.
11989 if (value) {
11990 set_has_int_div();
11991 _impl_.constraint_.int_div_ = reinterpret_cast<::google::protobuf::Message*>(value);
11993 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
11994}
11995inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_int_div() {
11996 if (constraint_case() != kIntDiv) {
11998 set_has_int_div();
11999 _impl_.constraint_.int_div_ = reinterpret_cast<::google::protobuf::Message*>(
12000 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearArgumentProto>(GetArena()));
12001 }
12002 return reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_div_);
12004inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_int_div()
12005 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12006 ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_div();
12007 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
12008 return _msg;
12009}
12010
12011// .operations_research.sat.LinearArgumentProto int_mod = 8;
12012inline bool ConstraintProto::has_int_mod() const {
12013 return constraint_case() == kIntMod;
12014}
12015inline bool ConstraintProto::_internal_has_int_mod() const {
12016 return constraint_case() == kIntMod;
12017}
12018inline void ConstraintProto::set_has_int_mod() {
12019 _impl_._oneof_case_[0] = kIntMod;
12020}
12022 ::google::protobuf::internal::TSanWrite(&_impl_);
12023 if (constraint_case() == kIntMod) {
12024 if (GetArena() == nullptr) {
12025 delete _impl_.constraint_.int_mod_;
12026 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12027 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_mod_);
12028 }
12029 clear_has_constraint();
12030 }
12031}
12032inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_int_mod() {
12033 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
12034 if (constraint_case() == kIntMod) {
12035 clear_has_constraint();
12036 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_mod_);
12037 if (GetArena() != nullptr) {
12038 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12039 }
12040 _impl_.constraint_.int_mod_ = nullptr;
12041 return temp;
12042 } else {
12043 return nullptr;
12044 }
12045}
12046inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_mod() const {
12047 return constraint_case() == kIntMod ? static_cast<const ::operations_research::sat::LinearArgumentProto&>(*reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_mod_))
12048 : reinterpret_cast<const ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
12049}
12050inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_mod() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12051 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
12052 return _internal_int_mod();
12053}
12054inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_int_mod() {
12055 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
12056 if (constraint_case() == kIntMod) {
12057 clear_has_constraint();
12058 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_mod_);
12059 _impl_.constraint_.int_mod_ = nullptr;
12060 return temp;
12061 } else {
12062 return nullptr;
12063 }
12064}
12066 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE value) {
12067 // We rely on the oneof clear method to free the earlier contents
12068 // of this oneof. We can directly use the pointer we're given to
12069 // set the new value.
12071 if (value) {
12072 set_has_int_mod();
12073 _impl_.constraint_.int_mod_ = reinterpret_cast<::google::protobuf::Message*>(value);
12075 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
12076}
12077inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_int_mod() {
12078 if (constraint_case() != kIntMod) {
12080 set_has_int_mod();
12081 _impl_.constraint_.int_mod_ = reinterpret_cast<::google::protobuf::Message*>(
12082 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearArgumentProto>(GetArena()));
12083 }
12084 return reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_mod_);
12086inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_int_mod()
12087 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12088 ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_mod();
12089 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
12090 return _msg;
12091}
12092
12093// .operations_research.sat.LinearArgumentProto int_prod = 11;
12094inline bool ConstraintProto::has_int_prod() const {
12095 return constraint_case() == kIntProd;
12096}
12097inline bool ConstraintProto::_internal_has_int_prod() const {
12098 return constraint_case() == kIntProd;
12099}
12100inline void ConstraintProto::set_has_int_prod() {
12101 _impl_._oneof_case_[0] = kIntProd;
12102}
12104 ::google::protobuf::internal::TSanWrite(&_impl_);
12105 if (constraint_case() == kIntProd) {
12106 if (GetArena() == nullptr) {
12107 delete _impl_.constraint_.int_prod_;
12108 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12109 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_prod_);
12110 }
12111 clear_has_constraint();
12112 }
12113}
12114inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_int_prod() {
12115 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
12116 if (constraint_case() == kIntProd) {
12117 clear_has_constraint();
12118 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_prod_);
12119 if (GetArena() != nullptr) {
12120 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12121 }
12122 _impl_.constraint_.int_prod_ = nullptr;
12123 return temp;
12124 } else {
12125 return nullptr;
12126 }
12127}
12128inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_prod() const {
12129 return constraint_case() == kIntProd ? static_cast<const ::operations_research::sat::LinearArgumentProto&>(*reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_prod_))
12130 : reinterpret_cast<const ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
12131}
12132inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_prod() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12133 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
12134 return _internal_int_prod();
12135}
12136inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_int_prod() {
12137 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
12138 if (constraint_case() == kIntProd) {
12139 clear_has_constraint();
12140 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_prod_);
12141 _impl_.constraint_.int_prod_ = nullptr;
12142 return temp;
12143 } else {
12144 return nullptr;
12145 }
12146}
12148 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE value) {
12149 // We rely on the oneof clear method to free the earlier contents
12150 // of this oneof. We can directly use the pointer we're given to
12151 // set the new value.
12153 if (value) {
12154 set_has_int_prod();
12155 _impl_.constraint_.int_prod_ = reinterpret_cast<::google::protobuf::Message*>(value);
12157 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
12158}
12159inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_int_prod() {
12160 if (constraint_case() != kIntProd) {
12162 set_has_int_prod();
12163 _impl_.constraint_.int_prod_ = reinterpret_cast<::google::protobuf::Message*>(
12164 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearArgumentProto>(GetArena()));
12165 }
12166 return reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.int_prod_);
12168inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_int_prod()
12169 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12170 ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_prod();
12171 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
12172 return _msg;
12173}
12174
12175// .operations_research.sat.LinearArgumentProto lin_max = 27;
12176inline bool ConstraintProto::has_lin_max() const {
12177 return constraint_case() == kLinMax;
12178}
12179inline bool ConstraintProto::_internal_has_lin_max() const {
12180 return constraint_case() == kLinMax;
12181}
12182inline void ConstraintProto::set_has_lin_max() {
12183 _impl_._oneof_case_[0] = kLinMax;
12184}
12186 ::google::protobuf::internal::TSanWrite(&_impl_);
12187 if (constraint_case() == kLinMax) {
12188 if (GetArena() == nullptr) {
12189 delete _impl_.constraint_.lin_max_;
12190 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12191 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.lin_max_);
12192 }
12193 clear_has_constraint();
12194 }
12195}
12196inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::release_lin_max() {
12197 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
12198 if (constraint_case() == kLinMax) {
12199 clear_has_constraint();
12200 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.lin_max_);
12201 if (GetArena() != nullptr) {
12202 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12203 }
12204 _impl_.constraint_.lin_max_ = nullptr;
12205 return temp;
12206 } else {
12207 return nullptr;
12208 }
12209}
12210inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
12211 return constraint_case() == kLinMax ? static_cast<const ::operations_research::sat::LinearArgumentProto&>(*reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.lin_max_))
12212 : reinterpret_cast<const ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
12213}
12214inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12215 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
12216 return _internal_lin_max();
12217}
12218inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_lin_max() {
12219 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
12220 if (constraint_case() == kLinMax) {
12221 clear_has_constraint();
12222 auto* temp = reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.lin_max_);
12223 _impl_.constraint_.lin_max_ = nullptr;
12224 return temp;
12225 } else {
12226 return nullptr;
12227 }
12228}
12230 ::operations_research::sat::LinearArgumentProto* PROTOBUF_NULLABLE value) {
12231 // We rely on the oneof clear method to free the earlier contents
12232 // of this oneof. We can directly use the pointer we're given to
12233 // set the new value.
12235 if (value) {
12236 set_has_lin_max();
12237 _impl_.constraint_.lin_max_ = reinterpret_cast<::google::protobuf::Message*>(value);
12239 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
12240}
12241inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_lin_max() {
12242 if (constraint_case() != kLinMax) {
12244 set_has_lin_max();
12245 _impl_.constraint_.lin_max_ = reinterpret_cast<::google::protobuf::Message*>(
12246 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearArgumentProto>(GetArena()));
12247 }
12248 return reinterpret_cast<::operations_research::sat::LinearArgumentProto*>(_impl_.constraint_.lin_max_);
12250inline ::operations_research::sat::LinearArgumentProto* PROTOBUF_NONNULL ConstraintProto::mutable_lin_max()
12251 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12252 ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_lin_max();
12253 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
12254 return _msg;
12255}
12256
12257// .operations_research.sat.LinearConstraintProto linear = 12;
12258inline bool ConstraintProto::has_linear() const {
12259 return constraint_case() == kLinear;
12260}
12261inline bool ConstraintProto::_internal_has_linear() const {
12262 return constraint_case() == kLinear;
12263}
12264inline void ConstraintProto::set_has_linear() {
12265 _impl_._oneof_case_[0] = kLinear;
12266}
12268 ::google::protobuf::internal::TSanWrite(&_impl_);
12269 if (constraint_case() == kLinear) {
12270 if (GetArena() == nullptr) {
12271 delete _impl_.constraint_.linear_;
12272 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12273 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.linear_);
12274 }
12275 clear_has_constraint();
12276 }
12277}
12278inline ::operations_research::sat::LinearConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_linear() {
12279 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
12280 if (constraint_case() == kLinear) {
12281 clear_has_constraint();
12282 auto* temp = reinterpret_cast<::operations_research::sat::LinearConstraintProto*>(_impl_.constraint_.linear_);
12283 if (GetArena() != nullptr) {
12284 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12285 }
12286 _impl_.constraint_.linear_ = nullptr;
12287 return temp;
12288 } else {
12289 return nullptr;
12290 }
12291}
12292inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
12293 return constraint_case() == kLinear ? static_cast<const ::operations_research::sat::LinearConstraintProto&>(*reinterpret_cast<::operations_research::sat::LinearConstraintProto*>(_impl_.constraint_.linear_))
12294 : reinterpret_cast<const ::operations_research::sat::LinearConstraintProto&>(::operations_research::sat::_LinearConstraintProto_default_instance_);
12295}
12296inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12297 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
12298 return _internal_linear();
12299}
12300inline ::operations_research::sat::LinearConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_linear() {
12301 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
12302 if (constraint_case() == kLinear) {
12303 clear_has_constraint();
12304 auto* temp = reinterpret_cast<::operations_research::sat::LinearConstraintProto*>(_impl_.constraint_.linear_);
12305 _impl_.constraint_.linear_ = nullptr;
12306 return temp;
12307 } else {
12308 return nullptr;
12309 }
12310}
12312 ::operations_research::sat::LinearConstraintProto* PROTOBUF_NULLABLE value) {
12313 // We rely on the oneof clear method to free the earlier contents
12314 // of this oneof. We can directly use the pointer we're given to
12315 // set the new value.
12317 if (value) {
12318 set_has_linear();
12319 _impl_.constraint_.linear_ = reinterpret_cast<::google::protobuf::Message*>(value);
12321 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
12322}
12323inline ::operations_research::sat::LinearConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_linear() {
12324 if (constraint_case() != kLinear) {
12326 set_has_linear();
12327 _impl_.constraint_.linear_ = reinterpret_cast<::google::protobuf::Message*>(
12328 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::LinearConstraintProto>(GetArena()));
12329 }
12330 return reinterpret_cast<::operations_research::sat::LinearConstraintProto*>(_impl_.constraint_.linear_);
12332inline ::operations_research::sat::LinearConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_linear()
12333 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12334 ::operations_research::sat::LinearConstraintProto* _msg = _internal_mutable_linear();
12335 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
12336 return _msg;
12337}
12338
12339// .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
12340inline bool ConstraintProto::has_all_diff() const {
12341 return constraint_case() == kAllDiff;
12342}
12343inline bool ConstraintProto::_internal_has_all_diff() const {
12344 return constraint_case() == kAllDiff;
12345}
12346inline void ConstraintProto::set_has_all_diff() {
12347 _impl_._oneof_case_[0] = kAllDiff;
12348}
12350 ::google::protobuf::internal::TSanWrite(&_impl_);
12351 if (constraint_case() == kAllDiff) {
12352 if (GetArena() == nullptr) {
12353 delete _impl_.constraint_.all_diff_;
12354 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12355 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.all_diff_);
12356 }
12357 clear_has_constraint();
12358 }
12359}
12360inline ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_all_diff() {
12361 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
12362 if (constraint_case() == kAllDiff) {
12363 clear_has_constraint();
12364 auto* temp = reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto*>(_impl_.constraint_.all_diff_);
12365 if (GetArena() != nullptr) {
12366 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12367 }
12368 _impl_.constraint_.all_diff_ = nullptr;
12369 return temp;
12370 } else {
12371 return nullptr;
12372 }
12373}
12374inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
12375 return constraint_case() == kAllDiff ? static_cast<const ::operations_research::sat::AllDifferentConstraintProto&>(*reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto*>(_impl_.constraint_.all_diff_))
12376 : reinterpret_cast<const ::operations_research::sat::AllDifferentConstraintProto&>(::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
12377}
12378inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12379 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
12380 return _internal_all_diff();
12381}
12382inline ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_all_diff() {
12383 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
12384 if (constraint_case() == kAllDiff) {
12385 clear_has_constraint();
12386 auto* temp = reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto*>(_impl_.constraint_.all_diff_);
12387 _impl_.constraint_.all_diff_ = nullptr;
12388 return temp;
12389 } else {
12390 return nullptr;
12391 }
12392}
12395 // We rely on the oneof clear method to free the earlier contents
12396 // of this oneof. We can directly use the pointer we're given to
12397 // set the new value.
12399 if (value) {
12400 set_has_all_diff();
12401 _impl_.constraint_.all_diff_ = reinterpret_cast<::google::protobuf::Message*>(value);
12403 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
12404}
12405inline ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_all_diff() {
12406 if (constraint_case() != kAllDiff) {
12408 set_has_all_diff();
12409 _impl_.constraint_.all_diff_ = reinterpret_cast<::google::protobuf::Message*>(
12410 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::AllDifferentConstraintProto>(GetArena()));
12411 }
12412 return reinterpret_cast<::operations_research::sat::AllDifferentConstraintProto*>(_impl_.constraint_.all_diff_);
12414inline ::operations_research::sat::AllDifferentConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_all_diff()
12415 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12416 ::operations_research::sat::AllDifferentConstraintProto* _msg = _internal_mutable_all_diff();
12417 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
12418 return _msg;
12419}
12420
12421// .operations_research.sat.ElementConstraintProto element = 14;
12422inline bool ConstraintProto::has_element() const {
12423 return constraint_case() == kElement;
12424}
12425inline bool ConstraintProto::_internal_has_element() const {
12426 return constraint_case() == kElement;
12427}
12428inline void ConstraintProto::set_has_element() {
12429 _impl_._oneof_case_[0] = kElement;
12430}
12432 ::google::protobuf::internal::TSanWrite(&_impl_);
12433 if (constraint_case() == kElement) {
12434 if (GetArena() == nullptr) {
12435 delete _impl_.constraint_.element_;
12436 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12437 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.element_);
12438 }
12439 clear_has_constraint();
12440 }
12441}
12442inline ::operations_research::sat::ElementConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_element() {
12443 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
12444 if (constraint_case() == kElement) {
12445 clear_has_constraint();
12446 auto* temp = reinterpret_cast<::operations_research::sat::ElementConstraintProto*>(_impl_.constraint_.element_);
12447 if (GetArena() != nullptr) {
12448 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12449 }
12450 _impl_.constraint_.element_ = nullptr;
12451 return temp;
12452 } else {
12453 return nullptr;
12454 }
12455}
12456inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
12457 return constraint_case() == kElement ? static_cast<const ::operations_research::sat::ElementConstraintProto&>(*reinterpret_cast<::operations_research::sat::ElementConstraintProto*>(_impl_.constraint_.element_))
12458 : reinterpret_cast<const ::operations_research::sat::ElementConstraintProto&>(::operations_research::sat::_ElementConstraintProto_default_instance_);
12459}
12460inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12461 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
12462 return _internal_element();
12463}
12464inline ::operations_research::sat::ElementConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_element() {
12465 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
12466 if (constraint_case() == kElement) {
12467 clear_has_constraint();
12468 auto* temp = reinterpret_cast<::operations_research::sat::ElementConstraintProto*>(_impl_.constraint_.element_);
12469 _impl_.constraint_.element_ = nullptr;
12470 return temp;
12471 } else {
12472 return nullptr;
12473 }
12474}
12476 ::operations_research::sat::ElementConstraintProto* PROTOBUF_NULLABLE value) {
12477 // We rely on the oneof clear method to free the earlier contents
12478 // of this oneof. We can directly use the pointer we're given to
12479 // set the new value.
12481 if (value) {
12482 set_has_element();
12483 _impl_.constraint_.element_ = reinterpret_cast<::google::protobuf::Message*>(value);
12485 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
12486}
12487inline ::operations_research::sat::ElementConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_element() {
12488 if (constraint_case() != kElement) {
12490 set_has_element();
12491 _impl_.constraint_.element_ = reinterpret_cast<::google::protobuf::Message*>(
12492 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::ElementConstraintProto>(GetArena()));
12493 }
12494 return reinterpret_cast<::operations_research::sat::ElementConstraintProto*>(_impl_.constraint_.element_);
12496inline ::operations_research::sat::ElementConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_element()
12497 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12498 ::operations_research::sat::ElementConstraintProto* _msg = _internal_mutable_element();
12499 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
12500 return _msg;
12501}
12502
12503// .operations_research.sat.CircuitConstraintProto circuit = 15;
12504inline bool ConstraintProto::has_circuit() const {
12505 return constraint_case() == kCircuit;
12506}
12507inline bool ConstraintProto::_internal_has_circuit() const {
12508 return constraint_case() == kCircuit;
12509}
12510inline void ConstraintProto::set_has_circuit() {
12511 _impl_._oneof_case_[0] = kCircuit;
12512}
12514 ::google::protobuf::internal::TSanWrite(&_impl_);
12515 if (constraint_case() == kCircuit) {
12516 if (GetArena() == nullptr) {
12517 delete _impl_.constraint_.circuit_;
12518 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12519 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.circuit_);
12520 }
12521 clear_has_constraint();
12522 }
12523}
12524inline ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_circuit() {
12525 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
12526 if (constraint_case() == kCircuit) {
12527 clear_has_constraint();
12528 auto* temp = reinterpret_cast<::operations_research::sat::CircuitConstraintProto*>(_impl_.constraint_.circuit_);
12529 if (GetArena() != nullptr) {
12530 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12531 }
12532 _impl_.constraint_.circuit_ = nullptr;
12533 return temp;
12534 } else {
12535 return nullptr;
12536 }
12537}
12538inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
12539 return constraint_case() == kCircuit ? static_cast<const ::operations_research::sat::CircuitConstraintProto&>(*reinterpret_cast<::operations_research::sat::CircuitConstraintProto*>(_impl_.constraint_.circuit_))
12540 : reinterpret_cast<const ::operations_research::sat::CircuitConstraintProto&>(::operations_research::sat::_CircuitConstraintProto_default_instance_);
12541}
12542inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12543 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
12544 return _internal_circuit();
12545}
12546inline ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_circuit() {
12547 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
12548 if (constraint_case() == kCircuit) {
12549 clear_has_constraint();
12550 auto* temp = reinterpret_cast<::operations_research::sat::CircuitConstraintProto*>(_impl_.constraint_.circuit_);
12551 _impl_.constraint_.circuit_ = nullptr;
12552 return temp;
12553 } else {
12554 return nullptr;
12555 }
12556}
12558 ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NULLABLE value) {
12559 // We rely on the oneof clear method to free the earlier contents
12560 // of this oneof. We can directly use the pointer we're given to
12561 // set the new value.
12563 if (value) {
12564 set_has_circuit();
12565 _impl_.constraint_.circuit_ = reinterpret_cast<::google::protobuf::Message*>(value);
12567 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
12568}
12569inline ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_circuit() {
12570 if (constraint_case() != kCircuit) {
12572 set_has_circuit();
12573 _impl_.constraint_.circuit_ = reinterpret_cast<::google::protobuf::Message*>(
12574 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::CircuitConstraintProto>(GetArena()));
12575 }
12576 return reinterpret_cast<::operations_research::sat::CircuitConstraintProto*>(_impl_.constraint_.circuit_);
12578inline ::operations_research::sat::CircuitConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_circuit()
12579 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12580 ::operations_research::sat::CircuitConstraintProto* _msg = _internal_mutable_circuit();
12581 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
12582 return _msg;
12583}
12584
12585// .operations_research.sat.RoutesConstraintProto routes = 23;
12586inline bool ConstraintProto::has_routes() const {
12587 return constraint_case() == kRoutes;
12588}
12589inline bool ConstraintProto::_internal_has_routes() const {
12590 return constraint_case() == kRoutes;
12591}
12592inline void ConstraintProto::set_has_routes() {
12593 _impl_._oneof_case_[0] = kRoutes;
12594}
12596 ::google::protobuf::internal::TSanWrite(&_impl_);
12597 if (constraint_case() == kRoutes) {
12598 if (GetArena() == nullptr) {
12599 delete _impl_.constraint_.routes_;
12600 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12601 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.routes_);
12602 }
12603 clear_has_constraint();
12604 }
12605}
12606inline ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_routes() {
12607 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
12608 if (constraint_case() == kRoutes) {
12609 clear_has_constraint();
12610 auto* temp = reinterpret_cast<::operations_research::sat::RoutesConstraintProto*>(_impl_.constraint_.routes_);
12611 if (GetArena() != nullptr) {
12612 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12613 }
12614 _impl_.constraint_.routes_ = nullptr;
12615 return temp;
12616 } else {
12617 return nullptr;
12618 }
12619}
12620inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
12621 return constraint_case() == kRoutes ? static_cast<const ::operations_research::sat::RoutesConstraintProto&>(*reinterpret_cast<::operations_research::sat::RoutesConstraintProto*>(_impl_.constraint_.routes_))
12622 : reinterpret_cast<const ::operations_research::sat::RoutesConstraintProto&>(::operations_research::sat::_RoutesConstraintProto_default_instance_);
12623}
12624inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12625 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
12626 return _internal_routes();
12627}
12628inline ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_routes() {
12629 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
12630 if (constraint_case() == kRoutes) {
12631 clear_has_constraint();
12632 auto* temp = reinterpret_cast<::operations_research::sat::RoutesConstraintProto*>(_impl_.constraint_.routes_);
12633 _impl_.constraint_.routes_ = nullptr;
12634 return temp;
12635 } else {
12636 return nullptr;
12637 }
12638}
12640 ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NULLABLE value) {
12641 // We rely on the oneof clear method to free the earlier contents
12642 // of this oneof. We can directly use the pointer we're given to
12643 // set the new value.
12645 if (value) {
12646 set_has_routes();
12647 _impl_.constraint_.routes_ = reinterpret_cast<::google::protobuf::Message*>(value);
12649 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
12650}
12651inline ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_routes() {
12652 if (constraint_case() != kRoutes) {
12654 set_has_routes();
12655 _impl_.constraint_.routes_ = reinterpret_cast<::google::protobuf::Message*>(
12656 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::RoutesConstraintProto>(GetArena()));
12657 }
12658 return reinterpret_cast<::operations_research::sat::RoutesConstraintProto*>(_impl_.constraint_.routes_);
12660inline ::operations_research::sat::RoutesConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_routes()
12661 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12662 ::operations_research::sat::RoutesConstraintProto* _msg = _internal_mutable_routes();
12663 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
12664 return _msg;
12665}
12666
12667// .operations_research.sat.TableConstraintProto table = 16;
12668inline bool ConstraintProto::has_table() const {
12669 return constraint_case() == kTable;
12670}
12671inline bool ConstraintProto::_internal_has_table() const {
12672 return constraint_case() == kTable;
12673}
12674inline void ConstraintProto::set_has_table() {
12675 _impl_._oneof_case_[0] = kTable;
12676}
12678 ::google::protobuf::internal::TSanWrite(&_impl_);
12679 if (constraint_case() == kTable) {
12680 if (GetArena() == nullptr) {
12681 delete _impl_.constraint_.table_;
12682 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12683 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.table_);
12684 }
12685 clear_has_constraint();
12686 }
12687}
12688inline ::operations_research::sat::TableConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_table() {
12689 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
12690 if (constraint_case() == kTable) {
12691 clear_has_constraint();
12692 auto* temp = reinterpret_cast<::operations_research::sat::TableConstraintProto*>(_impl_.constraint_.table_);
12693 if (GetArena() != nullptr) {
12694 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12695 }
12696 _impl_.constraint_.table_ = nullptr;
12697 return temp;
12698 } else {
12699 return nullptr;
12700 }
12701}
12702inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
12703 return constraint_case() == kTable ? static_cast<const ::operations_research::sat::TableConstraintProto&>(*reinterpret_cast<::operations_research::sat::TableConstraintProto*>(_impl_.constraint_.table_))
12704 : reinterpret_cast<const ::operations_research::sat::TableConstraintProto&>(::operations_research::sat::_TableConstraintProto_default_instance_);
12705}
12706inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12707 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
12708 return _internal_table();
12709}
12710inline ::operations_research::sat::TableConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_table() {
12711 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
12712 if (constraint_case() == kTable) {
12713 clear_has_constraint();
12714 auto* temp = reinterpret_cast<::operations_research::sat::TableConstraintProto*>(_impl_.constraint_.table_);
12715 _impl_.constraint_.table_ = nullptr;
12716 return temp;
12717 } else {
12718 return nullptr;
12719 }
12720}
12722 ::operations_research::sat::TableConstraintProto* PROTOBUF_NULLABLE value) {
12723 // We rely on the oneof clear method to free the earlier contents
12724 // of this oneof. We can directly use the pointer we're given to
12725 // set the new value.
12727 if (value) {
12728 set_has_table();
12729 _impl_.constraint_.table_ = reinterpret_cast<::google::protobuf::Message*>(value);
12731 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
12732}
12733inline ::operations_research::sat::TableConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_table() {
12734 if (constraint_case() != kTable) {
12736 set_has_table();
12737 _impl_.constraint_.table_ = reinterpret_cast<::google::protobuf::Message*>(
12738 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::TableConstraintProto>(GetArena()));
12739 }
12740 return reinterpret_cast<::operations_research::sat::TableConstraintProto*>(_impl_.constraint_.table_);
12742inline ::operations_research::sat::TableConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_table()
12743 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12744 ::operations_research::sat::TableConstraintProto* _msg = _internal_mutable_table();
12745 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
12746 return _msg;
12747}
12748
12749// .operations_research.sat.AutomatonConstraintProto automaton = 17;
12750inline bool ConstraintProto::has_automaton() const {
12751 return constraint_case() == kAutomaton;
12752}
12753inline bool ConstraintProto::_internal_has_automaton() const {
12754 return constraint_case() == kAutomaton;
12755}
12756inline void ConstraintProto::set_has_automaton() {
12757 _impl_._oneof_case_[0] = kAutomaton;
12758}
12760 ::google::protobuf::internal::TSanWrite(&_impl_);
12761 if (constraint_case() == kAutomaton) {
12762 if (GetArena() == nullptr) {
12763 delete _impl_.constraint_.automaton_;
12764 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12765 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.automaton_);
12766 }
12767 clear_has_constraint();
12768 }
12769}
12770inline ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_automaton() {
12771 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
12772 if (constraint_case() == kAutomaton) {
12773 clear_has_constraint();
12774 auto* temp = reinterpret_cast<::operations_research::sat::AutomatonConstraintProto*>(_impl_.constraint_.automaton_);
12775 if (GetArena() != nullptr) {
12776 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12777 }
12778 _impl_.constraint_.automaton_ = nullptr;
12779 return temp;
12780 } else {
12781 return nullptr;
12782 }
12783}
12784inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
12785 return constraint_case() == kAutomaton ? static_cast<const ::operations_research::sat::AutomatonConstraintProto&>(*reinterpret_cast<::operations_research::sat::AutomatonConstraintProto*>(_impl_.constraint_.automaton_))
12786 : reinterpret_cast<const ::operations_research::sat::AutomatonConstraintProto&>(::operations_research::sat::_AutomatonConstraintProto_default_instance_);
12787}
12788inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12789 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
12790 return _internal_automaton();
12791}
12792inline ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_automaton() {
12793 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
12794 if (constraint_case() == kAutomaton) {
12795 clear_has_constraint();
12796 auto* temp = reinterpret_cast<::operations_research::sat::AutomatonConstraintProto*>(_impl_.constraint_.automaton_);
12797 _impl_.constraint_.automaton_ = nullptr;
12798 return temp;
12799 } else {
12800 return nullptr;
12801 }
12802}
12805 // We rely on the oneof clear method to free the earlier contents
12806 // of this oneof. We can directly use the pointer we're given to
12807 // set the new value.
12809 if (value) {
12810 set_has_automaton();
12811 _impl_.constraint_.automaton_ = reinterpret_cast<::google::protobuf::Message*>(value);
12813 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
12814}
12815inline ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_automaton() {
12816 if (constraint_case() != kAutomaton) {
12818 set_has_automaton();
12819 _impl_.constraint_.automaton_ = reinterpret_cast<::google::protobuf::Message*>(
12820 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::AutomatonConstraintProto>(GetArena()));
12821 }
12822 return reinterpret_cast<::operations_research::sat::AutomatonConstraintProto*>(_impl_.constraint_.automaton_);
12824inline ::operations_research::sat::AutomatonConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_automaton()
12825 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12826 ::operations_research::sat::AutomatonConstraintProto* _msg = _internal_mutable_automaton();
12827 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
12828 return _msg;
12829}
12830
12831// .operations_research.sat.InverseConstraintProto inverse = 18;
12832inline bool ConstraintProto::has_inverse() const {
12833 return constraint_case() == kInverse;
12834}
12835inline bool ConstraintProto::_internal_has_inverse() const {
12836 return constraint_case() == kInverse;
12837}
12838inline void ConstraintProto::set_has_inverse() {
12839 _impl_._oneof_case_[0] = kInverse;
12840}
12842 ::google::protobuf::internal::TSanWrite(&_impl_);
12843 if (constraint_case() == kInverse) {
12844 if (GetArena() == nullptr) {
12845 delete _impl_.constraint_.inverse_;
12846 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12847 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.inverse_);
12848 }
12849 clear_has_constraint();
12850 }
12851}
12852inline ::operations_research::sat::InverseConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_inverse() {
12853 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
12854 if (constraint_case() == kInverse) {
12855 clear_has_constraint();
12856 auto* temp = reinterpret_cast<::operations_research::sat::InverseConstraintProto*>(_impl_.constraint_.inverse_);
12857 if (GetArena() != nullptr) {
12858 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12859 }
12860 _impl_.constraint_.inverse_ = nullptr;
12861 return temp;
12862 } else {
12863 return nullptr;
12864 }
12865}
12866inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
12867 return constraint_case() == kInverse ? static_cast<const ::operations_research::sat::InverseConstraintProto&>(*reinterpret_cast<::operations_research::sat::InverseConstraintProto*>(_impl_.constraint_.inverse_))
12868 : reinterpret_cast<const ::operations_research::sat::InverseConstraintProto&>(::operations_research::sat::_InverseConstraintProto_default_instance_);
12869}
12870inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12871 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
12872 return _internal_inverse();
12873}
12874inline ::operations_research::sat::InverseConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_inverse() {
12875 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
12876 if (constraint_case() == kInverse) {
12877 clear_has_constraint();
12878 auto* temp = reinterpret_cast<::operations_research::sat::InverseConstraintProto*>(_impl_.constraint_.inverse_);
12879 _impl_.constraint_.inverse_ = nullptr;
12880 return temp;
12881 } else {
12882 return nullptr;
12883 }
12884}
12886 ::operations_research::sat::InverseConstraintProto* PROTOBUF_NULLABLE value) {
12887 // We rely on the oneof clear method to free the earlier contents
12888 // of this oneof. We can directly use the pointer we're given to
12889 // set the new value.
12891 if (value) {
12892 set_has_inverse();
12893 _impl_.constraint_.inverse_ = reinterpret_cast<::google::protobuf::Message*>(value);
12895 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
12896}
12897inline ::operations_research::sat::InverseConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_inverse() {
12898 if (constraint_case() != kInverse) {
12900 set_has_inverse();
12901 _impl_.constraint_.inverse_ = reinterpret_cast<::google::protobuf::Message*>(
12902 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::InverseConstraintProto>(GetArena()));
12903 }
12904 return reinterpret_cast<::operations_research::sat::InverseConstraintProto*>(_impl_.constraint_.inverse_);
12906inline ::operations_research::sat::InverseConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_inverse()
12907 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12908 ::operations_research::sat::InverseConstraintProto* _msg = _internal_mutable_inverse();
12909 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
12910 return _msg;
12911}
12912
12913// .operations_research.sat.ReservoirConstraintProto reservoir = 24;
12914inline bool ConstraintProto::has_reservoir() const {
12915 return constraint_case() == kReservoir;
12916}
12917inline bool ConstraintProto::_internal_has_reservoir() const {
12918 return constraint_case() == kReservoir;
12919}
12920inline void ConstraintProto::set_has_reservoir() {
12921 _impl_._oneof_case_[0] = kReservoir;
12922}
12924 ::google::protobuf::internal::TSanWrite(&_impl_);
12925 if (constraint_case() == kReservoir) {
12926 if (GetArena() == nullptr) {
12927 delete _impl_.constraint_.reservoir_;
12928 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
12929 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.reservoir_);
12930 }
12931 clear_has_constraint();
12932 }
12933}
12934inline ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_reservoir() {
12935 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
12936 if (constraint_case() == kReservoir) {
12937 clear_has_constraint();
12938 auto* temp = reinterpret_cast<::operations_research::sat::ReservoirConstraintProto*>(_impl_.constraint_.reservoir_);
12939 if (GetArena() != nullptr) {
12940 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
12941 }
12942 _impl_.constraint_.reservoir_ = nullptr;
12943 return temp;
12944 } else {
12945 return nullptr;
12946 }
12947}
12948inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
12949 return constraint_case() == kReservoir ? static_cast<const ::operations_research::sat::ReservoirConstraintProto&>(*reinterpret_cast<::operations_research::sat::ReservoirConstraintProto*>(_impl_.constraint_.reservoir_))
12950 : reinterpret_cast<const ::operations_research::sat::ReservoirConstraintProto&>(::operations_research::sat::_ReservoirConstraintProto_default_instance_);
12951}
12952inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12953 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
12954 return _internal_reservoir();
12955}
12956inline ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_reservoir() {
12957 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
12958 if (constraint_case() == kReservoir) {
12959 clear_has_constraint();
12960 auto* temp = reinterpret_cast<::operations_research::sat::ReservoirConstraintProto*>(_impl_.constraint_.reservoir_);
12961 _impl_.constraint_.reservoir_ = nullptr;
12962 return temp;
12963 } else {
12964 return nullptr;
12965 }
12966}
12969 // We rely on the oneof clear method to free the earlier contents
12970 // of this oneof. We can directly use the pointer we're given to
12971 // set the new value.
12973 if (value) {
12974 set_has_reservoir();
12975 _impl_.constraint_.reservoir_ = reinterpret_cast<::google::protobuf::Message*>(value);
12977 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
12978}
12979inline ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_reservoir() {
12980 if (constraint_case() != kReservoir) {
12982 set_has_reservoir();
12983 _impl_.constraint_.reservoir_ = reinterpret_cast<::google::protobuf::Message*>(
12984 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::ReservoirConstraintProto>(GetArena()));
12985 }
12986 return reinterpret_cast<::operations_research::sat::ReservoirConstraintProto*>(_impl_.constraint_.reservoir_);
12988inline ::operations_research::sat::ReservoirConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_reservoir()
12989 ABSL_ATTRIBUTE_LIFETIME_BOUND {
12990 ::operations_research::sat::ReservoirConstraintProto* _msg = _internal_mutable_reservoir();
12991 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
12992 return _msg;
12993}
12994
12995// .operations_research.sat.IntervalConstraintProto interval = 19;
12996inline bool ConstraintProto::has_interval() const {
12997 return constraint_case() == kInterval;
12998}
12999inline bool ConstraintProto::_internal_has_interval() const {
13000 return constraint_case() == kInterval;
13001}
13002inline void ConstraintProto::set_has_interval() {
13003 _impl_._oneof_case_[0] = kInterval;
13004}
13006 ::google::protobuf::internal::TSanWrite(&_impl_);
13007 if (constraint_case() == kInterval) {
13008 if (GetArena() == nullptr) {
13009 delete _impl_.constraint_.interval_;
13010 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
13011 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.interval_);
13012 }
13013 clear_has_constraint();
13014 }
13015}
13016inline ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_interval() {
13017 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
13018 if (constraint_case() == kInterval) {
13019 clear_has_constraint();
13020 auto* temp = reinterpret_cast<::operations_research::sat::IntervalConstraintProto*>(_impl_.constraint_.interval_);
13021 if (GetArena() != nullptr) {
13022 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
13023 }
13024 _impl_.constraint_.interval_ = nullptr;
13025 return temp;
13026 } else {
13027 return nullptr;
13028 }
13029}
13030inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
13031 return constraint_case() == kInterval ? static_cast<const ::operations_research::sat::IntervalConstraintProto&>(*reinterpret_cast<::operations_research::sat::IntervalConstraintProto*>(_impl_.constraint_.interval_))
13032 : reinterpret_cast<const ::operations_research::sat::IntervalConstraintProto&>(::operations_research::sat::_IntervalConstraintProto_default_instance_);
13033}
13034inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13035 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
13036 return _internal_interval();
13037}
13038inline ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_interval() {
13039 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
13040 if (constraint_case() == kInterval) {
13041 clear_has_constraint();
13042 auto* temp = reinterpret_cast<::operations_research::sat::IntervalConstraintProto*>(_impl_.constraint_.interval_);
13043 _impl_.constraint_.interval_ = nullptr;
13044 return temp;
13045 } else {
13046 return nullptr;
13047 }
13048}
13050 ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NULLABLE value) {
13051 // We rely on the oneof clear method to free the earlier contents
13052 // of this oneof. We can directly use the pointer we're given to
13053 // set the new value.
13055 if (value) {
13056 set_has_interval();
13057 _impl_.constraint_.interval_ = reinterpret_cast<::google::protobuf::Message*>(value);
13059 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
13060}
13061inline ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_interval() {
13062 if (constraint_case() != kInterval) {
13064 set_has_interval();
13065 _impl_.constraint_.interval_ = reinterpret_cast<::google::protobuf::Message*>(
13066 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::IntervalConstraintProto>(GetArena()));
13067 }
13068 return reinterpret_cast<::operations_research::sat::IntervalConstraintProto*>(_impl_.constraint_.interval_);
13070inline ::operations_research::sat::IntervalConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_interval()
13071 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13072 ::operations_research::sat::IntervalConstraintProto* _msg = _internal_mutable_interval();
13073 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
13074 return _msg;
13075}
13076
13077// .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
13078inline bool ConstraintProto::has_no_overlap() const {
13079 return constraint_case() == kNoOverlap;
13080}
13081inline bool ConstraintProto::_internal_has_no_overlap() const {
13082 return constraint_case() == kNoOverlap;
13083}
13084inline void ConstraintProto::set_has_no_overlap() {
13085 _impl_._oneof_case_[0] = kNoOverlap;
13086}
13088 ::google::protobuf::internal::TSanWrite(&_impl_);
13089 if (constraint_case() == kNoOverlap) {
13090 if (GetArena() == nullptr) {
13091 delete _impl_.constraint_.no_overlap_;
13092 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
13093 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.no_overlap_);
13094 }
13095 clear_has_constraint();
13096 }
13097}
13098inline ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_no_overlap() {
13099 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
13100 if (constraint_case() == kNoOverlap) {
13101 clear_has_constraint();
13102 auto* temp = reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto*>(_impl_.constraint_.no_overlap_);
13103 if (GetArena() != nullptr) {
13104 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
13105 }
13106 _impl_.constraint_.no_overlap_ = nullptr;
13107 return temp;
13108 } else {
13109 return nullptr;
13110 }
13111}
13112inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
13113 return constraint_case() == kNoOverlap ? static_cast<const ::operations_research::sat::NoOverlapConstraintProto&>(*reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto*>(_impl_.constraint_.no_overlap_))
13114 : reinterpret_cast<const ::operations_research::sat::NoOverlapConstraintProto&>(::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
13115}
13116inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13117 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
13118 return _internal_no_overlap();
13119}
13120inline ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_no_overlap() {
13121 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
13122 if (constraint_case() == kNoOverlap) {
13123 clear_has_constraint();
13124 auto* temp = reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto*>(_impl_.constraint_.no_overlap_);
13125 _impl_.constraint_.no_overlap_ = nullptr;
13126 return temp;
13127 } else {
13128 return nullptr;
13129 }
13130}
13133 // We rely on the oneof clear method to free the earlier contents
13134 // of this oneof. We can directly use the pointer we're given to
13135 // set the new value.
13137 if (value) {
13138 set_has_no_overlap();
13139 _impl_.constraint_.no_overlap_ = reinterpret_cast<::google::protobuf::Message*>(value);
13141 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
13142}
13143inline ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_no_overlap() {
13144 if (constraint_case() != kNoOverlap) {
13146 set_has_no_overlap();
13147 _impl_.constraint_.no_overlap_ = reinterpret_cast<::google::protobuf::Message*>(
13148 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::NoOverlapConstraintProto>(GetArena()));
13149 }
13150 return reinterpret_cast<::operations_research::sat::NoOverlapConstraintProto*>(_impl_.constraint_.no_overlap_);
13152inline ::operations_research::sat::NoOverlapConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_no_overlap()
13153 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13154 ::operations_research::sat::NoOverlapConstraintProto* _msg = _internal_mutable_no_overlap();
13155 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
13156 return _msg;
13157}
13158
13159// .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
13160inline bool ConstraintProto::has_no_overlap_2d() const {
13161 return constraint_case() == kNoOverlap2D;
13162}
13163inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
13164 return constraint_case() == kNoOverlap2D;
13165}
13166inline void ConstraintProto::set_has_no_overlap_2d() {
13167 _impl_._oneof_case_[0] = kNoOverlap2D;
13168}
13170 ::google::protobuf::internal::TSanWrite(&_impl_);
13171 if (constraint_case() == kNoOverlap2D) {
13172 if (GetArena() == nullptr) {
13173 delete _impl_.constraint_.no_overlap_2d_;
13174 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
13175 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.no_overlap_2d_);
13176 }
13177 clear_has_constraint();
13178 }
13179}
13180inline ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_no_overlap_2d() {
13181 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
13182 if (constraint_case() == kNoOverlap2D) {
13183 clear_has_constraint();
13184 auto* temp = reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto*>(_impl_.constraint_.no_overlap_2d_);
13185 if (GetArena() != nullptr) {
13186 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
13187 }
13188 _impl_.constraint_.no_overlap_2d_ = nullptr;
13189 return temp;
13190 } else {
13191 return nullptr;
13192 }
13193}
13194inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
13195 return constraint_case() == kNoOverlap2D ? static_cast<const ::operations_research::sat::NoOverlap2DConstraintProto&>(*reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto*>(_impl_.constraint_.no_overlap_2d_))
13196 : reinterpret_cast<const ::operations_research::sat::NoOverlap2DConstraintProto&>(::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
13197}
13198inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13199 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
13200 return _internal_no_overlap_2d();
13201}
13202inline ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_no_overlap_2d() {
13203 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
13204 if (constraint_case() == kNoOverlap2D) {
13205 clear_has_constraint();
13206 auto* temp = reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto*>(_impl_.constraint_.no_overlap_2d_);
13207 _impl_.constraint_.no_overlap_2d_ = nullptr;
13208 return temp;
13209 } else {
13210 return nullptr;
13211 }
13212}
13215 // We rely on the oneof clear method to free the earlier contents
13216 // of this oneof. We can directly use the pointer we're given to
13217 // set the new value.
13219 if (value) {
13220 set_has_no_overlap_2d();
13221 _impl_.constraint_.no_overlap_2d_ = reinterpret_cast<::google::protobuf::Message*>(value);
13223 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
13224}
13225inline ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_no_overlap_2d() {
13226 if (constraint_case() != kNoOverlap2D) {
13228 set_has_no_overlap_2d();
13229 _impl_.constraint_.no_overlap_2d_ = reinterpret_cast<::google::protobuf::Message*>(
13230 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::NoOverlap2DConstraintProto>(GetArena()));
13231 }
13232 return reinterpret_cast<::operations_research::sat::NoOverlap2DConstraintProto*>(_impl_.constraint_.no_overlap_2d_);
13234inline ::operations_research::sat::NoOverlap2DConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_no_overlap_2d()
13235 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13236 ::operations_research::sat::NoOverlap2DConstraintProto* _msg = _internal_mutable_no_overlap_2d();
13237 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
13238 return _msg;
13239}
13240
13241// .operations_research.sat.CumulativeConstraintProto cumulative = 22;
13242inline bool ConstraintProto::has_cumulative() const {
13243 return constraint_case() == kCumulative;
13244}
13245inline bool ConstraintProto::_internal_has_cumulative() const {
13246 return constraint_case() == kCumulative;
13247}
13248inline void ConstraintProto::set_has_cumulative() {
13249 _impl_._oneof_case_[0] = kCumulative;
13250}
13252 ::google::protobuf::internal::TSanWrite(&_impl_);
13253 if (constraint_case() == kCumulative) {
13254 if (GetArena() == nullptr) {
13255 delete _impl_.constraint_.cumulative_;
13256 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
13257 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.cumulative_);
13258 }
13259 clear_has_constraint();
13260 }
13261}
13262inline ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NULLABLE ConstraintProto::release_cumulative() {
13263 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
13264 if (constraint_case() == kCumulative) {
13265 clear_has_constraint();
13266 auto* temp = reinterpret_cast<::operations_research::sat::CumulativeConstraintProto*>(_impl_.constraint_.cumulative_);
13267 if (GetArena() != nullptr) {
13268 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
13269 }
13270 _impl_.constraint_.cumulative_ = nullptr;
13271 return temp;
13272 } else {
13273 return nullptr;
13274 }
13275}
13276inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
13277 return constraint_case() == kCumulative ? static_cast<const ::operations_research::sat::CumulativeConstraintProto&>(*reinterpret_cast<::operations_research::sat::CumulativeConstraintProto*>(_impl_.constraint_.cumulative_))
13278 : reinterpret_cast<const ::operations_research::sat::CumulativeConstraintProto&>(::operations_research::sat::_CumulativeConstraintProto_default_instance_);
13279}
13280inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13281 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
13282 return _internal_cumulative();
13283}
13284inline ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_cumulative() {
13285 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
13286 if (constraint_case() == kCumulative) {
13287 clear_has_constraint();
13288 auto* temp = reinterpret_cast<::operations_research::sat::CumulativeConstraintProto*>(_impl_.constraint_.cumulative_);
13289 _impl_.constraint_.cumulative_ = nullptr;
13290 return temp;
13291 } else {
13292 return nullptr;
13293 }
13294}
13297 // We rely on the oneof clear method to free the earlier contents
13298 // of this oneof. We can directly use the pointer we're given to
13299 // set the new value.
13301 if (value) {
13302 set_has_cumulative();
13303 _impl_.constraint_.cumulative_ = reinterpret_cast<::google::protobuf::Message*>(value);
13305 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
13306}
13307inline ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_cumulative() {
13308 if (constraint_case() != kCumulative) {
13310 set_has_cumulative();
13311 _impl_.constraint_.cumulative_ = reinterpret_cast<::google::protobuf::Message*>(
13312 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::CumulativeConstraintProto>(GetArena()));
13313 }
13314 return reinterpret_cast<::operations_research::sat::CumulativeConstraintProto*>(_impl_.constraint_.cumulative_);
13316inline ::operations_research::sat::CumulativeConstraintProto* PROTOBUF_NONNULL ConstraintProto::mutable_cumulative()
13317 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13318 ::operations_research::sat::CumulativeConstraintProto* _msg = _internal_mutable_cumulative();
13319 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
13320 return _msg;
13321}
13322
13323// .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
13324inline bool ConstraintProto::has_dummy_constraint() const {
13326}
13327inline bool ConstraintProto::_internal_has_dummy_constraint() const {
13329}
13330inline void ConstraintProto::set_has_dummy_constraint() {
13331 _impl_._oneof_case_[0] = kDummyConstraint;
13332}
13334 ::google::protobuf::internal::TSanWrite(&_impl_);
13336 if (GetArena() == nullptr) {
13337 delete _impl_.constraint_.dummy_constraint_;
13338 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
13339 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.dummy_constraint_);
13340 }
13341 clear_has_constraint();
13342 }
13343}
13344inline ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NULLABLE ConstraintProto::release_dummy_constraint() {
13345 // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.dummy_constraint)
13347 clear_has_constraint();
13348 auto* temp = reinterpret_cast<::operations_research::sat::ListOfVariablesProto*>(_impl_.constraint_.dummy_constraint_);
13349 if (GetArena() != nullptr) {
13350 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
13351 }
13352 _impl_.constraint_.dummy_constraint_ = nullptr;
13353 return temp;
13354 } else {
13355 return nullptr;
13356 }
13357}
13358inline const ::operations_research::sat::ListOfVariablesProto& ConstraintProto::_internal_dummy_constraint() const {
13359 return constraint_case() == kDummyConstraint ? static_cast<const ::operations_research::sat::ListOfVariablesProto&>(*reinterpret_cast<::operations_research::sat::ListOfVariablesProto*>(_impl_.constraint_.dummy_constraint_))
13360 : reinterpret_cast<const ::operations_research::sat::ListOfVariablesProto&>(::operations_research::sat::_ListOfVariablesProto_default_instance_);
13361}
13362inline const ::operations_research::sat::ListOfVariablesProto& ConstraintProto::dummy_constraint() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13363 // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.dummy_constraint)
13364 return _internal_dummy_constraint();
13365}
13366inline ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NULLABLE ConstraintProto::unsafe_arena_release_dummy_constraint() {
13367 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.dummy_constraint)
13369 clear_has_constraint();
13370 auto* temp = reinterpret_cast<::operations_research::sat::ListOfVariablesProto*>(_impl_.constraint_.dummy_constraint_);
13371 _impl_.constraint_.dummy_constraint_ = nullptr;
13372 return temp;
13373 } else {
13374 return nullptr;
13375 }
13376}
13378 ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NULLABLE value) {
13379 // We rely on the oneof clear method to free the earlier contents
13380 // of this oneof. We can directly use the pointer we're given to
13381 // set the new value.
13383 if (value) {
13384 set_has_dummy_constraint();
13385 _impl_.constraint_.dummy_constraint_ = reinterpret_cast<::google::protobuf::Message*>(value);
13387 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.dummy_constraint)
13388}
13389inline ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NONNULL ConstraintProto::_internal_mutable_dummy_constraint() {
13392 set_has_dummy_constraint();
13393 _impl_.constraint_.dummy_constraint_ = reinterpret_cast<::google::protobuf::Message*>(
13394 ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::ListOfVariablesProto>(GetArena()));
13395 }
13396 return reinterpret_cast<::operations_research::sat::ListOfVariablesProto*>(_impl_.constraint_.dummy_constraint_);
13398inline ::operations_research::sat::ListOfVariablesProto* PROTOBUF_NONNULL ConstraintProto::mutable_dummy_constraint()
13399 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13400 ::operations_research::sat::ListOfVariablesProto* _msg = _internal_mutable_dummy_constraint();
13401 // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.dummy_constraint)
13402 return _msg;
13403}
13404
13405inline bool ConstraintProto::has_constraint() const {
13407}
13408inline void ConstraintProto::clear_has_constraint() {
13409 _impl_._oneof_case_[0] = CONSTRAINT_NOT_SET;
13410}
13412 return ConstraintProto::ConstraintCase(_impl_._oneof_case_[0]);
13413}
13414// -------------------------------------------------------------------
13416// CpObjectiveProto
13417
13418// repeated int32 vars = 1;
13419inline int CpObjectiveProto::_internal_vars_size() const {
13420 return _internal_vars().size();
13421}
13422inline int CpObjectiveProto::vars_size() const {
13423 return _internal_vars_size();
13424}
13425inline void CpObjectiveProto::clear_vars() {
13426 ::google::protobuf::internal::TSanWrite(&_impl_);
13427 _impl_.vars_.Clear();
13428 ClearHasBitForRepeated(_impl_._has_bits_[0],
13429 0x00000001U);
13431inline ::int32_t CpObjectiveProto::vars(int index) const {
13432 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
13433 return _internal_vars().Get(index);
13434}
13435inline void CpObjectiveProto::set_vars(int index, ::int32_t value) {
13436 _internal_mutable_vars()->Set(index, value);
13437 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
13438}
13439inline void CpObjectiveProto::add_vars(::int32_t value) {
13440 ::google::protobuf::internal::TSanWrite(&_impl_);
13441 _internal_mutable_vars()->Add(value);
13442 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
13443 // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
13444}
13445inline const ::google::protobuf::RepeatedField<::int32_t>& CpObjectiveProto::vars() const
13446 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13447 // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
13448 return _internal_vars();
13449}
13450inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CpObjectiveProto::mutable_vars()
13451 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13452 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
13453 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
13454 ::google::protobuf::internal::TSanWrite(&_impl_);
13455 return _internal_mutable_vars();
13456}
13457inline const ::google::protobuf::RepeatedField<::int32_t>&
13458CpObjectiveProto::_internal_vars() const {
13459 ::google::protobuf::internal::TSanRead(&_impl_);
13460 return _impl_.vars_;
13461}
13462inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13463CpObjectiveProto::_internal_mutable_vars() {
13464 ::google::protobuf::internal::TSanRead(&_impl_);
13465 return &_impl_.vars_;
13466}
13467
13468// repeated int64 coeffs = 4;
13469inline int CpObjectiveProto::_internal_coeffs_size() const {
13470 return _internal_coeffs().size();
13471}
13472inline int CpObjectiveProto::coeffs_size() const {
13473 return _internal_coeffs_size();
13474}
13475inline void CpObjectiveProto::clear_coeffs() {
13476 ::google::protobuf::internal::TSanWrite(&_impl_);
13477 _impl_.coeffs_.Clear();
13478 ClearHasBitForRepeated(_impl_._has_bits_[0],
13479 0x00000002U);
13480}
13481inline ::int64_t CpObjectiveProto::coeffs(int index) const {
13482 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
13483 return _internal_coeffs().Get(index);
13484}
13485inline void CpObjectiveProto::set_coeffs(int index, ::int64_t value) {
13486 _internal_mutable_coeffs()->Set(index, value);
13487 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
13488}
13489inline void CpObjectiveProto::add_coeffs(::int64_t value) {
13490 ::google::protobuf::internal::TSanWrite(&_impl_);
13491 _internal_mutable_coeffs()->Add(value);
13492 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
13493 // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
13494}
13495inline const ::google::protobuf::RepeatedField<::int64_t>& CpObjectiveProto::coeffs() const
13496 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13497 // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
13498 return _internal_coeffs();
13500inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL CpObjectiveProto::mutable_coeffs()
13501 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13502 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
13503 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
13504 ::google::protobuf::internal::TSanWrite(&_impl_);
13505 return _internal_mutable_coeffs();
13506}
13507inline const ::google::protobuf::RepeatedField<::int64_t>&
13508CpObjectiveProto::_internal_coeffs() const {
13509 ::google::protobuf::internal::TSanRead(&_impl_);
13510 return _impl_.coeffs_;
13511}
13512inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
13513CpObjectiveProto::_internal_mutable_coeffs() {
13514 ::google::protobuf::internal::TSanRead(&_impl_);
13515 return &_impl_.coeffs_;
13516}
13517
13518// double offset = 2;
13519inline void CpObjectiveProto::clear_offset() {
13520 ::google::protobuf::internal::TSanWrite(&_impl_);
13521 _impl_.offset_ = 0;
13522 ClearHasBit(_impl_._has_bits_[0],
13523 0x00000008U);
13524}
13525inline double CpObjectiveProto::offset() const {
13526 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
13527 return _internal_offset();
13528}
13529inline void CpObjectiveProto::set_offset(double value) {
13530 _internal_set_offset(value);
13531 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
13532 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
13533}
13534inline double CpObjectiveProto::_internal_offset() const {
13535 ::google::protobuf::internal::TSanRead(&_impl_);
13536 return _impl_.offset_;
13537}
13538inline void CpObjectiveProto::_internal_set_offset(double value) {
13539 ::google::protobuf::internal::TSanWrite(&_impl_);
13540 _impl_.offset_ = value;
13541}
13542
13543// double scaling_factor = 3;
13545 ::google::protobuf::internal::TSanWrite(&_impl_);
13546 _impl_.scaling_factor_ = 0;
13547 ClearHasBit(_impl_._has_bits_[0],
13548 0x00000010U);
13550inline double CpObjectiveProto::scaling_factor() const {
13551 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
13552 return _internal_scaling_factor();
13553}
13554inline void CpObjectiveProto::set_scaling_factor(double value) {
13555 _internal_set_scaling_factor(value);
13556 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
13557 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
13558}
13559inline double CpObjectiveProto::_internal_scaling_factor() const {
13560 ::google::protobuf::internal::TSanRead(&_impl_);
13561 return _impl_.scaling_factor_;
13562}
13563inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
13564 ::google::protobuf::internal::TSanWrite(&_impl_);
13565 _impl_.scaling_factor_ = value;
13566}
13567
13568// repeated int64 domain = 5;
13569inline int CpObjectiveProto::_internal_domain_size() const {
13570 return _internal_domain().size();
13571}
13572inline int CpObjectiveProto::domain_size() const {
13573 return _internal_domain_size();
13574}
13575inline void CpObjectiveProto::clear_domain() {
13576 ::google::protobuf::internal::TSanWrite(&_impl_);
13577 _impl_.domain_.Clear();
13578 ClearHasBitForRepeated(_impl_._has_bits_[0],
13579 0x00000004U);
13580}
13581inline ::int64_t CpObjectiveProto::domain(int index) const {
13582 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
13583 return _internal_domain().Get(index);
13584}
13585inline void CpObjectiveProto::set_domain(int index, ::int64_t value) {
13586 _internal_mutable_domain()->Set(index, value);
13587 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
13588}
13589inline void CpObjectiveProto::add_domain(::int64_t value) {
13590 ::google::protobuf::internal::TSanWrite(&_impl_);
13591 _internal_mutable_domain()->Add(value);
13592 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
13593 // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
13594}
13595inline const ::google::protobuf::RepeatedField<::int64_t>& CpObjectiveProto::domain() const
13596 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13597 // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
13598 return _internal_domain();
13599}
13600inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL CpObjectiveProto::mutable_domain()
13601 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13602 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
13603 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
13604 ::google::protobuf::internal::TSanWrite(&_impl_);
13605 return _internal_mutable_domain();
13606}
13607inline const ::google::protobuf::RepeatedField<::int64_t>&
13608CpObjectiveProto::_internal_domain() const {
13609 ::google::protobuf::internal::TSanRead(&_impl_);
13610 return _impl_.domain_;
13611}
13612inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
13613CpObjectiveProto::_internal_mutable_domain() {
13614 ::google::protobuf::internal::TSanRead(&_impl_);
13615 return &_impl_.domain_;
13616}
13617
13618// bool scaling_was_exact = 6;
13620 ::google::protobuf::internal::TSanWrite(&_impl_);
13621 _impl_.scaling_was_exact_ = false;
13622 ClearHasBit(_impl_._has_bits_[0],
13623 0x00000100U);
13624}
13625inline bool CpObjectiveProto::scaling_was_exact() const {
13626 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_was_exact)
13627 return _internal_scaling_was_exact();
13628}
13630 _internal_set_scaling_was_exact(value);
13631 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
13632 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_was_exact)
13633}
13634inline bool CpObjectiveProto::_internal_scaling_was_exact() const {
13635 ::google::protobuf::internal::TSanRead(&_impl_);
13636 return _impl_.scaling_was_exact_;
13637}
13638inline void CpObjectiveProto::_internal_set_scaling_was_exact(bool value) {
13639 ::google::protobuf::internal::TSanWrite(&_impl_);
13640 _impl_.scaling_was_exact_ = value;
13641}
13642
13643// int64 integer_before_offset = 7;
13645 ::google::protobuf::internal::TSanWrite(&_impl_);
13646 _impl_.integer_before_offset_ = ::int64_t{0};
13647 ClearHasBit(_impl_._has_bits_[0],
13648 0x00000020U);
13650inline ::int64_t CpObjectiveProto::integer_before_offset() const {
13651 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.integer_before_offset)
13652 return _internal_integer_before_offset();
13653}
13655 _internal_set_integer_before_offset(value);
13656 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
13657 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.integer_before_offset)
13658}
13659inline ::int64_t CpObjectiveProto::_internal_integer_before_offset() const {
13660 ::google::protobuf::internal::TSanRead(&_impl_);
13661 return _impl_.integer_before_offset_;
13662}
13663inline void CpObjectiveProto::_internal_set_integer_before_offset(::int64_t value) {
13664 ::google::protobuf::internal::TSanWrite(&_impl_);
13665 _impl_.integer_before_offset_ = value;
13666}
13667
13668// int64 integer_after_offset = 9;
13670 ::google::protobuf::internal::TSanWrite(&_impl_);
13671 _impl_.integer_after_offset_ = ::int64_t{0};
13672 ClearHasBit(_impl_._has_bits_[0],
13673 0x00000080U);
13674}
13675inline ::int64_t CpObjectiveProto::integer_after_offset() const {
13676 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.integer_after_offset)
13677 return _internal_integer_after_offset();
13678}
13680 _internal_set_integer_after_offset(value);
13681 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
13682 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.integer_after_offset)
13684inline ::int64_t CpObjectiveProto::_internal_integer_after_offset() const {
13685 ::google::protobuf::internal::TSanRead(&_impl_);
13686 return _impl_.integer_after_offset_;
13687}
13688inline void CpObjectiveProto::_internal_set_integer_after_offset(::int64_t value) {
13689 ::google::protobuf::internal::TSanWrite(&_impl_);
13690 _impl_.integer_after_offset_ = value;
13691}
13692
13693// int64 integer_scaling_factor = 8;
13695 ::google::protobuf::internal::TSanWrite(&_impl_);
13696 _impl_.integer_scaling_factor_ = ::int64_t{0};
13697 ClearHasBit(_impl_._has_bits_[0],
13698 0x00000040U);
13699}
13700inline ::int64_t CpObjectiveProto::integer_scaling_factor() const {
13701 // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.integer_scaling_factor)
13702 return _internal_integer_scaling_factor();
13703}
13705 _internal_set_integer_scaling_factor(value);
13706 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
13707 // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.integer_scaling_factor)
13709inline ::int64_t CpObjectiveProto::_internal_integer_scaling_factor() const {
13710 ::google::protobuf::internal::TSanRead(&_impl_);
13711 return _impl_.integer_scaling_factor_;
13712}
13713inline void CpObjectiveProto::_internal_set_integer_scaling_factor(::int64_t value) {
13714 ::google::protobuf::internal::TSanWrite(&_impl_);
13715 _impl_.integer_scaling_factor_ = value;
13716}
13717
13718// -------------------------------------------------------------------
13719
13720// FloatObjectiveProto
13721
13722// repeated int32 vars = 1;
13723inline int FloatObjectiveProto::_internal_vars_size() const {
13724 return _internal_vars().size();
13725}
13726inline int FloatObjectiveProto::vars_size() const {
13727 return _internal_vars_size();
13728}
13730 ::google::protobuf::internal::TSanWrite(&_impl_);
13731 _impl_.vars_.Clear();
13732 ClearHasBitForRepeated(_impl_._has_bits_[0],
13733 0x00000001U);
13734}
13735inline ::int32_t FloatObjectiveProto::vars(int index) const {
13736 // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.vars)
13737 return _internal_vars().Get(index);
13738}
13739inline void FloatObjectiveProto::set_vars(int index, ::int32_t value) {
13740 _internal_mutable_vars()->Set(index, value);
13741 // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.vars)
13742}
13743inline void FloatObjectiveProto::add_vars(::int32_t value) {
13744 ::google::protobuf::internal::TSanWrite(&_impl_);
13745 _internal_mutable_vars()->Add(value);
13746 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
13747 // @@protoc_insertion_point(field_add:operations_research.sat.FloatObjectiveProto.vars)
13749inline const ::google::protobuf::RepeatedField<::int32_t>& FloatObjectiveProto::vars() const
13750 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13751 // @@protoc_insertion_point(field_list:operations_research.sat.FloatObjectiveProto.vars)
13752 return _internal_vars();
13753}
13754inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL FloatObjectiveProto::mutable_vars()
13755 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13756 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
13757 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.FloatObjectiveProto.vars)
13758 ::google::protobuf::internal::TSanWrite(&_impl_);
13759 return _internal_mutable_vars();
13760}
13761inline const ::google::protobuf::RepeatedField<::int32_t>&
13762FloatObjectiveProto::_internal_vars() const {
13763 ::google::protobuf::internal::TSanRead(&_impl_);
13764 return _impl_.vars_;
13765}
13766inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13767FloatObjectiveProto::_internal_mutable_vars() {
13768 ::google::protobuf::internal::TSanRead(&_impl_);
13769 return &_impl_.vars_;
13770}
13771
13772// repeated double coeffs = 2;
13773inline int FloatObjectiveProto::_internal_coeffs_size() const {
13774 return _internal_coeffs().size();
13775}
13776inline int FloatObjectiveProto::coeffs_size() const {
13777 return _internal_coeffs_size();
13778}
13780 ::google::protobuf::internal::TSanWrite(&_impl_);
13781 _impl_.coeffs_.Clear();
13782 ClearHasBitForRepeated(_impl_._has_bits_[0],
13783 0x00000002U);
13785inline double FloatObjectiveProto::coeffs(int index) const {
13786 // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.coeffs)
13787 return _internal_coeffs().Get(index);
13788}
13789inline void FloatObjectiveProto::set_coeffs(int index, double value) {
13790 _internal_mutable_coeffs()->Set(index, value);
13791 // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.coeffs)
13792}
13793inline void FloatObjectiveProto::add_coeffs(double value) {
13794 ::google::protobuf::internal::TSanWrite(&_impl_);
13795 _internal_mutable_coeffs()->Add(value);
13796 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
13797 // @@protoc_insertion_point(field_add:operations_research.sat.FloatObjectiveProto.coeffs)
13799inline const ::google::protobuf::RepeatedField<double>& FloatObjectiveProto::coeffs() const
13800 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13801 // @@protoc_insertion_point(field_list:operations_research.sat.FloatObjectiveProto.coeffs)
13802 return _internal_coeffs();
13803}
13804inline ::google::protobuf::RepeatedField<double>* PROTOBUF_NONNULL FloatObjectiveProto::mutable_coeffs()
13805 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13806 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
13807 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.FloatObjectiveProto.coeffs)
13808 ::google::protobuf::internal::TSanWrite(&_impl_);
13809 return _internal_mutable_coeffs();
13810}
13811inline const ::google::protobuf::RepeatedField<double>&
13812FloatObjectiveProto::_internal_coeffs() const {
13813 ::google::protobuf::internal::TSanRead(&_impl_);
13814 return _impl_.coeffs_;
13815}
13816inline ::google::protobuf::RepeatedField<double>* PROTOBUF_NONNULL
13817FloatObjectiveProto::_internal_mutable_coeffs() {
13818 ::google::protobuf::internal::TSanRead(&_impl_);
13819 return &_impl_.coeffs_;
13820}
13821
13822// double offset = 3;
13824 ::google::protobuf::internal::TSanWrite(&_impl_);
13825 _impl_.offset_ = 0;
13826 ClearHasBit(_impl_._has_bits_[0],
13827 0x00000004U);
13828}
13829inline double FloatObjectiveProto::offset() const {
13830 // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.offset)
13831 return _internal_offset();
13832}
13833inline void FloatObjectiveProto::set_offset(double value) {
13834 _internal_set_offset(value);
13835 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
13836 // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.offset)
13837}
13838inline double FloatObjectiveProto::_internal_offset() const {
13839 ::google::protobuf::internal::TSanRead(&_impl_);
13840 return _impl_.offset_;
13841}
13842inline void FloatObjectiveProto::_internal_set_offset(double value) {
13843 ::google::protobuf::internal::TSanWrite(&_impl_);
13844 _impl_.offset_ = value;
13845}
13846
13847// bool maximize = 4;
13849 ::google::protobuf::internal::TSanWrite(&_impl_);
13850 _impl_.maximize_ = false;
13851 ClearHasBit(_impl_._has_bits_[0],
13852 0x00000008U);
13853}
13855 // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.maximize)
13856 return _internal_maximize();
13857}
13858inline void FloatObjectiveProto::set_maximize(bool value) {
13859 _internal_set_maximize(value);
13860 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
13861 // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.maximize)
13862}
13863inline bool FloatObjectiveProto::_internal_maximize() const {
13864 ::google::protobuf::internal::TSanRead(&_impl_);
13865 return _impl_.maximize_;
13866}
13867inline void FloatObjectiveProto::_internal_set_maximize(bool value) {
13868 ::google::protobuf::internal::TSanWrite(&_impl_);
13869 _impl_.maximize_ = value;
13870}
13871
13872// -------------------------------------------------------------------
13873
13874// DecisionStrategyProto
13875
13876// repeated int32 variables = 1;
13877inline int DecisionStrategyProto::_internal_variables_size() const {
13878 return _internal_variables().size();
13879}
13880inline int DecisionStrategyProto::variables_size() const {
13881 return _internal_variables_size();
13882}
13884 ::google::protobuf::internal::TSanWrite(&_impl_);
13885 _impl_.variables_.Clear();
13886 ClearHasBitForRepeated(_impl_._has_bits_[0],
13887 0x00000001U);
13889inline ::int32_t DecisionStrategyProto::variables(int index) const {
13890 // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
13891 return _internal_variables().Get(index);
13892}
13893inline void DecisionStrategyProto::set_variables(int index, ::int32_t value) {
13894 _internal_mutable_variables()->Set(index, value);
13895 // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
13896}
13897inline void DecisionStrategyProto::add_variables(::int32_t value) {
13898 ::google::protobuf::internal::TSanWrite(&_impl_);
13899 _internal_mutable_variables()->Add(value);
13900 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
13901 // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
13902}
13903inline const ::google::protobuf::RepeatedField<::int32_t>& DecisionStrategyProto::variables() const
13904 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13905 // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
13906 return _internal_variables();
13907}
13908inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL DecisionStrategyProto::mutable_variables()
13909 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13910 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
13911 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
13912 ::google::protobuf::internal::TSanWrite(&_impl_);
13913 return _internal_mutable_variables();
13914}
13915inline const ::google::protobuf::RepeatedField<::int32_t>&
13916DecisionStrategyProto::_internal_variables() const {
13917 ::google::protobuf::internal::TSanRead(&_impl_);
13918 return _impl_.variables_;
13919}
13920inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
13921DecisionStrategyProto::_internal_mutable_variables() {
13922 ::google::protobuf::internal::TSanRead(&_impl_);
13923 return &_impl_.variables_;
13924}
13925
13926// repeated .operations_research.sat.LinearExpressionProto exprs = 5;
13927inline int DecisionStrategyProto::_internal_exprs_size() const {
13928 return _internal_exprs().size();
13929}
13930inline int DecisionStrategyProto::exprs_size() const {
13931 return _internal_exprs_size();
13932}
13934 ::google::protobuf::internal::TSanWrite(&_impl_);
13935 _impl_.exprs_.Clear();
13936 ClearHasBitForRepeated(_impl_._has_bits_[0],
13937 0x00000002U);
13938}
13939inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL DecisionStrategyProto::mutable_exprs(int index)
13940 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13941 // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.exprs)
13942 return _internal_mutable_exprs()->Mutable(index);
13943}
13944inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL DecisionStrategyProto::mutable_exprs()
13945 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13946 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
13947 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.exprs)
13948 ::google::protobuf::internal::TSanWrite(&_impl_);
13949 return _internal_mutable_exprs();
13950}
13951inline const ::operations_research::sat::LinearExpressionProto& DecisionStrategyProto::exprs(int index) const
13952 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13953 // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.exprs)
13954 return _internal_exprs().Get(index);
13955}
13956inline ::operations_research::sat::LinearExpressionProto* PROTOBUF_NONNULL DecisionStrategyProto::add_exprs()
13957 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13958 ::google::protobuf::internal::TSanWrite(&_impl_);
13960 _internal_mutable_exprs()->InternalAddWithArena(
13961 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
13962 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
13963 // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.exprs)
13964 return _add;
13965}
13966inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>& DecisionStrategyProto::exprs() const
13967 ABSL_ATTRIBUTE_LIFETIME_BOUND {
13968 // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.exprs)
13969 return _internal_exprs();
13970}
13971inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>&
13972DecisionStrategyProto::_internal_exprs() const {
13973 ::google::protobuf::internal::TSanRead(&_impl_);
13974 return _impl_.exprs_;
13975}
13976inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto>* PROTOBUF_NONNULL
13977DecisionStrategyProto::_internal_mutable_exprs() {
13978 ::google::protobuf::internal::TSanRead(&_impl_);
13979 return &_impl_.exprs_;
13980}
13981
13982// .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
13984 ::google::protobuf::internal::TSanWrite(&_impl_);
13985 _impl_.variable_selection_strategy_ = 0;
13986 ClearHasBit(_impl_._has_bits_[0],
13987 0x00000004U);
13988}
13989inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::variable_selection_strategy() const {
13990 // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
13991 return _internal_variable_selection_strategy();
13992}
13994 _internal_set_variable_selection_strategy(value);
13995 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
13996 // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
13997}
13998inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
13999 ::google::protobuf::internal::TSanRead(&_impl_);
14001}
14002inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
14003 ::google::protobuf::internal::TSanWrite(&_impl_);
14004 _impl_.variable_selection_strategy_ = value;
14005}
14006
14007// .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
14009 ::google::protobuf::internal::TSanWrite(&_impl_);
14010 _impl_.domain_reduction_strategy_ = 0;
14011 ClearHasBit(_impl_._has_bits_[0],
14012 0x00000008U);
14013}
14014inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::domain_reduction_strategy() const {
14015 // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
14016 return _internal_domain_reduction_strategy();
14017}
14019 _internal_set_domain_reduction_strategy(value);
14020 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
14021 // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
14023inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
14024 ::google::protobuf::internal::TSanRead(&_impl_);
14025 return static_cast<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>(_impl_.domain_reduction_strategy_);
14026}
14027inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
14028 ::google::protobuf::internal::TSanWrite(&_impl_);
14029 _impl_.domain_reduction_strategy_ = value;
14030}
14031
14032// -------------------------------------------------------------------
14033
14034// PartialVariableAssignment
14035
14036// repeated int32 vars = 1;
14037inline int PartialVariableAssignment::_internal_vars_size() const {
14038 return _internal_vars().size();
14040inline int PartialVariableAssignment::vars_size() const {
14041 return _internal_vars_size();
14042}
14044 ::google::protobuf::internal::TSanWrite(&_impl_);
14045 _impl_.vars_.Clear();
14046 ClearHasBitForRepeated(_impl_._has_bits_[0],
14047 0x00000001U);
14048}
14049inline ::int32_t PartialVariableAssignment::vars(int index) const {
14050 // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
14051 return _internal_vars().Get(index);
14052}
14053inline void PartialVariableAssignment::set_vars(int index, ::int32_t value) {
14054 _internal_mutable_vars()->Set(index, value);
14055 // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
14056}
14057inline void PartialVariableAssignment::add_vars(::int32_t value) {
14058 ::google::protobuf::internal::TSanWrite(&_impl_);
14059 _internal_mutable_vars()->Add(value);
14060 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14061 // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
14062}
14063inline const ::google::protobuf::RepeatedField<::int32_t>& PartialVariableAssignment::vars() const
14064 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14065 // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
14066 return _internal_vars();
14067}
14068inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL PartialVariableAssignment::mutable_vars()
14069 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14070 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14071 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
14072 ::google::protobuf::internal::TSanWrite(&_impl_);
14073 return _internal_mutable_vars();
14075inline const ::google::protobuf::RepeatedField<::int32_t>&
14076PartialVariableAssignment::_internal_vars() const {
14077 ::google::protobuf::internal::TSanRead(&_impl_);
14078 return _impl_.vars_;
14079}
14080inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
14081PartialVariableAssignment::_internal_mutable_vars() {
14082 ::google::protobuf::internal::TSanRead(&_impl_);
14083 return &_impl_.vars_;
14084}
14085
14086// repeated int64 values = 2;
14087inline int PartialVariableAssignment::_internal_values_size() const {
14088 return _internal_values().size();
14089}
14090inline int PartialVariableAssignment::values_size() const {
14091 return _internal_values_size();
14092}
14094 ::google::protobuf::internal::TSanWrite(&_impl_);
14095 _impl_.values_.Clear();
14096 ClearHasBitForRepeated(_impl_._has_bits_[0],
14097 0x00000002U);
14098}
14099inline ::int64_t PartialVariableAssignment::values(int index) const {
14100 // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
14101 return _internal_values().Get(index);
14102}
14103inline void PartialVariableAssignment::set_values(int index, ::int64_t value) {
14104 _internal_mutable_values()->Set(index, value);
14105 // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
14107inline void PartialVariableAssignment::add_values(::int64_t value) {
14108 ::google::protobuf::internal::TSanWrite(&_impl_);
14109 _internal_mutable_values()->Add(value);
14110 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
14111 // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
14112}
14113inline const ::google::protobuf::RepeatedField<::int64_t>& PartialVariableAssignment::values() const
14114 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14115 // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
14116 return _internal_values();
14117}
14118inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL PartialVariableAssignment::mutable_values()
14119 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14120 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
14121 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
14122 ::google::protobuf::internal::TSanWrite(&_impl_);
14123 return _internal_mutable_values();
14124}
14125inline const ::google::protobuf::RepeatedField<::int64_t>&
14126PartialVariableAssignment::_internal_values() const {
14127 ::google::protobuf::internal::TSanRead(&_impl_);
14128 return _impl_.values_;
14129}
14130inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
14131PartialVariableAssignment::_internal_mutable_values() {
14132 ::google::protobuf::internal::TSanRead(&_impl_);
14133 return &_impl_.values_;
14134}
14135
14136// -------------------------------------------------------------------
14137
14138// SparsePermutationProto
14139
14140// repeated int32 support = 1;
14141inline int SparsePermutationProto::_internal_support_size() const {
14142 return _internal_support().size();
14143}
14144inline int SparsePermutationProto::support_size() const {
14145 return _internal_support_size();
14146}
14148 ::google::protobuf::internal::TSanWrite(&_impl_);
14149 _impl_.support_.Clear();
14150 ClearHasBitForRepeated(_impl_._has_bits_[0],
14151 0x00000001U);
14152}
14153inline ::int32_t SparsePermutationProto::support(int index) const {
14154 // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.support)
14155 return _internal_support().Get(index);
14157inline void SparsePermutationProto::set_support(int index, ::int32_t value) {
14158 _internal_mutable_support()->Set(index, value);
14159 // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.support)
14161inline void SparsePermutationProto::add_support(::int32_t value) {
14162 ::google::protobuf::internal::TSanWrite(&_impl_);
14163 _internal_mutable_support()->Add(value);
14164 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14165 // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.support)
14166}
14167inline const ::google::protobuf::RepeatedField<::int32_t>& SparsePermutationProto::support() const
14168 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14169 // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.support)
14170 return _internal_support();
14171}
14172inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SparsePermutationProto::mutable_support()
14173 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14174 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14175 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.support)
14176 ::google::protobuf::internal::TSanWrite(&_impl_);
14177 return _internal_mutable_support();
14178}
14179inline const ::google::protobuf::RepeatedField<::int32_t>&
14180SparsePermutationProto::_internal_support() const {
14181 ::google::protobuf::internal::TSanRead(&_impl_);
14182 return _impl_.support_;
14183}
14184inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
14185SparsePermutationProto::_internal_mutable_support() {
14186 ::google::protobuf::internal::TSanRead(&_impl_);
14187 return &_impl_.support_;
14188}
14189
14190// repeated int32 cycle_sizes = 2;
14191inline int SparsePermutationProto::_internal_cycle_sizes_size() const {
14192 return _internal_cycle_sizes().size();
14193}
14195 return _internal_cycle_sizes_size();
14196}
14198 ::google::protobuf::internal::TSanWrite(&_impl_);
14199 _impl_.cycle_sizes_.Clear();
14200 ClearHasBitForRepeated(_impl_._has_bits_[0],
14201 0x00000002U);
14203inline ::int32_t SparsePermutationProto::cycle_sizes(int index) const {
14204 // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.cycle_sizes)
14205 return _internal_cycle_sizes().Get(index);
14206}
14207inline void SparsePermutationProto::set_cycle_sizes(int index, ::int32_t value) {
14208 _internal_mutable_cycle_sizes()->Set(index, value);
14209 // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.cycle_sizes)
14210}
14211inline void SparsePermutationProto::add_cycle_sizes(::int32_t value) {
14212 ::google::protobuf::internal::TSanWrite(&_impl_);
14213 _internal_mutable_cycle_sizes()->Add(value);
14214 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
14215 // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.cycle_sizes)
14216}
14217inline const ::google::protobuf::RepeatedField<::int32_t>& SparsePermutationProto::cycle_sizes() const
14218 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14219 // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
14220 return _internal_cycle_sizes();
14221}
14222inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SparsePermutationProto::mutable_cycle_sizes()
14223 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14224 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
14225 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
14226 ::google::protobuf::internal::TSanWrite(&_impl_);
14227 return _internal_mutable_cycle_sizes();
14228}
14229inline const ::google::protobuf::RepeatedField<::int32_t>&
14230SparsePermutationProto::_internal_cycle_sizes() const {
14231 ::google::protobuf::internal::TSanRead(&_impl_);
14232 return _impl_.cycle_sizes_;
14233}
14234inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
14235SparsePermutationProto::_internal_mutable_cycle_sizes() {
14236 ::google::protobuf::internal::TSanRead(&_impl_);
14237 return &_impl_.cycle_sizes_;
14238}
14239
14240// -------------------------------------------------------------------
14241
14242// DenseMatrixProto
14243
14244// int32 num_rows = 1;
14246 ::google::protobuf::internal::TSanWrite(&_impl_);
14247 _impl_.num_rows_ = 0;
14248 ClearHasBit(_impl_._has_bits_[0],
14249 0x00000002U);
14250}
14251inline ::int32_t DenseMatrixProto::num_rows() const {
14252 // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_rows)
14253 return _internal_num_rows();
14254}
14255inline void DenseMatrixProto::set_num_rows(::int32_t value) {
14256 _internal_set_num_rows(value);
14257 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
14258 // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_rows)
14259}
14260inline ::int32_t DenseMatrixProto::_internal_num_rows() const {
14261 ::google::protobuf::internal::TSanRead(&_impl_);
14262 return _impl_.num_rows_;
14263}
14264inline void DenseMatrixProto::_internal_set_num_rows(::int32_t value) {
14265 ::google::protobuf::internal::TSanWrite(&_impl_);
14266 _impl_.num_rows_ = value;
14267}
14268
14269// int32 num_cols = 2;
14271 ::google::protobuf::internal::TSanWrite(&_impl_);
14272 _impl_.num_cols_ = 0;
14273 ClearHasBit(_impl_._has_bits_[0],
14274 0x00000004U);
14276inline ::int32_t DenseMatrixProto::num_cols() const {
14277 // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_cols)
14278 return _internal_num_cols();
14279}
14280inline void DenseMatrixProto::set_num_cols(::int32_t value) {
14281 _internal_set_num_cols(value);
14282 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
14283 // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_cols)
14284}
14285inline ::int32_t DenseMatrixProto::_internal_num_cols() const {
14286 ::google::protobuf::internal::TSanRead(&_impl_);
14287 return _impl_.num_cols_;
14288}
14289inline void DenseMatrixProto::_internal_set_num_cols(::int32_t value) {
14290 ::google::protobuf::internal::TSanWrite(&_impl_);
14291 _impl_.num_cols_ = value;
14292}
14293
14294// repeated int32 entries = 3;
14295inline int DenseMatrixProto::_internal_entries_size() const {
14296 return _internal_entries().size();
14297}
14298inline int DenseMatrixProto::entries_size() const {
14299 return _internal_entries_size();
14300}
14301inline void DenseMatrixProto::clear_entries() {
14302 ::google::protobuf::internal::TSanWrite(&_impl_);
14303 _impl_.entries_.Clear();
14304 ClearHasBitForRepeated(_impl_._has_bits_[0],
14305 0x00000001U);
14306}
14307inline ::int32_t DenseMatrixProto::entries(int index) const {
14308 // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.entries)
14309 return _internal_entries().Get(index);
14311inline void DenseMatrixProto::set_entries(int index, ::int32_t value) {
14312 _internal_mutable_entries()->Set(index, value);
14313 // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.entries)
14315inline void DenseMatrixProto::add_entries(::int32_t value) {
14316 ::google::protobuf::internal::TSanWrite(&_impl_);
14317 _internal_mutable_entries()->Add(value);
14318 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14319 // @@protoc_insertion_point(field_add:operations_research.sat.DenseMatrixProto.entries)
14320}
14321inline const ::google::protobuf::RepeatedField<::int32_t>& DenseMatrixProto::entries() const
14322 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14323 // @@protoc_insertion_point(field_list:operations_research.sat.DenseMatrixProto.entries)
14324 return _internal_entries();
14325}
14326inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL DenseMatrixProto::mutable_entries()
14327 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14328 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14329 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DenseMatrixProto.entries)
14330 ::google::protobuf::internal::TSanWrite(&_impl_);
14331 return _internal_mutable_entries();
14332}
14333inline const ::google::protobuf::RepeatedField<::int32_t>&
14334DenseMatrixProto::_internal_entries() const {
14335 ::google::protobuf::internal::TSanRead(&_impl_);
14336 return _impl_.entries_;
14337}
14338inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
14339DenseMatrixProto::_internal_mutable_entries() {
14340 ::google::protobuf::internal::TSanRead(&_impl_);
14341 return &_impl_.entries_;
14342}
14343
14344// -------------------------------------------------------------------
14345
14346// SymmetryProto
14347
14348// repeated .operations_research.sat.SparsePermutationProto permutations = 1;
14349inline int SymmetryProto::_internal_permutations_size() const {
14350 return _internal_permutations().size();
14351}
14352inline int SymmetryProto::permutations_size() const {
14353 return _internal_permutations_size();
14354}
14356 ::google::protobuf::internal::TSanWrite(&_impl_);
14357 _impl_.permutations_.Clear();
14358 ClearHasBitForRepeated(_impl_._has_bits_[0],
14359 0x00000001U);
14361inline ::operations_research::sat::SparsePermutationProto* PROTOBUF_NONNULL SymmetryProto::mutable_permutations(int index)
14362 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14363 // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.permutations)
14364 return _internal_mutable_permutations()->Mutable(index);
14365}
14366inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>* PROTOBUF_NONNULL SymmetryProto::mutable_permutations()
14367 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14368 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14369 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.permutations)
14370 ::google::protobuf::internal::TSanWrite(&_impl_);
14371 return _internal_mutable_permutations();
14372}
14373inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::permutations(int index) const
14374 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14375 // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.permutations)
14376 return _internal_permutations().Get(index);
14377}
14378inline ::operations_research::sat::SparsePermutationProto* PROTOBUF_NONNULL SymmetryProto::add_permutations()
14379 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14380 ::google::protobuf::internal::TSanWrite(&_impl_);
14382 _internal_mutable_permutations()->InternalAddWithArena(
14383 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
14384 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14385 // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.permutations)
14386 return _add;
14387}
14388inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>& SymmetryProto::permutations() const
14389 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14390 // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.permutations)
14391 return _internal_permutations();
14392}
14393inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>&
14394SymmetryProto::_internal_permutations() const {
14395 ::google::protobuf::internal::TSanRead(&_impl_);
14396 return _impl_.permutations_;
14397}
14398inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::SparsePermutationProto>* PROTOBUF_NONNULL
14399SymmetryProto::_internal_mutable_permutations() {
14400 ::google::protobuf::internal::TSanRead(&_impl_);
14401 return &_impl_.permutations_;
14402}
14403
14404// repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
14405inline int SymmetryProto::_internal_orbitopes_size() const {
14406 return _internal_orbitopes().size();
14407}
14408inline int SymmetryProto::orbitopes_size() const {
14409 return _internal_orbitopes_size();
14410}
14411inline void SymmetryProto::clear_orbitopes() {
14412 ::google::protobuf::internal::TSanWrite(&_impl_);
14413 _impl_.orbitopes_.Clear();
14414 ClearHasBitForRepeated(_impl_._has_bits_[0],
14415 0x00000002U);
14416}
14417inline ::operations_research::sat::DenseMatrixProto* PROTOBUF_NONNULL SymmetryProto::mutable_orbitopes(int index)
14418 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14419 // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.orbitopes)
14420 return _internal_mutable_orbitopes()->Mutable(index);
14422inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>* PROTOBUF_NONNULL SymmetryProto::mutable_orbitopes()
14423 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14424 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
14425 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.orbitopes)
14426 ::google::protobuf::internal::TSanWrite(&_impl_);
14427 return _internal_mutable_orbitopes();
14428}
14429inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::orbitopes(int index) const
14430 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14431 // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.orbitopes)
14432 return _internal_orbitopes().Get(index);
14434inline ::operations_research::sat::DenseMatrixProto* PROTOBUF_NONNULL SymmetryProto::add_orbitopes()
14435 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14436 ::google::protobuf::internal::TSanWrite(&_impl_);
14438 _internal_mutable_orbitopes()->InternalAddWithArena(
14439 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
14440 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
14441 // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.orbitopes)
14442 return _add;
14443}
14444inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>& SymmetryProto::orbitopes() const
14445 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14446 // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.orbitopes)
14447 return _internal_orbitopes();
14449inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>&
14450SymmetryProto::_internal_orbitopes() const {
14451 ::google::protobuf::internal::TSanRead(&_impl_);
14452 return _impl_.orbitopes_;
14453}
14454inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::DenseMatrixProto>* PROTOBUF_NONNULL
14455SymmetryProto::_internal_mutable_orbitopes() {
14456 ::google::protobuf::internal::TSanRead(&_impl_);
14457 return &_impl_.orbitopes_;
14458}
14459
14460// -------------------------------------------------------------------
14461
14462// CpModelProto
14463
14464// string name = 1;
14465inline void CpModelProto::clear_name() {
14466 ::google::protobuf::internal::TSanWrite(&_impl_);
14467 _impl_.name_.ClearToEmpty();
14468 ClearHasBit(_impl_._has_bits_[0],
14469 0x00000010U);
14470}
14471inline const ::std::string& CpModelProto::name() const
14472 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14473 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
14474 return _internal_name();
14475}
14476template <typename Arg_, typename... Args_>
14477PROTOBUF_ALWAYS_INLINE void CpModelProto::set_name(Arg_&& arg, Args_... args) {
14478 ::google::protobuf::internal::TSanWrite(&_impl_);
14479 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
14480 _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14481 // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
14483inline ::std::string* PROTOBUF_NONNULL CpModelProto::mutable_name()
14484 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14485 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
14486 ::std::string* _s = _internal_mutable_name();
14487 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
14488 return _s;
14490inline const ::std::string& CpModelProto::_internal_name() const {
14491 ::google::protobuf::internal::TSanRead(&_impl_);
14492 return _impl_.name_.Get();
14493}
14494inline void CpModelProto::_internal_set_name(const ::std::string& value) {
14495 ::google::protobuf::internal::TSanWrite(&_impl_);
14496 _impl_.name_.Set(value, GetArena());
14497}
14498inline ::std::string* PROTOBUF_NONNULL CpModelProto::_internal_mutable_name() {
14499 ::google::protobuf::internal::TSanWrite(&_impl_);
14500 return _impl_.name_.Mutable( GetArena());
14501}
14502inline ::std::string* PROTOBUF_NULLABLE CpModelProto::release_name() {
14503 ::google::protobuf::internal::TSanWrite(&_impl_);
14504 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
14505 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) {
14506 return nullptr;
14507 }
14508 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
14509 auto* released = _impl_.name_.Release();
14510 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
14511 _impl_.name_.Set("", GetArena());
14512 }
14513 return released;
14514}
14515inline void CpModelProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
14516 ::google::protobuf::internal::TSanWrite(&_impl_);
14517 if (value != nullptr) {
14518 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
14519 } else {
14520 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
14521 }
14522 _impl_.name_.SetAllocated(value, GetArena());
14523 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
14524 _impl_.name_.Set("", GetArena());
14525 }
14526 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
14527}
14528
14529// repeated .operations_research.sat.IntegerVariableProto variables = 2;
14530inline int CpModelProto::_internal_variables_size() const {
14531 return _internal_variables().size();
14533inline int CpModelProto::variables_size() const {
14534 return _internal_variables_size();
14535}
14536inline void CpModelProto::clear_variables() {
14537 ::google::protobuf::internal::TSanWrite(&_impl_);
14538 _impl_.variables_.Clear();
14539 ClearHasBitForRepeated(_impl_._has_bits_[0],
14540 0x00000001U);
14541}
14542inline ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL CpModelProto::mutable_variables(int index)
14543 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14544 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
14545 return _internal_mutable_variables()->Mutable(index);
14546}
14547inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL CpModelProto::mutable_variables()
14548 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14549 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14550 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
14551 ::google::protobuf::internal::TSanWrite(&_impl_);
14552 return _internal_mutable_variables();
14553}
14554inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const
14555 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14556 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
14557 return _internal_variables().Get(index);
14558}
14559inline ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL CpModelProto::add_variables()
14560 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14561 ::google::protobuf::internal::TSanWrite(&_impl_);
14563 _internal_mutable_variables()->InternalAddWithArena(
14564 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
14565 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
14566 // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
14567 return _add;
14568}
14569inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& CpModelProto::variables() const
14570 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14571 // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
14572 return _internal_variables();
14573}
14574inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>&
14575CpModelProto::_internal_variables() const {
14576 ::google::protobuf::internal::TSanRead(&_impl_);
14577 return _impl_.variables_;
14578}
14579inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL
14580CpModelProto::_internal_mutable_variables() {
14581 ::google::protobuf::internal::TSanRead(&_impl_);
14582 return &_impl_.variables_;
14583}
14584
14585// repeated .operations_research.sat.ConstraintProto constraints = 3;
14586inline int CpModelProto::_internal_constraints_size() const {
14587 return _internal_constraints().size();
14588}
14589inline int CpModelProto::constraints_size() const {
14590 return _internal_constraints_size();
14591}
14592inline void CpModelProto::clear_constraints() {
14593 ::google::protobuf::internal::TSanWrite(&_impl_);
14594 _impl_.constraints_.Clear();
14595 ClearHasBitForRepeated(_impl_._has_bits_[0],
14596 0x00000002U);
14598inline ::operations_research::sat::ConstraintProto* PROTOBUF_NONNULL CpModelProto::mutable_constraints(int index)
14599 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14600 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
14601 return _internal_mutable_constraints()->Mutable(index);
14602}
14603inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>* PROTOBUF_NONNULL CpModelProto::mutable_constraints()
14604 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14605 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
14606 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
14607 ::google::protobuf::internal::TSanWrite(&_impl_);
14608 return _internal_mutable_constraints();
14609}
14610inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const
14611 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14612 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
14613 return _internal_constraints().Get(index);
14614}
14615inline ::operations_research::sat::ConstraintProto* PROTOBUF_NONNULL CpModelProto::add_constraints()
14616 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14617 ::google::protobuf::internal::TSanWrite(&_impl_);
14619 _internal_mutable_constraints()->InternalAddWithArena(
14620 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
14621 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
14622 // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
14623 return _add;
14624}
14625inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>& CpModelProto::constraints() const
14626 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14627 // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
14628 return _internal_constraints();
14629}
14630inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>&
14631CpModelProto::_internal_constraints() const {
14632 ::google::protobuf::internal::TSanRead(&_impl_);
14633 return _impl_.constraints_;
14634}
14635inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::ConstraintProto>* PROTOBUF_NONNULL
14636CpModelProto::_internal_mutable_constraints() {
14637 ::google::protobuf::internal::TSanRead(&_impl_);
14638 return &_impl_.constraints_;
14639}
14640
14641// .operations_research.sat.CpObjectiveProto objective = 4;
14642inline bool CpModelProto::has_objective() const {
14643 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
14644 PROTOBUF_ASSUME(!value || _impl_.objective_ != nullptr);
14645 return value;
14646}
14647inline void CpModelProto::clear_objective() {
14648 ::google::protobuf::internal::TSanWrite(&_impl_);
14649 if (_impl_.objective_ != nullptr) _impl_.objective_->Clear();
14650 ClearHasBit(_impl_._has_bits_[0],
14651 0x00000020U);
14652}
14653inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
14654 ::google::protobuf::internal::TSanRead(&_impl_);
14655 const ::operations_research::sat::CpObjectiveProto* p = _impl_.objective_;
14657}
14658inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14659 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
14660 return _internal_objective();
14661}
14663 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE value) {
14664 ::google::protobuf::internal::TSanWrite(&_impl_);
14665 if (GetArena() == nullptr) {
14666 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.objective_);
14667 }
14668 _impl_.objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(value);
14669 if (value != nullptr) {
14670 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
14671 } else {
14672 ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
14673 }
14674 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
14675}
14676inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE CpModelProto::release_objective() {
14677 ::google::protobuf::internal::TSanWrite(&_impl_);
14678
14679 ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
14681 _impl_.objective_ = nullptr;
14682 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14683 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14684 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14685 if (GetArena() == nullptr) {
14686 delete old;
14687 }
14688 } else {
14689 if (GetArena() != nullptr) {
14690 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14691 }
14692 }
14693 return released;
14694}
14695inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE CpModelProto::unsafe_arena_release_objective() {
14696 ::google::protobuf::internal::TSanWrite(&_impl_);
14697 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
14698
14699 ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
14700 ::operations_research::sat::CpObjectiveProto* temp = _impl_.objective_;
14701 _impl_.objective_ = nullptr;
14702 return temp;
14704inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL CpModelProto::_internal_mutable_objective() {
14705 ::google::protobuf::internal::TSanWrite(&_impl_);
14706 if (_impl_.objective_ == nullptr) {
14707 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::CpObjectiveProto>(GetArena());
14708 _impl_.objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(p);
14709 }
14710 return _impl_.objective_;
14711}
14712inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL CpModelProto::mutable_objective()
14713 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14714 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
14715 ::operations_research::sat::CpObjectiveProto* _msg = _internal_mutable_objective();
14716 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
14717 return _msg;
14718}
14720 ::google::protobuf::Arena* message_arena = GetArena();
14721 ::google::protobuf::internal::TSanWrite(&_impl_);
14722 if (message_arena == nullptr) {
14723 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.objective_);
14724 }
14725
14726 if (value != nullptr) {
14727 ::google::protobuf::Arena* submessage_arena = value->GetArena();
14728 if (message_arena != submessage_arena) {
14729 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14730 }
14731 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
14732 } else {
14733 ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
14734 }
14735
14736 _impl_.objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(value);
14737 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
14738}
14739
14740// .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
14742 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U);
14743 PROTOBUF_ASSUME(!value || _impl_.floating_point_objective_ != nullptr);
14744 return value;
14745}
14747 ::google::protobuf::internal::TSanWrite(&_impl_);
14748 if (_impl_.floating_point_objective_ != nullptr) _impl_.floating_point_objective_->Clear();
14749 ClearHasBit(_impl_._has_bits_[0],
14750 0x00000100U);
14751}
14752inline const ::operations_research::sat::FloatObjectiveProto& CpModelProto::_internal_floating_point_objective() const {
14753 ::google::protobuf::internal::TSanRead(&_impl_);
14754 const ::operations_research::sat::FloatObjectiveProto* p = _impl_.floating_point_objective_;
14757inline const ::operations_research::sat::FloatObjectiveProto& CpModelProto::floating_point_objective() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14758 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.floating_point_objective)
14759 return _internal_floating_point_objective();
14760}
14762 ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NULLABLE value) {
14763 ::google::protobuf::internal::TSanWrite(&_impl_);
14764 if (GetArena() == nullptr) {
14765 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.floating_point_objective_);
14766 }
14767 _impl_.floating_point_objective_ = reinterpret_cast<::operations_research::sat::FloatObjectiveProto*>(value);
14768 if (value != nullptr) {
14769 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
14770 } else {
14771 ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
14772 }
14773 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.floating_point_objective)
14774}
14775inline ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NULLABLE CpModelProto::release_floating_point_objective() {
14776 ::google::protobuf::internal::TSanWrite(&_impl_);
14777
14778 ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
14779 ::operations_research::sat::FloatObjectiveProto* released = _impl_.floating_point_objective_;
14780 _impl_.floating_point_objective_ = nullptr;
14781 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14782 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14783 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14784 if (GetArena() == nullptr) {
14785 delete old;
14786 }
14787 } else {
14788 if (GetArena() != nullptr) {
14789 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14790 }
14791 }
14792 return released;
14793}
14794inline ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NULLABLE CpModelProto::unsafe_arena_release_floating_point_objective() {
14795 ::google::protobuf::internal::TSanWrite(&_impl_);
14796 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.floating_point_objective)
14797
14798 ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
14799 ::operations_research::sat::FloatObjectiveProto* temp = _impl_.floating_point_objective_;
14800 _impl_.floating_point_objective_ = nullptr;
14801 return temp;
14803inline ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NONNULL CpModelProto::_internal_mutable_floating_point_objective() {
14804 ::google::protobuf::internal::TSanWrite(&_impl_);
14805 if (_impl_.floating_point_objective_ == nullptr) {
14806 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::FloatObjectiveProto>(GetArena());
14807 _impl_.floating_point_objective_ = reinterpret_cast<::operations_research::sat::FloatObjectiveProto*>(p);
14808 }
14809 return _impl_.floating_point_objective_;
14810}
14811inline ::operations_research::sat::FloatObjectiveProto* PROTOBUF_NONNULL CpModelProto::mutable_floating_point_objective()
14812 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14813 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
14814 ::operations_research::sat::FloatObjectiveProto* _msg = _internal_mutable_floating_point_objective();
14815 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.floating_point_objective)
14816 return _msg;
14817}
14819 ::google::protobuf::Arena* message_arena = GetArena();
14820 ::google::protobuf::internal::TSanWrite(&_impl_);
14821 if (message_arena == nullptr) {
14822 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.floating_point_objective_);
14823 }
14824
14825 if (value != nullptr) {
14826 ::google::protobuf::Arena* submessage_arena = value->GetArena();
14827 if (message_arena != submessage_arena) {
14828 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14829 }
14830 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
14831 } else {
14832 ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
14833 }
14834
14835 _impl_.floating_point_objective_ = reinterpret_cast<::operations_research::sat::FloatObjectiveProto*>(value);
14836 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.floating_point_objective)
14837}
14838
14839// repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
14840inline int CpModelProto::_internal_search_strategy_size() const {
14841 return _internal_search_strategy().size();
14842}
14843inline int CpModelProto::search_strategy_size() const {
14844 return _internal_search_strategy_size();
14845}
14847 ::google::protobuf::internal::TSanWrite(&_impl_);
14848 _impl_.search_strategy_.Clear();
14849 ClearHasBitForRepeated(_impl_._has_bits_[0],
14850 0x00000004U);
14851}
14852inline ::operations_research::sat::DecisionStrategyProto* PROTOBUF_NONNULL CpModelProto::mutable_search_strategy(int index)
14853 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14854 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
14855 return _internal_mutable_search_strategy()->Mutable(index);
14856}
14857inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>* PROTOBUF_NONNULL CpModelProto::mutable_search_strategy()
14858 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14859 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
14860 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
14861 ::google::protobuf::internal::TSanWrite(&_impl_);
14862 return _internal_mutable_search_strategy();
14863}
14864inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const
14865 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14866 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
14867 return _internal_search_strategy().Get(index);
14868}
14869inline ::operations_research::sat::DecisionStrategyProto* PROTOBUF_NONNULL CpModelProto::add_search_strategy()
14870 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14871 ::google::protobuf::internal::TSanWrite(&_impl_);
14873 _internal_mutable_search_strategy()->InternalAddWithArena(
14874 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
14875 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
14876 // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
14877 return _add;
14878}
14879inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>& CpModelProto::search_strategy() const
14880 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14881 // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
14882 return _internal_search_strategy();
14883}
14884inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>&
14885CpModelProto::_internal_search_strategy() const {
14886 ::google::protobuf::internal::TSanRead(&_impl_);
14887 return _impl_.search_strategy_;
14888}
14889inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::DecisionStrategyProto>* PROTOBUF_NONNULL
14890CpModelProto::_internal_mutable_search_strategy() {
14891 ::google::protobuf::internal::TSanRead(&_impl_);
14892 return &_impl_.search_strategy_;
14893}
14894
14895// .operations_research.sat.PartialVariableAssignment solution_hint = 6;
14896inline bool CpModelProto::has_solution_hint() const {
14897 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
14898 PROTOBUF_ASSUME(!value || _impl_.solution_hint_ != nullptr);
14899 return value;
14900}
14902 ::google::protobuf::internal::TSanWrite(&_impl_);
14903 if (_impl_.solution_hint_ != nullptr) _impl_.solution_hint_->Clear();
14904 ClearHasBit(_impl_._has_bits_[0],
14905 0x00000040U);
14906}
14907inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
14908 ::google::protobuf::internal::TSanRead(&_impl_);
14909 const ::operations_research::sat::PartialVariableAssignment* p = _impl_.solution_hint_;
14911}
14912inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14913 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
14914 return _internal_solution_hint();
14915}
14918 ::google::protobuf::internal::TSanWrite(&_impl_);
14919 if (GetArena() == nullptr) {
14920 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.solution_hint_);
14921 }
14922 _impl_.solution_hint_ = reinterpret_cast<::operations_research::sat::PartialVariableAssignment*>(value);
14923 if (value != nullptr) {
14924 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
14925 } else {
14926 ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
14927 }
14928 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
14929}
14930inline ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NULLABLE CpModelProto::release_solution_hint() {
14931 ::google::protobuf::internal::TSanWrite(&_impl_);
14932
14933 ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
14935 _impl_.solution_hint_ = nullptr;
14936 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14937 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14938 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14939 if (GetArena() == nullptr) {
14940 delete old;
14941 }
14942 } else {
14943 if (GetArena() != nullptr) {
14944 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14945 }
14946 }
14947 return released;
14948}
14949inline ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NULLABLE CpModelProto::unsafe_arena_release_solution_hint() {
14950 ::google::protobuf::internal::TSanWrite(&_impl_);
14951 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
14952
14953 ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
14954 ::operations_research::sat::PartialVariableAssignment* temp = _impl_.solution_hint_;
14955 _impl_.solution_hint_ = nullptr;
14956 return temp;
14958inline ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NONNULL CpModelProto::_internal_mutable_solution_hint() {
14959 ::google::protobuf::internal::TSanWrite(&_impl_);
14960 if (_impl_.solution_hint_ == nullptr) {
14961 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::PartialVariableAssignment>(GetArena());
14962 _impl_.solution_hint_ = reinterpret_cast<::operations_research::sat::PartialVariableAssignment*>(p);
14963 }
14964 return _impl_.solution_hint_;
14965}
14966inline ::operations_research::sat::PartialVariableAssignment* PROTOBUF_NONNULL CpModelProto::mutable_solution_hint()
14967 ABSL_ATTRIBUTE_LIFETIME_BOUND {
14968 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
14969 ::operations_research::sat::PartialVariableAssignment* _msg = _internal_mutable_solution_hint();
14970 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
14971 return _msg;
14972}
14974 ::google::protobuf::Arena* message_arena = GetArena();
14975 ::google::protobuf::internal::TSanWrite(&_impl_);
14976 if (message_arena == nullptr) {
14977 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.solution_hint_);
14978 }
14979
14980 if (value != nullptr) {
14981 ::google::protobuf::Arena* submessage_arena = value->GetArena();
14982 if (message_arena != submessage_arena) {
14983 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14984 }
14985 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
14986 } else {
14987 ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
14988 }
14989
14990 _impl_.solution_hint_ = reinterpret_cast<::operations_research::sat::PartialVariableAssignment*>(value);
14991 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
14992}
14993
14994// repeated int32 assumptions = 7;
14995inline int CpModelProto::_internal_assumptions_size() const {
14996 return _internal_assumptions().size();
14997}
14998inline int CpModelProto::assumptions_size() const {
14999 return _internal_assumptions_size();
15000}
15001inline void CpModelProto::clear_assumptions() {
15002 ::google::protobuf::internal::TSanWrite(&_impl_);
15003 _impl_.assumptions_.Clear();
15004 ClearHasBitForRepeated(_impl_._has_bits_[0],
15005 0x00000008U);
15006}
15007inline ::int32_t CpModelProto::assumptions(int index) const {
15008 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
15009 return _internal_assumptions().Get(index);
15011inline void CpModelProto::set_assumptions(int index, ::int32_t value) {
15012 _internal_mutable_assumptions()->Set(index, value);
15013 // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
15014}
15015inline void CpModelProto::add_assumptions(::int32_t value) {
15016 ::google::protobuf::internal::TSanWrite(&_impl_);
15017 _internal_mutable_assumptions()->Add(value);
15018 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
15019 // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
15020}
15021inline const ::google::protobuf::RepeatedField<::int32_t>& CpModelProto::assumptions() const
15022 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15023 // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
15024 return _internal_assumptions();
15025}
15026inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CpModelProto::mutable_assumptions()
15027 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15028 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
15029 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
15030 ::google::protobuf::internal::TSanWrite(&_impl_);
15031 return _internal_mutable_assumptions();
15032}
15033inline const ::google::protobuf::RepeatedField<::int32_t>&
15034CpModelProto::_internal_assumptions() const {
15035 ::google::protobuf::internal::TSanRead(&_impl_);
15036 return _impl_.assumptions_;
15037}
15038inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
15039CpModelProto::_internal_mutable_assumptions() {
15040 ::google::protobuf::internal::TSanRead(&_impl_);
15041 return &_impl_.assumptions_;
15042}
15043
15044// .operations_research.sat.SymmetryProto symmetry = 8;
15045inline bool CpModelProto::has_symmetry() const {
15046 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
15047 PROTOBUF_ASSUME(!value || _impl_.symmetry_ != nullptr);
15048 return value;
15049}
15050inline void CpModelProto::clear_symmetry() {
15051 ::google::protobuf::internal::TSanWrite(&_impl_);
15052 if (_impl_.symmetry_ != nullptr) _impl_.symmetry_->Clear();
15053 ClearHasBit(_impl_._has_bits_[0],
15054 0x00000080U);
15055}
15056inline const ::operations_research::sat::SymmetryProto& CpModelProto::_internal_symmetry() const {
15057 ::google::protobuf::internal::TSanRead(&_impl_);
15058 const ::operations_research::sat::SymmetryProto* p = _impl_.symmetry_;
15060}
15061inline const ::operations_research::sat::SymmetryProto& CpModelProto::symmetry() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15062 // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.symmetry)
15063 return _internal_symmetry();
15064}
15066 ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE value) {
15067 ::google::protobuf::internal::TSanWrite(&_impl_);
15068 if (GetArena() == nullptr) {
15069 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.symmetry_);
15070 }
15071 _impl_.symmetry_ = reinterpret_cast<::operations_research::sat::SymmetryProto*>(value);
15072 if (value != nullptr) {
15073 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
15074 } else {
15075 ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
15077 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.symmetry)
15078}
15079inline ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE CpModelProto::release_symmetry() {
15080 ::google::protobuf::internal::TSanWrite(&_impl_);
15081
15082 ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
15084 _impl_.symmetry_ = nullptr;
15085 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
15086 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
15087 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15088 if (GetArena() == nullptr) {
15089 delete old;
15090 }
15091 } else {
15092 if (GetArena() != nullptr) {
15093 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15094 }
15095 }
15096 return released;
15097}
15098inline ::operations_research::sat::SymmetryProto* PROTOBUF_NULLABLE CpModelProto::unsafe_arena_release_symmetry() {
15099 ::google::protobuf::internal::TSanWrite(&_impl_);
15100 // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.symmetry)
15101
15102 ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
15103 ::operations_research::sat::SymmetryProto* temp = _impl_.symmetry_;
15104 _impl_.symmetry_ = nullptr;
15105 return temp;
15107inline ::operations_research::sat::SymmetryProto* PROTOBUF_NONNULL CpModelProto::_internal_mutable_symmetry() {
15108 ::google::protobuf::internal::TSanWrite(&_impl_);
15109 if (_impl_.symmetry_ == nullptr) {
15110 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::SymmetryProto>(GetArena());
15111 _impl_.symmetry_ = reinterpret_cast<::operations_research::sat::SymmetryProto*>(p);
15112 }
15113 return _impl_.symmetry_;
15114}
15115inline ::operations_research::sat::SymmetryProto* PROTOBUF_NONNULL CpModelProto::mutable_symmetry()
15116 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15117 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
15118 ::operations_research::sat::SymmetryProto* _msg = _internal_mutable_symmetry();
15119 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.symmetry)
15120 return _msg;
15121}
15123 ::google::protobuf::Arena* message_arena = GetArena();
15124 ::google::protobuf::internal::TSanWrite(&_impl_);
15125 if (message_arena == nullptr) {
15126 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.symmetry_);
15127 }
15128
15129 if (value != nullptr) {
15130 ::google::protobuf::Arena* submessage_arena = value->GetArena();
15131 if (message_arena != submessage_arena) {
15132 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
15133 }
15134 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
15135 } else {
15136 ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
15137 }
15138
15139 _impl_.symmetry_ = reinterpret_cast<::operations_research::sat::SymmetryProto*>(value);
15140 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.symmetry)
15141}
15142
15143// -------------------------------------------------------------------
15144
15145// CpSolverSolution
15146
15147// repeated int64 values = 1;
15148inline int CpSolverSolution::_internal_values_size() const {
15149 return _internal_values().size();
15150}
15151inline int CpSolverSolution::values_size() const {
15152 return _internal_values_size();
15153}
15154inline void CpSolverSolution::clear_values() {
15155 ::google::protobuf::internal::TSanWrite(&_impl_);
15156 _impl_.values_.Clear();
15157 ClearHasBitForRepeated(_impl_._has_bits_[0],
15158 0x00000001U);
15160inline ::int64_t CpSolverSolution::values(int index) const {
15161 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverSolution.values)
15162 return _internal_values().Get(index);
15163}
15164inline void CpSolverSolution::set_values(int index, ::int64_t value) {
15165 _internal_mutable_values()->Set(index, value);
15166 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverSolution.values)
15167}
15168inline void CpSolverSolution::add_values(::int64_t value) {
15169 ::google::protobuf::internal::TSanWrite(&_impl_);
15170 _internal_mutable_values()->Add(value);
15171 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
15172 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverSolution.values)
15173}
15174inline const ::google::protobuf::RepeatedField<::int64_t>& CpSolverSolution::values() const
15175 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15176 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverSolution.values)
15177 return _internal_values();
15178}
15179inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL CpSolverSolution::mutable_values()
15180 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15181 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
15182 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverSolution.values)
15183 ::google::protobuf::internal::TSanWrite(&_impl_);
15184 return _internal_mutable_values();
15185}
15186inline const ::google::protobuf::RepeatedField<::int64_t>&
15187CpSolverSolution::_internal_values() const {
15188 ::google::protobuf::internal::TSanRead(&_impl_);
15189 return _impl_.values_;
15190}
15191inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
15192CpSolverSolution::_internal_mutable_values() {
15193 ::google::protobuf::internal::TSanRead(&_impl_);
15194 return &_impl_.values_;
15195}
15196
15197// -------------------------------------------------------------------
15198
15199// CpSolverResponse
15200
15201// .operations_research.sat.CpSolverStatus status = 1;
15202inline void CpSolverResponse::clear_status() {
15203 ::google::protobuf::internal::TSanWrite(&_impl_);
15204 _impl_.status_ = 0;
15205 ClearHasBit(_impl_._has_bits_[0],
15206 0x00800000U);
15207}
15208inline ::operations_research::sat::CpSolverStatus CpSolverResponse::status() const {
15209 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
15210 return _internal_status();
15211}
15213 _internal_set_status(value);
15214 SetHasBit(_impl_._has_bits_[0], 0x00800000U);
15215 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
15217inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
15218 ::google::protobuf::internal::TSanRead(&_impl_);
15219 return static_cast<::operations_research::sat::CpSolverStatus>(_impl_.status_);
15220}
15221inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
15222 ::google::protobuf::internal::TSanWrite(&_impl_);
15223 _impl_.status_ = value;
15224}
15225
15226// repeated int64 solution = 2;
15227inline int CpSolverResponse::_internal_solution_size() const {
15228 return _internal_solution().size();
15229}
15231 return _internal_solution_size();
15232}
15234 ::google::protobuf::internal::TSanWrite(&_impl_);
15235 _impl_.solution_.Clear();
15236 ClearHasBitForRepeated(_impl_._has_bits_[0],
15237 0x00000001U);
15238}
15239inline ::int64_t CpSolverResponse::solution(int index) const {
15240 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
15241 return _internal_solution().Get(index);
15242}
15243inline void CpSolverResponse::set_solution(int index, ::int64_t value) {
15244 _internal_mutable_solution()->Set(index, value);
15245 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
15246}
15247inline void CpSolverResponse::add_solution(::int64_t value) {
15248 ::google::protobuf::internal::TSanWrite(&_impl_);
15249 _internal_mutable_solution()->Add(value);
15250 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
15251 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
15252}
15253inline const ::google::protobuf::RepeatedField<::int64_t>& CpSolverResponse::solution() const
15254 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15255 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
15256 return _internal_solution();
15257}
15258inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL CpSolverResponse::mutable_solution()
15259 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15260 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
15261 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
15262 ::google::protobuf::internal::TSanWrite(&_impl_);
15263 return _internal_mutable_solution();
15264}
15265inline const ::google::protobuf::RepeatedField<::int64_t>&
15266CpSolverResponse::_internal_solution() const {
15267 ::google::protobuf::internal::TSanRead(&_impl_);
15268 return _impl_.solution_;
15269}
15270inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
15271CpSolverResponse::_internal_mutable_solution() {
15272 ::google::protobuf::internal::TSanRead(&_impl_);
15273 return &_impl_.solution_;
15274}
15276// double objective_value = 3;
15278 ::google::protobuf::internal::TSanWrite(&_impl_);
15279 _impl_.objective_value_ = 0;
15280 ClearHasBit(_impl_._has_bits_[0],
15281 0x00000080U);
15282}
15283inline double CpSolverResponse::objective_value() const {
15284 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
15285 return _internal_objective_value();
15286}
15287inline void CpSolverResponse::set_objective_value(double value) {
15288 _internal_set_objective_value(value);
15289 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
15290 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
15291}
15292inline double CpSolverResponse::_internal_objective_value() const {
15293 ::google::protobuf::internal::TSanRead(&_impl_);
15294 return _impl_.objective_value_;
15295}
15296inline void CpSolverResponse::_internal_set_objective_value(double value) {
15297 ::google::protobuf::internal::TSanWrite(&_impl_);
15298 _impl_.objective_value_ = value;
15299}
15300
15301// double best_objective_bound = 4;
15303 ::google::protobuf::internal::TSanWrite(&_impl_);
15304 _impl_.best_objective_bound_ = 0;
15305 ClearHasBit(_impl_._has_bits_[0],
15306 0x00000100U);
15307}
15308inline double CpSolverResponse::best_objective_bound() const {
15309 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
15310 return _internal_best_objective_bound();
15311}
15312inline void CpSolverResponse::set_best_objective_bound(double value) {
15313 _internal_set_best_objective_bound(value);
15314 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
15315 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
15317inline double CpSolverResponse::_internal_best_objective_bound() const {
15318 ::google::protobuf::internal::TSanRead(&_impl_);
15319 return _impl_.best_objective_bound_;
15320}
15321inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
15322 ::google::protobuf::internal::TSanWrite(&_impl_);
15323 _impl_.best_objective_bound_ = value;
15324}
15325
15326// repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
15327inline int CpSolverResponse::_internal_additional_solutions_size() const {
15328 return _internal_additional_solutions().size();
15329}
15331 return _internal_additional_solutions_size();
15332}
15334 ::google::protobuf::internal::TSanWrite(&_impl_);
15335 _impl_.additional_solutions_.Clear();
15336 ClearHasBitForRepeated(_impl_._has_bits_[0],
15337 0x00000008U);
15338}
15339inline ::operations_research::sat::CpSolverSolution* PROTOBUF_NONNULL CpSolverResponse::mutable_additional_solutions(int index)
15340 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15341 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.additional_solutions)
15342 return _internal_mutable_additional_solutions()->Mutable(index);
15343}
15344inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>* PROTOBUF_NONNULL CpSolverResponse::mutable_additional_solutions()
15345 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15346 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
15347 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.additional_solutions)
15348 ::google::protobuf::internal::TSanWrite(&_impl_);
15349 return _internal_mutable_additional_solutions();
15351inline const ::operations_research::sat::CpSolverSolution& CpSolverResponse::additional_solutions(int index) const
15352 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15353 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.additional_solutions)
15354 return _internal_additional_solutions().Get(index);
15355}
15356inline ::operations_research::sat::CpSolverSolution* PROTOBUF_NONNULL CpSolverResponse::add_additional_solutions()
15357 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15358 ::google::protobuf::internal::TSanWrite(&_impl_);
15360 _internal_mutable_additional_solutions()->InternalAddWithArena(
15361 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
15362 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
15363 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.additional_solutions)
15364 return _add;
15366inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>& CpSolverResponse::additional_solutions() const
15367 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15368 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.additional_solutions)
15369 return _internal_additional_solutions();
15370}
15371inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>&
15372CpSolverResponse::_internal_additional_solutions() const {
15373 ::google::protobuf::internal::TSanRead(&_impl_);
15374 return _impl_.additional_solutions_;
15376inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution>* PROTOBUF_NONNULL
15377CpSolverResponse::_internal_mutable_additional_solutions() {
15378 ::google::protobuf::internal::TSanRead(&_impl_);
15379 return &_impl_.additional_solutions_;
15380}
15381
15382// repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
15383inline int CpSolverResponse::_internal_tightened_variables_size() const {
15384 return _internal_tightened_variables().size();
15385}
15387 return _internal_tightened_variables_size();
15388}
15390 ::google::protobuf::internal::TSanWrite(&_impl_);
15391 _impl_.tightened_variables_.Clear();
15392 ClearHasBitForRepeated(_impl_._has_bits_[0],
15393 0x00000002U);
15394}
15395inline ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL CpSolverResponse::mutable_tightened_variables(int index)
15396 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15397 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
15398 return _internal_mutable_tightened_variables()->Mutable(index);
15399}
15400inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL CpSolverResponse::mutable_tightened_variables()
15401 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15402 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
15403 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
15404 ::google::protobuf::internal::TSanWrite(&_impl_);
15405 return _internal_mutable_tightened_variables();
15406}
15407inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const
15408 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15409 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
15410 return _internal_tightened_variables().Get(index);
15411}
15412inline ::operations_research::sat::IntegerVariableProto* PROTOBUF_NONNULL CpSolverResponse::add_tightened_variables()
15413 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15414 ::google::protobuf::internal::TSanWrite(&_impl_);
15416 _internal_mutable_tightened_variables()->InternalAddWithArena(
15417 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
15418 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
15419 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
15420 return _add;
15421}
15422inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>& CpSolverResponse::tightened_variables() const
15423 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15424 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
15425 return _internal_tightened_variables();
15426}
15427inline const ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>&
15428CpSolverResponse::_internal_tightened_variables() const {
15429 ::google::protobuf::internal::TSanRead(&_impl_);
15430 return _impl_.tightened_variables_;
15431}
15432inline ::google::protobuf::RepeatedPtrField<::operations_research::sat::IntegerVariableProto>* PROTOBUF_NONNULL
15433CpSolverResponse::_internal_mutable_tightened_variables() {
15434 ::google::protobuf::internal::TSanRead(&_impl_);
15435 return &_impl_.tightened_variables_;
15436}
15437
15438// repeated int32 sufficient_assumptions_for_infeasibility = 23;
15439inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
15440 return _internal_sufficient_assumptions_for_infeasibility().size();
15441}
15443 return _internal_sufficient_assumptions_for_infeasibility_size();
15444}
15446 ::google::protobuf::internal::TSanWrite(&_impl_);
15447 _impl_.sufficient_assumptions_for_infeasibility_.Clear();
15448 ClearHasBitForRepeated(_impl_._has_bits_[0],
15449 0x00000004U);
15450}
15451inline ::int32_t CpSolverResponse::sufficient_assumptions_for_infeasibility(int index) const {
15452 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15453 return _internal_sufficient_assumptions_for_infeasibility().Get(index);
15454}
15455inline void CpSolverResponse::set_sufficient_assumptions_for_infeasibility(int index, ::int32_t value) {
15456 _internal_mutable_sufficient_assumptions_for_infeasibility()->Set(index, value);
15457 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15460 ::google::protobuf::internal::TSanWrite(&_impl_);
15461 _internal_mutable_sufficient_assumptions_for_infeasibility()->Add(value);
15462 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
15463 // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15464}
15465inline const ::google::protobuf::RepeatedField<::int32_t>& CpSolverResponse::sufficient_assumptions_for_infeasibility() const
15466 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15467 // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15468 return _internal_sufficient_assumptions_for_infeasibility();
15469}
15470inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL CpSolverResponse::mutable_sufficient_assumptions_for_infeasibility()
15471 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15472 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
15473 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
15474 ::google::protobuf::internal::TSanWrite(&_impl_);
15475 return _internal_mutable_sufficient_assumptions_for_infeasibility();
15476}
15477inline const ::google::protobuf::RepeatedField<::int32_t>&
15478CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
15479 ::google::protobuf::internal::TSanRead(&_impl_);
15480 return _impl_.sufficient_assumptions_for_infeasibility_;
15481}
15482inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
15483CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
15484 ::google::protobuf::internal::TSanRead(&_impl_);
15485 return &_impl_.sufficient_assumptions_for_infeasibility_;
15486}
15487
15488// .operations_research.sat.CpObjectiveProto integer_objective = 28;
15489inline bool CpSolverResponse::has_integer_objective() const {
15490 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
15491 PROTOBUF_ASSUME(!value || _impl_.integer_objective_ != nullptr);
15492 return value;
15493}
15495 ::google::protobuf::internal::TSanWrite(&_impl_);
15496 if (_impl_.integer_objective_ != nullptr) _impl_.integer_objective_->Clear();
15497 ClearHasBit(_impl_._has_bits_[0],
15498 0x00000040U);
15499}
15500inline const ::operations_research::sat::CpObjectiveProto& CpSolverResponse::_internal_integer_objective() const {
15501 ::google::protobuf::internal::TSanRead(&_impl_);
15502 const ::operations_research::sat::CpObjectiveProto* p = _impl_.integer_objective_;
15504}
15505inline const ::operations_research::sat::CpObjectiveProto& CpSolverResponse::integer_objective() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15506 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.integer_objective)
15507 return _internal_integer_objective();
15510 ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE value) {
15511 ::google::protobuf::internal::TSanWrite(&_impl_);
15512 if (GetArena() == nullptr) {
15513 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.integer_objective_);
15515 _impl_.integer_objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(value);
15516 if (value != nullptr) {
15517 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
15518 } else {
15519 ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
15520 }
15521 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpSolverResponse.integer_objective)
15523inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE CpSolverResponse::release_integer_objective() {
15524 ::google::protobuf::internal::TSanWrite(&_impl_);
15525
15526 ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
15527 ::operations_research::sat::CpObjectiveProto* released = _impl_.integer_objective_;
15528 _impl_.integer_objective_ = nullptr;
15529 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
15530 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
15531 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15532 if (GetArena() == nullptr) {
15533 delete old;
15534 }
15535 } else {
15536 if (GetArena() != nullptr) {
15537 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15538 }
15539 }
15540 return released;
15541}
15542inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NULLABLE CpSolverResponse::unsafe_arena_release_integer_objective() {
15543 ::google::protobuf::internal::TSanWrite(&_impl_);
15544 // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.integer_objective)
15545
15546 ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
15547 ::operations_research::sat::CpObjectiveProto* temp = _impl_.integer_objective_;
15548 _impl_.integer_objective_ = nullptr;
15549 return temp;
15550}
15551inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL CpSolverResponse::_internal_mutable_integer_objective() {
15552 ::google::protobuf::internal::TSanWrite(&_impl_);
15553 if (_impl_.integer_objective_ == nullptr) {
15554 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::CpObjectiveProto>(GetArena());
15555 _impl_.integer_objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(p);
15556 }
15557 return _impl_.integer_objective_;
15558}
15559inline ::operations_research::sat::CpObjectiveProto* PROTOBUF_NONNULL CpSolverResponse::mutable_integer_objective()
15560 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15561 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
15562 ::operations_research::sat::CpObjectiveProto* _msg = _internal_mutable_integer_objective();
15563 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.integer_objective)
15564 return _msg;
15565}
15567 ::google::protobuf::Arena* message_arena = GetArena();
15568 ::google::protobuf::internal::TSanWrite(&_impl_);
15569 if (message_arena == nullptr) {
15570 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.integer_objective_);
15571 }
15573 if (value != nullptr) {
15574 ::google::protobuf::Arena* submessage_arena = value->GetArena();
15575 if (message_arena != submessage_arena) {
15576 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
15577 }
15578 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
15579 } else {
15580 ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
15581 }
15582
15583 _impl_.integer_objective_ = reinterpret_cast<::operations_research::sat::CpObjectiveProto*>(value);
15584 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.integer_objective)
15585}
15587// int64 inner_objective_lower_bound = 29;
15589 ::google::protobuf::internal::TSanWrite(&_impl_);
15590 _impl_.inner_objective_lower_bound_ = ::int64_t{0};
15591 ClearHasBit(_impl_._has_bits_[0],
15592 0x00100000U);
15593}
15594inline ::int64_t CpSolverResponse::inner_objective_lower_bound() const {
15595 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.inner_objective_lower_bound)
15596 return _internal_inner_objective_lower_bound();
15597}
15598inline void CpSolverResponse::set_inner_objective_lower_bound(::int64_t value) {
15599 _internal_set_inner_objective_lower_bound(value);
15600 SetHasBit(_impl_._has_bits_[0], 0x00100000U);
15601 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.inner_objective_lower_bound)
15602}
15603inline ::int64_t CpSolverResponse::_internal_inner_objective_lower_bound() const {
15604 ::google::protobuf::internal::TSanRead(&_impl_);
15605 return _impl_.inner_objective_lower_bound_;
15606}
15607inline void CpSolverResponse::_internal_set_inner_objective_lower_bound(::int64_t value) {
15608 ::google::protobuf::internal::TSanWrite(&_impl_);
15609 _impl_.inner_objective_lower_bound_ = value;
15610}
15611
15612// int64 num_integers = 30;
15614 ::google::protobuf::internal::TSanWrite(&_impl_);
15615 _impl_.num_integers_ = ::int64_t{0};
15616 ClearHasBit(_impl_._has_bits_[0],
15617 0x00200000U);
15618}
15619inline ::int64_t CpSolverResponse::num_integers() const {
15620 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integers)
15621 return _internal_num_integers();
15623inline void CpSolverResponse::set_num_integers(::int64_t value) {
15624 _internal_set_num_integers(value);
15625 SetHasBit(_impl_._has_bits_[0], 0x00200000U);
15626 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integers)
15627}
15628inline ::int64_t CpSolverResponse::_internal_num_integers() const {
15629 ::google::protobuf::internal::TSanRead(&_impl_);
15630 return _impl_.num_integers_;
15631}
15632inline void CpSolverResponse::_internal_set_num_integers(::int64_t value) {
15633 ::google::protobuf::internal::TSanWrite(&_impl_);
15634 _impl_.num_integers_ = value;
15635}
15636
15637// int64 num_booleans = 10;
15639 ::google::protobuf::internal::TSanWrite(&_impl_);
15640 _impl_.num_booleans_ = ::int64_t{0};
15641 ClearHasBit(_impl_._has_bits_[0],
15642 0x00000200U);
15643}
15644inline ::int64_t CpSolverResponse::num_booleans() const {
15645 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
15646 return _internal_num_booleans();
15647}
15648inline void CpSolverResponse::set_num_booleans(::int64_t value) {
15649 _internal_set_num_booleans(value);
15650 SetHasBit(_impl_._has_bits_[0], 0x00000200U);
15651 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
15652}
15653inline ::int64_t CpSolverResponse::_internal_num_booleans() const {
15654 ::google::protobuf::internal::TSanRead(&_impl_);
15655 return _impl_.num_booleans_;
15656}
15657inline void CpSolverResponse::_internal_set_num_booleans(::int64_t value) {
15658 ::google::protobuf::internal::TSanWrite(&_impl_);
15659 _impl_.num_booleans_ = value;
15660}
15662// int64 num_fixed_booleans = 31;
15664 ::google::protobuf::internal::TSanWrite(&_impl_);
15665 _impl_.num_fixed_booleans_ = ::int64_t{0};
15666 ClearHasBit(_impl_._has_bits_[0],
15667 0x00400000U);
15668}
15669inline ::int64_t CpSolverResponse::num_fixed_booleans() const {
15670 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_fixed_booleans)
15671 return _internal_num_fixed_booleans();
15672}
15673inline void CpSolverResponse::set_num_fixed_booleans(::int64_t value) {
15674 _internal_set_num_fixed_booleans(value);
15675 SetHasBit(_impl_._has_bits_[0], 0x00400000U);
15676 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_fixed_booleans)
15677}
15678inline ::int64_t CpSolverResponse::_internal_num_fixed_booleans() const {
15679 ::google::protobuf::internal::TSanRead(&_impl_);
15680 return _impl_.num_fixed_booleans_;
15681}
15682inline void CpSolverResponse::_internal_set_num_fixed_booleans(::int64_t value) {
15683 ::google::protobuf::internal::TSanWrite(&_impl_);
15684 _impl_.num_fixed_booleans_ = value;
15685}
15687// int64 num_conflicts = 11;
15689 ::google::protobuf::internal::TSanWrite(&_impl_);
15690 _impl_.num_conflicts_ = ::int64_t{0};
15691 ClearHasBit(_impl_._has_bits_[0],
15692 0x00000400U);
15693}
15694inline ::int64_t CpSolverResponse::num_conflicts() const {
15695 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
15696 return _internal_num_conflicts();
15697}
15698inline void CpSolverResponse::set_num_conflicts(::int64_t value) {
15699 _internal_set_num_conflicts(value);
15700 SetHasBit(_impl_._has_bits_[0], 0x00000400U);
15701 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
15702}
15703inline ::int64_t CpSolverResponse::_internal_num_conflicts() const {
15704 ::google::protobuf::internal::TSanRead(&_impl_);
15705 return _impl_.num_conflicts_;
15706}
15707inline void CpSolverResponse::_internal_set_num_conflicts(::int64_t value) {
15708 ::google::protobuf::internal::TSanWrite(&_impl_);
15709 _impl_.num_conflicts_ = value;
15710}
15712// int64 num_branches = 12;
15714 ::google::protobuf::internal::TSanWrite(&_impl_);
15715 _impl_.num_branches_ = ::int64_t{0};
15716 ClearHasBit(_impl_._has_bits_[0],
15717 0x00000800U);
15718}
15719inline ::int64_t CpSolverResponse::num_branches() const {
15720 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
15721 return _internal_num_branches();
15722}
15723inline void CpSolverResponse::set_num_branches(::int64_t value) {
15724 _internal_set_num_branches(value);
15725 SetHasBit(_impl_._has_bits_[0], 0x00000800U);
15726 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
15727}
15728inline ::int64_t CpSolverResponse::_internal_num_branches() const {
15729 ::google::protobuf::internal::TSanRead(&_impl_);
15730 return _impl_.num_branches_;
15731}
15732inline void CpSolverResponse::_internal_set_num_branches(::int64_t value) {
15733 ::google::protobuf::internal::TSanWrite(&_impl_);
15734 _impl_.num_branches_ = value;
15735}
15737// int64 num_binary_propagations = 13;
15739 ::google::protobuf::internal::TSanWrite(&_impl_);
15740 _impl_.num_binary_propagations_ = ::int64_t{0};
15741 ClearHasBit(_impl_._has_bits_[0],
15742 0x00001000U);
15743}
15744inline ::int64_t CpSolverResponse::num_binary_propagations() const {
15745 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
15746 return _internal_num_binary_propagations();
15747}
15748inline void CpSolverResponse::set_num_binary_propagations(::int64_t value) {
15749 _internal_set_num_binary_propagations(value);
15750 SetHasBit(_impl_._has_bits_[0], 0x00001000U);
15751 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
15752}
15753inline ::int64_t CpSolverResponse::_internal_num_binary_propagations() const {
15754 ::google::protobuf::internal::TSanRead(&_impl_);
15755 return _impl_.num_binary_propagations_;
15756}
15757inline void CpSolverResponse::_internal_set_num_binary_propagations(::int64_t value) {
15758 ::google::protobuf::internal::TSanWrite(&_impl_);
15759 _impl_.num_binary_propagations_ = value;
15760}
15762// int64 num_integer_propagations = 14;
15764 ::google::protobuf::internal::TSanWrite(&_impl_);
15765 _impl_.num_integer_propagations_ = ::int64_t{0};
15766 ClearHasBit(_impl_._has_bits_[0],
15767 0x00002000U);
15768}
15769inline ::int64_t CpSolverResponse::num_integer_propagations() const {
15770 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
15771 return _internal_num_integer_propagations();
15772}
15773inline void CpSolverResponse::set_num_integer_propagations(::int64_t value) {
15774 _internal_set_num_integer_propagations(value);
15775 SetHasBit(_impl_._has_bits_[0], 0x00002000U);
15776 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
15777}
15778inline ::int64_t CpSolverResponse::_internal_num_integer_propagations() const {
15779 ::google::protobuf::internal::TSanRead(&_impl_);
15780 return _impl_.num_integer_propagations_;
15781}
15782inline void CpSolverResponse::_internal_set_num_integer_propagations(::int64_t value) {
15783 ::google::protobuf::internal::TSanWrite(&_impl_);
15784 _impl_.num_integer_propagations_ = value;
15785}
15787// int64 num_restarts = 24;
15789 ::google::protobuf::internal::TSanWrite(&_impl_);
15790 _impl_.num_restarts_ = ::int64_t{0};
15791 ClearHasBit(_impl_._has_bits_[0],
15792 0x00040000U);
15793}
15794inline ::int64_t CpSolverResponse::num_restarts() const {
15795 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_restarts)
15796 return _internal_num_restarts();
15797}
15798inline void CpSolverResponse::set_num_restarts(::int64_t value) {
15799 _internal_set_num_restarts(value);
15800 SetHasBit(_impl_._has_bits_[0], 0x00040000U);
15801 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_restarts)
15802}
15803inline ::int64_t CpSolverResponse::_internal_num_restarts() const {
15804 ::google::protobuf::internal::TSanRead(&_impl_);
15805 return _impl_.num_restarts_;
15806}
15807inline void CpSolverResponse::_internal_set_num_restarts(::int64_t value) {
15808 ::google::protobuf::internal::TSanWrite(&_impl_);
15809 _impl_.num_restarts_ = value;
15810}
15812// int64 num_lp_iterations = 25;
15814 ::google::protobuf::internal::TSanWrite(&_impl_);
15815 _impl_.num_lp_iterations_ = ::int64_t{0};
15816 ClearHasBit(_impl_._has_bits_[0],
15817 0x00080000U);
15818}
15819inline ::int64_t CpSolverResponse::num_lp_iterations() const {
15820 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_lp_iterations)
15821 return _internal_num_lp_iterations();
15822}
15823inline void CpSolverResponse::set_num_lp_iterations(::int64_t value) {
15824 _internal_set_num_lp_iterations(value);
15825 SetHasBit(_impl_._has_bits_[0], 0x00080000U);
15826 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_lp_iterations)
15827}
15828inline ::int64_t CpSolverResponse::_internal_num_lp_iterations() const {
15829 ::google::protobuf::internal::TSanRead(&_impl_);
15830 return _impl_.num_lp_iterations_;
15831}
15832inline void CpSolverResponse::_internal_set_num_lp_iterations(::int64_t value) {
15833 ::google::protobuf::internal::TSanWrite(&_impl_);
15834 _impl_.num_lp_iterations_ = value;
15835}
15837// double wall_time = 15;
15839 ::google::protobuf::internal::TSanWrite(&_impl_);
15840 _impl_.wall_time_ = 0;
15841 ClearHasBit(_impl_._has_bits_[0],
15842 0x00004000U);
15843}
15844inline double CpSolverResponse::wall_time() const {
15845 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
15846 return _internal_wall_time();
15847}
15848inline void CpSolverResponse::set_wall_time(double value) {
15849 _internal_set_wall_time(value);
15850 SetHasBit(_impl_._has_bits_[0], 0x00004000U);
15851 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
15852}
15853inline double CpSolverResponse::_internal_wall_time() const {
15854 ::google::protobuf::internal::TSanRead(&_impl_);
15855 return _impl_.wall_time_;
15856}
15857inline void CpSolverResponse::_internal_set_wall_time(double value) {
15858 ::google::protobuf::internal::TSanWrite(&_impl_);
15859 _impl_.wall_time_ = value;
15860}
15862// double user_time = 16;
15864 ::google::protobuf::internal::TSanWrite(&_impl_);
15865 _impl_.user_time_ = 0;
15866 ClearHasBit(_impl_._has_bits_[0],
15867 0x00008000U);
15868}
15869inline double CpSolverResponse::user_time() const {
15870 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
15871 return _internal_user_time();
15872}
15873inline void CpSolverResponse::set_user_time(double value) {
15874 _internal_set_user_time(value);
15875 SetHasBit(_impl_._has_bits_[0], 0x00008000U);
15876 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
15877}
15878inline double CpSolverResponse::_internal_user_time() const {
15879 ::google::protobuf::internal::TSanRead(&_impl_);
15880 return _impl_.user_time_;
15881}
15882inline void CpSolverResponse::_internal_set_user_time(double value) {
15883 ::google::protobuf::internal::TSanWrite(&_impl_);
15884 _impl_.user_time_ = value;
15885}
15887// double deterministic_time = 17;
15889 ::google::protobuf::internal::TSanWrite(&_impl_);
15890 _impl_.deterministic_time_ = 0;
15891 ClearHasBit(_impl_._has_bits_[0],
15892 0x00010000U);
15893}
15894inline double CpSolverResponse::deterministic_time() const {
15895 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
15896 return _internal_deterministic_time();
15897}
15898inline void CpSolverResponse::set_deterministic_time(double value) {
15899 _internal_set_deterministic_time(value);
15900 SetHasBit(_impl_._has_bits_[0], 0x00010000U);
15901 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
15902}
15903inline double CpSolverResponse::_internal_deterministic_time() const {
15904 ::google::protobuf::internal::TSanRead(&_impl_);
15905 return _impl_.deterministic_time_;
15906}
15907inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
15908 ::google::protobuf::internal::TSanWrite(&_impl_);
15909 _impl_.deterministic_time_ = value;
15910}
15912// double gap_integral = 22;
15914 ::google::protobuf::internal::TSanWrite(&_impl_);
15915 _impl_.gap_integral_ = 0;
15916 ClearHasBit(_impl_._has_bits_[0],
15917 0x00020000U);
15918}
15919inline double CpSolverResponse::gap_integral() const {
15920 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.gap_integral)
15921 return _internal_gap_integral();
15922}
15923inline void CpSolverResponse::set_gap_integral(double value) {
15924 _internal_set_gap_integral(value);
15925 SetHasBit(_impl_._has_bits_[0], 0x00020000U);
15926 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.gap_integral)
15927}
15928inline double CpSolverResponse::_internal_gap_integral() const {
15929 ::google::protobuf::internal::TSanRead(&_impl_);
15930 return _impl_.gap_integral_;
15931}
15932inline void CpSolverResponse::_internal_set_gap_integral(double value) {
15933 ::google::protobuf::internal::TSanWrite(&_impl_);
15934 _impl_.gap_integral_ = value;
15935}
15937// string solution_info = 20;
15939 ::google::protobuf::internal::TSanWrite(&_impl_);
15940 _impl_.solution_info_.ClearToEmpty();
15941 ClearHasBit(_impl_._has_bits_[0],
15942 0x00000010U);
15943}
15944inline const ::std::string& CpSolverResponse::solution_info() const
15945 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15946 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
15947 return _internal_solution_info();
15948}
15949template <typename Arg_, typename... Args_>
15950PROTOBUF_ALWAYS_INLINE void CpSolverResponse::set_solution_info(Arg_&& arg, Args_... args) {
15951 ::google::protobuf::internal::TSanWrite(&_impl_);
15952 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
15953 _impl_.solution_info_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15954 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
15955}
15956inline ::std::string* PROTOBUF_NONNULL CpSolverResponse::mutable_solution_info()
15957 ABSL_ATTRIBUTE_LIFETIME_BOUND {
15958 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
15959 ::std::string* _s = _internal_mutable_solution_info();
15960 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
15961 return _s;
15962}
15963inline const ::std::string& CpSolverResponse::_internal_solution_info() const {
15964 ::google::protobuf::internal::TSanRead(&_impl_);
15965 return _impl_.solution_info_.Get();
15966}
15967inline void CpSolverResponse::_internal_set_solution_info(const ::std::string& value) {
15968 ::google::protobuf::internal::TSanWrite(&_impl_);
15969 _impl_.solution_info_.Set(value, GetArena());
15970}
15971inline ::std::string* PROTOBUF_NONNULL CpSolverResponse::_internal_mutable_solution_info() {
15972 ::google::protobuf::internal::TSanWrite(&_impl_);
15973 return _impl_.solution_info_.Mutable( GetArena());
15974}
15975inline ::std::string* PROTOBUF_NULLABLE CpSolverResponse::release_solution_info() {
15976 ::google::protobuf::internal::TSanWrite(&_impl_);
15977 // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
15978 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) {
15979 return nullptr;
15980 }
15981 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
15982 auto* released = _impl_.solution_info_.Release();
15983 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15984 _impl_.solution_info_.Set("", GetArena());
15985 }
15986 return released;
15987}
15988inline void CpSolverResponse::set_allocated_solution_info(::std::string* PROTOBUF_NULLABLE value) {
15989 ::google::protobuf::internal::TSanWrite(&_impl_);
15990 if (value != nullptr) {
15991 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
15992 } else {
15993 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
15994 }
15995 _impl_.solution_info_.SetAllocated(value, GetArena());
15996 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.solution_info_.IsDefault()) {
15997 _impl_.solution_info_.Set("", GetArena());
15998 }
15999 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
16000}
16002// string solve_log = 26;
16004 ::google::protobuf::internal::TSanWrite(&_impl_);
16005 _impl_.solve_log_.ClearToEmpty();
16006 ClearHasBit(_impl_._has_bits_[0],
16007 0x00000020U);
16008}
16009inline const ::std::string& CpSolverResponse::solve_log() const
16010 ABSL_ATTRIBUTE_LIFETIME_BOUND {
16011 // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solve_log)
16012 return _internal_solve_log();
16014template <typename Arg_, typename... Args_>
16015PROTOBUF_ALWAYS_INLINE void CpSolverResponse::set_solve_log(Arg_&& arg, Args_... args) {
16016 ::google::protobuf::internal::TSanWrite(&_impl_);
16017 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
16018 _impl_.solve_log_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16019 // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solve_log)
16020}
16021inline ::std::string* PROTOBUF_NONNULL CpSolverResponse::mutable_solve_log()
16022 ABSL_ATTRIBUTE_LIFETIME_BOUND {
16023 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
16024 ::std::string* _s = _internal_mutable_solve_log();
16025 // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solve_log)
16026 return _s;
16027}
16028inline const ::std::string& CpSolverResponse::_internal_solve_log() const {
16029 ::google::protobuf::internal::TSanRead(&_impl_);
16030 return _impl_.solve_log_.Get();
16031}
16032inline void CpSolverResponse::_internal_set_solve_log(const ::std::string& value) {
16033 ::google::protobuf::internal::TSanWrite(&_impl_);
16034 _impl_.solve_log_.Set(value, GetArena());
16035}
16036inline ::std::string* PROTOBUF_NONNULL CpSolverResponse::_internal_mutable_solve_log() {
16037 ::google::protobuf::internal::TSanWrite(&_impl_);
16038 return _impl_.solve_log_.Mutable( GetArena());
16039}
16040inline ::std::string* PROTOBUF_NULLABLE CpSolverResponse::release_solve_log() {
16041 ::google::protobuf::internal::TSanWrite(&_impl_);
16042 // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solve_log)
16043 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000020U)) {
16044 return nullptr;
16045 }
16046 ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
16047 auto* released = _impl_.solve_log_.Release();
16048 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
16049 _impl_.solve_log_.Set("", GetArena());
16050 }
16051 return released;
16052}
16053inline void CpSolverResponse::set_allocated_solve_log(::std::string* PROTOBUF_NULLABLE value) {
16054 ::google::protobuf::internal::TSanWrite(&_impl_);
16055 if (value != nullptr) {
16056 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
16057 } else {
16058 ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
16059 }
16060 _impl_.solve_log_.SetAllocated(value, GetArena());
16061 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.solve_log_.IsDefault()) {
16062 _impl_.solve_log_.Set("", GetArena());
16063 }
16064 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solve_log)
16065}
16067#ifdef __GNUC__
16068#pragma GCC diagnostic pop
16069#endif // __GNUC__
16070
16071// @@protoc_insertion_point(namespace_scope)
16072} // namespace sat
16073} // namespace operations_research
16074
16075
16076namespace google {
16077namespace protobuf {
16079template <>
16080struct is_proto_enum<::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : std::true_type {};
16081template <>
16083 return ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_descriptor();
16085template <>
16086struct is_proto_enum<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : std::true_type {};
16087template <>
16089 return ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_descriptor();
16090}
16091template <>
16092struct is_proto_enum<::operations_research::sat::CpSolverStatus> : std::true_type {};
16093template <>
16094inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::sat::CpSolverStatus>() {
16095 return ::operations_research::sat::CpSolverStatus_descriptor();
16096}
16097
16098} // namespace protobuf
16099} // namespace google
16100
16101// @@protoc_insertion_point(global_scope)
16102
16103#include "google/protobuf/port_undef.inc"
16104
16105#endif // ortools_2fsat_2fcp_5fmodel_2eproto_2epb_2eh
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
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
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > & exprs() const
void MergeFrom(const AllDifferentConstraintProto &from)
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()
::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
::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()
::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)
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
::google::protobuf::RepeatedPtrField<::operations_research::sat::LinearExpressionProto > *PROTOBUF_NONNULL mutable_exprs()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::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
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()
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)
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
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()
::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()
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)
::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
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
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)
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)
::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
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)
::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
::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)
::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)
const ::operations_research::sat::BoolArgumentProto & bool_or() const
ConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::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()
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)
::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)
::operations_research::sat::ListOfVariablesProto *PROTOBUF_NONNULL mutable_dummy_constraint()
::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()
void set_name(Arg_ &&arg, Args_... args)
::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE unsafe_arena_release_int_mod()
::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)
void unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *PROTOBUF_NULLABLE value)
::operations_research::sat::InverseConstraintProto *PROTOBUF_NULLABLE unsafe_arena_release_inverse()
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)
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
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)
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::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)
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
void set_name(Arg_ &&arg, Args_... args)
void set_allocated_name(::std::string *PROTOBUF_NULLABLE value)
::operations_research::sat::IntegerVariableProto *PROTOBUF_NONNULL add_variables()
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()
::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()
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)
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
static const CpObjectiveProto & default_instance()
CpObjectiveProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const CpObjectiveProto &from)
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()
::std::string *PROTOBUF_NULLABLE release_solution_info()
void set_sufficient_assumptions_for_infeasibility(int index, ::int32_t value)
::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE unsafe_arena_release_integer_objective()
const ::google::protobuf::RepeatedField<::int64_t > & solution() const
::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 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 set_solution(int index, ::int64_t value)
::std::string *PROTOBUF_NONNULL mutable_solution_info()
const ::operations_research::sat::IntegerVariableProto & tightened_variables(int index) const
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
::operations_research::sat::CpSolverSolution *PROTOBUF_NONNULL mutable_additional_solutions(int index)
const ::std::string & solution_info() const
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::CpSolverSolution > & additional_solutions() const
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()
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
::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
::std::string *PROTOBUF_NONNULL mutable_solve_log()
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 set_num_integer_propagations(::int64_t value)
const ::google::protobuf::RepeatedField<::int32_t > & sufficient_assumptions_for_infeasibility() const
const ::operations_research::sat::CpObjectiveProto & integer_objective() const
void set_allocated_solve_log(::std::string *PROTOBUF_NULLABLE value)
friend class ::google::protobuf::Arena
::operations_research::sat::CpObjectiveProto *PROTOBUF_NULLABLE release_integer_objective()
friend void swap(CpSolverSolution &a, CpSolverSolution &b)
CpSolverSolution *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::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)
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
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)
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
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_exprs(int index)
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
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE
static constexpr DomainReductionStrategy SELECT_UPPER_HALF
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
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
static constexpr DomainReductionStrategy SELECT_RANDOM_HALF
static bool VariableSelectionStrategy_IsValid(int value)
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()
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
const ::google::protobuf::RepeatedField<::int32_t > & vars() const
void Swap(ElementConstraintProto *PROTOBUF_NONNULL other)
void MergeFrom(const ElementConstraintProto &from)
static const ElementConstraintProto & default_instance()
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
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)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_exprs(int index)
::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)
::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
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
::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)
::operations_research::sat::LinearExpressionProto *PROTOBUF_NONNULL mutable_start()
static const IntervalConstraintProto & default_instance()
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
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()
void set_f_direct(int index, ::int32_t value)
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
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
const ::operations_research::sat::LinearExpressionProto & target() const
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()
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
void set_domain(int index, ::int64_t value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
static const LinearConstraintProto & default_instance()
::google::protobuf::RepeatedField<::int64_t > *PROTOBUF_NONNULL mutable_domain()
void set_coeffs(int index, ::int64_t value)
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
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
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()
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()
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
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_vars()
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
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)
const ::google::protobuf::RepeatedField<::int32_t > & x_intervals() const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_x_intervals()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
NoOverlap2DConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
friend class ::google::protobuf::MessageLite
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
::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
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
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
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()
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
::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
::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
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
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
RoutesConstraintProto *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_heads()
::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)
const ::google::protobuf::RepeatedPtrField<::operations_research::sat::RoutesConstraintProto_NodeExpressions > & dimensions() const
void set_tails(int index, ::int32_t value)
RoutesConstraintProto_NodeExpressions NodeExpressions
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
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 & operator=(const SparsePermutationProto &from)
SparsePermutationProto(const SparsePermutationProto &from)
void set_support(int index, ::int32_t value)
::google::protobuf::Metadata GetMetadata() const
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
static constexpr auto InternalGenerateClassData_()
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
friend class ::google::protobuf::Arena
::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
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()
void Swap(TableConstraintProto *PROTOBUF_NONNULL other)
void set_values(int index, ::int64_t value)
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_
OR-Tools root namespace.
::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_