Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
boolean_problem.pb.cc
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/boolean_problem.proto
4// Protobuf C++ Version: 6.33.1
5
7
8#include <algorithm>
9#include <type_traits>
10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
28namespace sat {
29
30inline constexpr LinearObjective::Impl_::Impl_(
31 ::_pbi::ConstantInitialized) noexcept
32 : _cached_size_{0},
33 literals_{},
34 coefficients_{},
35 offset_{0},
36 scaling_factor_{1} {}
37
38template <typename>
39PROTOBUF_CONSTEXPR LinearObjective::LinearObjective(::_pbi::ConstantInitialized)
40#if defined(PROTOBUF_CUSTOM_VTABLE)
41 : ::google::protobuf::Message(LinearObjective_class_data_.base()),
42#else // PROTOBUF_CUSTOM_VTABLE
43 : ::google::protobuf::Message(),
44#endif // PROTOBUF_CUSTOM_VTABLE
45 _impl_(::_pbi::ConstantInitialized()) {
46}
54
55PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
57
58inline constexpr LinearBooleanConstraint::Impl_::Impl_(
59 ::_pbi::ConstantInitialized) noexcept
60 : _cached_size_{0},
61 literals_{},
62 coefficients_{},
63 name_(
64 &::google::protobuf::internal::fixed_address_empty_string,
65 ::_pbi::ConstantInitialized()),
66 lower_bound_{::int64_t{0}},
67 upper_bound_{::int64_t{0}} {}
68
69template <typename>
70PROTOBUF_CONSTEXPR LinearBooleanConstraint::LinearBooleanConstraint(::_pbi::ConstantInitialized)
71#if defined(PROTOBUF_CUSTOM_VTABLE)
72 : ::google::protobuf::Message(LinearBooleanConstraint_class_data_.base()),
73#else // PROTOBUF_CUSTOM_VTABLE
74 : ::google::protobuf::Message(),
75#endif // PROTOBUF_CUSTOM_VTABLE
76 _impl_(::_pbi::ConstantInitialized()) {
77}
85
86PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
88
89inline constexpr BooleanAssignment::Impl_::Impl_(
90 ::_pbi::ConstantInitialized) noexcept
91 : _cached_size_{0},
92 literals_{} {}
93
94template <typename>
95PROTOBUF_CONSTEXPR BooleanAssignment::BooleanAssignment(::_pbi::ConstantInitialized)
96#if defined(PROTOBUF_CUSTOM_VTABLE)
97 : ::google::protobuf::Message(BooleanAssignment_class_data_.base()),
98#else // PROTOBUF_CUSTOM_VTABLE
99 : ::google::protobuf::Message(),
100#endif // PROTOBUF_CUSTOM_VTABLE
101 _impl_(::_pbi::ConstantInitialized()) {
102}
110
111PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
113
114inline constexpr LinearBooleanProblem::Impl_::Impl_(
115 ::_pbi::ConstantInitialized) noexcept
116 : _cached_size_{0},
117 constraints_{},
118 var_names_{},
119 name_(
120 &::google::protobuf::internal::fixed_address_empty_string,
121 ::_pbi::ConstantInitialized()),
122 objective_{nullptr},
123 assignment_{nullptr},
124 num_variables_{0},
125 original_num_variables_{0} {}
126
127template <typename>
128PROTOBUF_CONSTEXPR LinearBooleanProblem::LinearBooleanProblem(::_pbi::ConstantInitialized)
129#if defined(PROTOBUF_CUSTOM_VTABLE)
130 : ::google::protobuf::Message(LinearBooleanProblem_class_data_.base()),
131#else // PROTOBUF_CUSTOM_VTABLE
132 : ::google::protobuf::Message(),
133#endif // PROTOBUF_CUSTOM_VTABLE
134 _impl_(::_pbi::ConstantInitialized()) {
135}
143
144PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
146} // namespace sat
147} // namespace operations_research
148static constexpr const ::_pb::EnumDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
150static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
152const ::uint32_t
154 protodesc_cold) = {
155 0x081, // bitmap
156 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _impl_._has_bits_),
157 8, // hasbit index offset
158 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _impl_.literals_),
159 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _impl_.coefficients_),
160 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _impl_.lower_bound_),
161 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _impl_.upper_bound_),
162 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _impl_.name_),
163 0,
164 1,
165 3,
166 4,
167 2,
168 0x081, // bitmap
169 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _impl_._has_bits_),
170 7, // hasbit index offset
171 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _impl_.literals_),
172 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _impl_.coefficients_),
173 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _impl_.offset_),
174 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _impl_.scaling_factor_),
175 0,
176 1,
177 2,
178 3,
179 0x081, // bitmap
180 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BooleanAssignment, _impl_._has_bits_),
181 4, // hasbit index offset
182 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BooleanAssignment, _impl_.literals_),
183 0,
184 0x081, // bitmap
185 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _impl_._has_bits_),
186 10, // hasbit index offset
187 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _impl_.name_),
188 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _impl_.num_variables_),
189 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _impl_.constraints_),
190 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _impl_.objective_),
191 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _impl_.var_names_),
192 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _impl_.assignment_),
193 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _impl_.original_num_variables_),
194 2,
195 5,
196 0,
197 3,
198 1,
199 4,
200 6,
201};
202
203static const ::_pbi::MigrationSchema
204 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
209};
216const char descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
217 protodesc_cold) = {
218 "\n!ortools/sat/boolean_problem.proto\022\027ope"
219 "rations_research.sat\"{\n\027LinearBooleanCon"
220 "straint\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficient"
221 "s\030\002 \003(\003\022\023\n\013lower_bound\030\003 \001(\003\022\023\n\013upper_bo"
222 "und\030\004 \001(\003\022\016\n\004name\030\005 \001(\t:\000\"g\n\017LinearObjec"
223 "tive\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficients\030\002"
224 " \003(\003\022\021\n\006offset\030\003 \001(\001:\0010\022\031\n\016scaling_facto"
225 "r\030\004 \001(\001:\0011\"%\n\021BooleanAssignment\022\020\n\010liter"
226 "als\030\001 \003(\005\"\264\002\n\024LinearBooleanProblem\022\016\n\004na"
227 "me\030\001 \001(\t:\000\022\025\n\rnum_variables\030\003 \001(\005\022E\n\013con"
228 "straints\030\004 \003(\01320.operations_research.sat"
229 ".LinearBooleanConstraint\022;\n\tobjective\030\005 "
230 "\001(\0132(.operations_research.sat.LinearObje"
231 "ctive\022\021\n\tvar_names\030\006 \003(\t\022>\n\nassignment\030\007"
232 " \001(\0132*.operations_research.sat.BooleanAs"
233 "signment\022\036\n\026original_num_variables\030\010 \001(\005"
234 "B/\n\026com.google.ortools.satP\001\252\002\022Google.Or"
235 "Tools.Sat"
236};
238PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto = {
239 false,
240 false,
241 689,
242 descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto,
243 "ortools/sat/boolean_problem.proto",
245 nullptr,
246 0,
247 4,
248 schemas,
253};
254namespace operations_research {
255namespace sat {
256// ===================================================================
257
259 public:
260 using HasBits =
261 decltype(::std::declval<LinearBooleanConstraint>()._impl_._has_bits_);
262 static constexpr ::int32_t kHasBitsOffset =
263 8 * PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_._has_bits_);
264};
265
266LinearBooleanConstraint::LinearBooleanConstraint(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
267#if defined(PROTOBUF_CUSTOM_VTABLE)
268 : ::google::protobuf::Message(arena, LinearBooleanConstraint_class_data_.base()) {
269#else // PROTOBUF_CUSTOM_VTABLE
270 : ::google::protobuf::Message(arena) {
271#endif // PROTOBUF_CUSTOM_VTABLE
272 SharedCtor(arena);
273 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearBooleanConstraint)
274}
275PROTOBUF_NDEBUG_INLINE LinearBooleanConstraint::Impl_::Impl_(
276 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
277 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
278 [[maybe_unused]] const ::operations_research::sat::LinearBooleanConstraint& from_msg)
279 : _has_bits_{from._has_bits_},
280 _cached_size_{0},
281 literals_{visibility, arena, from.literals_},
282 coefficients_{visibility, arena, from.coefficients_},
283 name_(arena, from.name_) {}
284
286 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
287 const LinearBooleanConstraint& from)
288#if defined(PROTOBUF_CUSTOM_VTABLE)
289 : ::google::protobuf::Message(arena, LinearBooleanConstraint_class_data_.base()) {
290#else // PROTOBUF_CUSTOM_VTABLE
291 : ::google::protobuf::Message(arena) {
292#endif // PROTOBUF_CUSTOM_VTABLE
293 LinearBooleanConstraint* const _this = this;
294 (void)_this;
295 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
296 from._internal_metadata_);
297 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
298 ::memcpy(reinterpret_cast<char*>(&_impl_) +
299 offsetof(Impl_, lower_bound_),
300 reinterpret_cast<const char*>(&from._impl_) +
301 offsetof(Impl_, lower_bound_),
302 offsetof(Impl_, upper_bound_) -
303 offsetof(Impl_, lower_bound_) +
304 sizeof(Impl_::upper_bound_));
305
306 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearBooleanConstraint)
307}
308PROTOBUF_NDEBUG_INLINE LinearBooleanConstraint::Impl_::Impl_(
309 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
310 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
311 : _cached_size_{0},
312 literals_{visibility, arena},
313 coefficients_{visibility, arena},
314 name_(arena) {}
315
316inline void LinearBooleanConstraint::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
317 new (&_impl_) Impl_(internal_visibility(), arena);
318 ::memset(reinterpret_cast<char*>(&_impl_) +
319 offsetof(Impl_, lower_bound_),
320 0,
321 offsetof(Impl_, upper_bound_) -
322 offsetof(Impl_, lower_bound_) +
323 sizeof(Impl_::upper_bound_));
324}
326 // @@protoc_insertion_point(destructor:operations_research.sat.LinearBooleanConstraint)
327 SharedDtor(*this);
328}
329inline void LinearBooleanConstraint::SharedDtor(MessageLite& self) {
330 LinearBooleanConstraint& this_ = static_cast<LinearBooleanConstraint&>(self);
331 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
332 this_.CheckHasBitConsistency();
333 }
334 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
335 ABSL_DCHECK(this_.GetArena() == nullptr);
336 this_._impl_.name_.Destroy();
337 this_._impl_.~Impl_();
338}
339
340inline void* PROTOBUF_NONNULL LinearBooleanConstraint::PlacementNew_(
341 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
342 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
343 return ::new (mem) LinearBooleanConstraint(arena);
344}
345constexpr auto LinearBooleanConstraint::InternalNewImpl_() {
346 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
347 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.literals_) +
348 decltype(LinearBooleanConstraint::_impl_.literals_)::
349 InternalGetArenaOffset(
350 ::google::protobuf::Message::internal_visibility()),
351 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.coefficients_) +
352 decltype(LinearBooleanConstraint::_impl_.coefficients_)::
353 InternalGetArenaOffset(
354 ::google::protobuf::Message::internal_visibility()),
355 });
356 if (arena_bits.has_value()) {
357 return ::google::protobuf::internal::MessageCreator::CopyInit(
358 sizeof(LinearBooleanConstraint), alignof(LinearBooleanConstraint), *arena_bits);
359 } else {
360 return ::google::protobuf::internal::MessageCreator(&LinearBooleanConstraint::PlacementNew_,
361 sizeof(LinearBooleanConstraint),
362 alignof(LinearBooleanConstraint));
363 }
364}
366 return ::google::protobuf::internal::ClassDataFull{
367 ::google::protobuf::internal::ClassData{
369 &_table_.header,
370 nullptr, // OnDemandRegisterArenaDtor
371 nullptr, // IsInitialized
372 &LinearBooleanConstraint::MergeImpl,
373 ::google::protobuf::Message::GetNewImpl<LinearBooleanConstraint>(),
374#if defined(PROTOBUF_CUSTOM_VTABLE)
375 &LinearBooleanConstraint::SharedDtor,
376 ::google::protobuf::Message::GetClearImpl<LinearBooleanConstraint>(), &LinearBooleanConstraint::ByteSizeLong,
378#endif // PROTOBUF_CUSTOM_VTABLE
379 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_._cached_size_),
380 false,
381 },
382 &LinearBooleanConstraint::kDescriptorMethods,
384 nullptr, // tracker
385 };
386}
387
388PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
389 ::google::protobuf::internal::ClassDataFull LinearBooleanConstraint_class_data_ =
391
392PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
393LinearBooleanConstraint::GetClassData() const {
394 ::google::protobuf::internal::PrefetchToLocalCache(&LinearBooleanConstraint_class_data_);
395 ::google::protobuf::internal::PrefetchToLocalCache(LinearBooleanConstraint_class_data_.tc_table);
397}
398PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
399const ::_pbi::TcParseTable<3, 5, 0, 0, 2>
400LinearBooleanConstraint::_table_ = {
401 {
402 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_._has_bits_),
403 0, // no _extensions_
404 5, 56, // max_field_number, fast_idx_mask
405 offsetof(decltype(_table_), field_lookup_table),
406 4294967264, // skipmap
407 offsetof(decltype(_table_), field_entries),
408 5, // num_field_entries
409 0, // num_aux_entries
410 offsetof(decltype(_table_), field_names), // no aux_entries
412 nullptr, // post_loop_handler
413 ::_pbi::TcParser::GenericFallback, // fallback
414 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
415 ::_pbi::TcParser::GetTable<::operations_research::sat::LinearBooleanConstraint>(), // to_prefetch
416 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
417 }, {{
418 {::_pbi::TcParser::MiniParse, {}},
419 // repeated int32 literals = 1;
420 {::_pbi::TcParser::FastV32R1,
421 {8, 0, 0,
422 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.literals_)}},
423 // repeated int64 coefficients = 2;
424 {::_pbi::TcParser::FastV64R1,
425 {16, 1, 0,
426 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.coefficients_)}},
427 // optional int64 lower_bound = 3;
428 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(LinearBooleanConstraint, _impl_.lower_bound_), 3>(),
429 {24, 3, 0,
430 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.lower_bound_)}},
431 // optional int64 upper_bound = 4;
432 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(LinearBooleanConstraint, _impl_.upper_bound_), 4>(),
433 {32, 4, 0,
434 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.upper_bound_)}},
435 // optional string name = 5 [default = ""];
436 {::_pbi::TcParser::FastBS1,
437 {42, 2, 0,
438 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.name_)}},
439 {::_pbi::TcParser::MiniParse, {}},
440 {::_pbi::TcParser::MiniParse, {}},
441 }}, {{
442 65535, 65535
443 }}, {{
444 // repeated int32 literals = 1;
445 {PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.literals_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
446 // repeated int64 coefficients = 2;
447 {PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.coefficients_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
448 // optional int64 lower_bound = 3;
449 {PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.lower_bound_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
450 // optional int64 upper_bound = 4;
451 {PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.upper_bound_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
452 // optional string name = 5 [default = ""];
453 {PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
454 }},
455 // no aux_entries
456 {{
457 }},
458};
459PROTOBUF_NOINLINE void LinearBooleanConstraint::Clear() {
460// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearBooleanConstraint)
461 ::google::protobuf::internal::TSanWrite(&_impl_);
462 ::uint32_t cached_has_bits = 0;
463 // Prevent compiler warnings about cached_has_bits being unused
464 (void) cached_has_bits;
465
466 cached_has_bits = _impl_._has_bits_[0];
467 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
468 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
469 _impl_.literals_.Clear();
470 }
471 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
472 _impl_.coefficients_.Clear();
473 }
474 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
475 _impl_.name_.ClearNonDefaultToEmpty();
476 }
477 }
478 if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
479 ::memset(&_impl_.lower_bound_, 0, static_cast<::size_t>(
480 reinterpret_cast<char*>(&_impl_.upper_bound_) -
481 reinterpret_cast<char*>(&_impl_.lower_bound_)) + sizeof(_impl_.upper_bound_));
482 }
483 _impl_._has_bits_.Clear();
484 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
485}
486
487#if defined(PROTOBUF_CUSTOM_VTABLE)
488::uint8_t* PROTOBUF_NONNULL LinearBooleanConstraint::_InternalSerialize(
489 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
490 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
491 const LinearBooleanConstraint& this_ = static_cast<const LinearBooleanConstraint&>(base);
492#else // PROTOBUF_CUSTOM_VTABLE
493::uint8_t* PROTOBUF_NONNULL LinearBooleanConstraint::_InternalSerialize(
494 ::uint8_t* PROTOBUF_NONNULL target,
495 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
496 const LinearBooleanConstraint& this_ = *this;
497#endif // PROTOBUF_CUSTOM_VTABLE
498 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
499 this_.CheckHasBitConsistency();
500 }
501 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearBooleanConstraint)
502 ::uint32_t cached_has_bits = 0;
503 (void)cached_has_bits;
504
505 cached_has_bits = this_._impl_._has_bits_[0];
506 // repeated int32 literals = 1;
507 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
508 for (int i = 0, n = this_._internal_literals_size(); i < n; ++i) {
509 target = stream->EnsureSpace(target);
510 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
511 1, this_._internal_literals().Get(i), target);
512 }
513 }
514
515 // repeated int64 coefficients = 2;
516 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
517 for (int i = 0, n = this_._internal_coefficients_size(); i < n; ++i) {
518 target = stream->EnsureSpace(target);
519 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
520 2, this_._internal_coefficients().Get(i), target);
521 }
522 }
523
524 // optional int64 lower_bound = 3;
525 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
526 target =
527 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
528 stream, this_._internal_lower_bound(), target);
529 }
530
531 // optional int64 upper_bound = 4;
532 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
533 target =
534 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
535 stream, this_._internal_upper_bound(), target);
536 }
537
538 // optional string name = 5 [default = ""];
539 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
540 const ::std::string& _s = this_._internal_name();
541 target = stream->WriteStringMaybeAliased(5, _s, target);
542 }
543
544 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
545 target =
546 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
547 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
548 }
549 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearBooleanConstraint)
550 return target;
551}
552
553#if defined(PROTOBUF_CUSTOM_VTABLE)
555 const LinearBooleanConstraint& this_ = static_cast<const LinearBooleanConstraint&>(base);
556#else // PROTOBUF_CUSTOM_VTABLE
558 const LinearBooleanConstraint& this_ = *this;
559#endif // PROTOBUF_CUSTOM_VTABLE
560 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearBooleanConstraint)
561 ::size_t total_size = 0;
562
563 ::uint32_t cached_has_bits = 0;
564 // Prevent compiler warnings about cached_has_bits being unused
565 (void)cached_has_bits;
566
567 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
568 cached_has_bits = this_._impl_._has_bits_[0];
569 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
570 // repeated int32 literals = 1;
571 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
572 ::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
573 this_._internal_literals());
574 ::size_t tag_size = ::size_t{1} *
575 ::_pbi::FromIntSize(this_._internal_literals_size());
576 total_size += tag_size + data_size;
577 }
578 // repeated int64 coefficients = 2;
579 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
580 ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
581 this_._internal_coefficients());
582 ::size_t tag_size = ::size_t{1} *
583 ::_pbi::FromIntSize(this_._internal_coefficients_size());
584 total_size += tag_size + data_size;
585 }
586 // optional string name = 5 [default = ""];
587 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
588 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
589 this_._internal_name());
590 }
591 // optional int64 lower_bound = 3;
592 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
593 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
594 this_._internal_lower_bound());
595 }
596 // optional int64 upper_bound = 4;
597 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
598 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
599 this_._internal_upper_bound());
600 }
601 }
602 return this_.MaybeComputeUnknownFieldsSize(total_size,
603 &this_._impl_._cached_size_);
604}
605
606void LinearBooleanConstraint::MergeImpl(::google::protobuf::MessageLite& to_msg,
607 const ::google::protobuf::MessageLite& from_msg) {
608 auto* const _this =
609 static_cast<LinearBooleanConstraint*>(&to_msg);
610 auto& from = static_cast<const LinearBooleanConstraint&>(from_msg);
611 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
612 from.CheckHasBitConsistency();
613 }
614 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearBooleanConstraint)
615 ABSL_DCHECK_NE(&from, _this);
616 ::uint32_t cached_has_bits = 0;
617 (void)cached_has_bits;
618
619 cached_has_bits = from._impl_._has_bits_[0];
620 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
621 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
622 _this->_internal_mutable_literals()->MergeFrom(from._internal_literals());
623 }
624 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
625 _this->_internal_mutable_coefficients()->MergeFrom(from._internal_coefficients());
626 }
627 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
628 _this->_internal_set_name(from._internal_name());
629 }
630 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
631 _this->_impl_.lower_bound_ = from._impl_.lower_bound_;
632 }
633 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
634 _this->_impl_.upper_bound_ = from._impl_.upper_bound_;
635 }
636 }
637 _this->_impl_._has_bits_[0] |= cached_has_bits;
638 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
639 from._internal_metadata_);
640}
641
643 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearBooleanConstraint)
644 if (&from == this) return;
645 Clear();
646 MergeFrom(from);
647}
648
649
650void LinearBooleanConstraint::InternalSwap(LinearBooleanConstraint* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
651 using ::std::swap;
652 auto* arena = GetArena();
653 ABSL_DCHECK_EQ(arena, other->GetArena());
654 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
655 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
656 _impl_.literals_.InternalSwap(&other->_impl_.literals_);
657 _impl_.coefficients_.InternalSwap(&other->_impl_.coefficients_);
658 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
659 ::google::protobuf::internal::memswap<
660 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.upper_bound_)
661 + sizeof(LinearBooleanConstraint::_impl_.upper_bound_)
662 - PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, _impl_.lower_bound_)>(
663 reinterpret_cast<char*>(&_impl_.lower_bound_),
664 reinterpret_cast<char*>(&other->_impl_.lower_bound_));
665}
666
667::google::protobuf::Metadata LinearBooleanConstraint::GetMetadata() const {
668 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
669}
670// ===================================================================
671
673 public:
674 using HasBits =
675 decltype(::std::declval<LinearObjective>()._impl_._has_bits_);
676 static constexpr ::int32_t kHasBitsOffset =
677 8 * PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_._has_bits_);
679
680LinearObjective::LinearObjective(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
681#if defined(PROTOBUF_CUSTOM_VTABLE)
682 : ::google::protobuf::Message(arena, LinearObjective_class_data_.base()) {
683#else // PROTOBUF_CUSTOM_VTABLE
684 : ::google::protobuf::Message(arena) {
685#endif // PROTOBUF_CUSTOM_VTABLE
686 SharedCtor(arena);
687 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearObjective)
688}
689PROTOBUF_NDEBUG_INLINE LinearObjective::Impl_::Impl_(
690 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
691 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
692 [[maybe_unused]] const ::operations_research::sat::LinearObjective& from_msg)
693 : _has_bits_{from._has_bits_},
694 _cached_size_{0},
695 literals_{visibility, arena, from.literals_},
696 coefficients_{visibility, arena, from.coefficients_} {}
697
699 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
700 const LinearObjective& from)
701#if defined(PROTOBUF_CUSTOM_VTABLE)
702 : ::google::protobuf::Message(arena, LinearObjective_class_data_.base()) {
703#else // PROTOBUF_CUSTOM_VTABLE
704 : ::google::protobuf::Message(arena) {
705#endif // PROTOBUF_CUSTOM_VTABLE
706 LinearObjective* const _this = this;
707 (void)_this;
708 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
709 from._internal_metadata_);
710 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
711 ::memcpy(reinterpret_cast<char*>(&_impl_) +
712 offsetof(Impl_, offset_),
713 reinterpret_cast<const char*>(&from._impl_) +
714 offsetof(Impl_, offset_),
715 offsetof(Impl_, scaling_factor_) -
716 offsetof(Impl_, offset_) +
717 sizeof(Impl_::scaling_factor_));
718
719 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearObjective)
720}
721PROTOBUF_NDEBUG_INLINE LinearObjective::Impl_::Impl_(
722 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
723 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
724 : _cached_size_{0},
725 literals_{visibility, arena},
726 coefficients_{visibility, arena},
727 scaling_factor_{1} {}
728
729inline void LinearObjective::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
730 new (&_impl_) Impl_(internal_visibility(), arena);
731 _impl_.offset_ = {};
732}
734 // @@protoc_insertion_point(destructor:operations_research.sat.LinearObjective)
735 SharedDtor(*this);
736}
737inline void LinearObjective::SharedDtor(MessageLite& self) {
738 LinearObjective& this_ = static_cast<LinearObjective&>(self);
739 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
740 this_.CheckHasBitConsistency();
741 }
742 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
743 ABSL_DCHECK(this_.GetArena() == nullptr);
744 this_._impl_.~Impl_();
745}
746
747inline void* PROTOBUF_NONNULL LinearObjective::PlacementNew_(
748 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
749 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
750 return ::new (mem) LinearObjective(arena);
751}
752constexpr auto LinearObjective::InternalNewImpl_() {
753 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
754 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.literals_) +
755 decltype(LinearObjective::_impl_.literals_)::
756 InternalGetArenaOffset(
757 ::google::protobuf::Message::internal_visibility()),
758 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.coefficients_) +
759 decltype(LinearObjective::_impl_.coefficients_)::
760 InternalGetArenaOffset(
761 ::google::protobuf::Message::internal_visibility()),
762 });
763 if (arena_bits.has_value()) {
764 return ::google::protobuf::internal::MessageCreator::CopyInit(
765 sizeof(LinearObjective), alignof(LinearObjective), *arena_bits);
766 } else {
767 return ::google::protobuf::internal::MessageCreator(&LinearObjective::PlacementNew_,
768 sizeof(LinearObjective),
769 alignof(LinearObjective));
770 }
771}
773 return ::google::protobuf::internal::ClassDataFull{
774 ::google::protobuf::internal::ClassData{
776 &_table_.header,
777 nullptr, // OnDemandRegisterArenaDtor
778 nullptr, // IsInitialized
779 &LinearObjective::MergeImpl,
780 ::google::protobuf::Message::GetNewImpl<LinearObjective>(),
781#if defined(PROTOBUF_CUSTOM_VTABLE)
782 &LinearObjective::SharedDtor,
783 ::google::protobuf::Message::GetClearImpl<LinearObjective>(), &LinearObjective::ByteSizeLong,
785#endif // PROTOBUF_CUSTOM_VTABLE
786 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_._cached_size_),
787 false,
788 },
789 &LinearObjective::kDescriptorMethods,
791 nullptr, // tracker
792 };
793}
794
795PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
796 ::google::protobuf::internal::ClassDataFull LinearObjective_class_data_ =
799PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
800LinearObjective::GetClassData() const {
801 ::google::protobuf::internal::PrefetchToLocalCache(&LinearObjective_class_data_);
802 ::google::protobuf::internal::PrefetchToLocalCache(LinearObjective_class_data_.tc_table);
803 return LinearObjective_class_data_.base();
804}
805PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
806const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
807LinearObjective::_table_ = {
808 {
809 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_._has_bits_),
810 0, // no _extensions_
811 4, 24, // max_field_number, fast_idx_mask
812 offsetof(decltype(_table_), field_lookup_table),
813 4294967280, // skipmap
814 offsetof(decltype(_table_), field_entries),
815 4, // num_field_entries
816 0, // num_aux_entries
817 offsetof(decltype(_table_), field_names), // no aux_entries
819 nullptr, // post_loop_handler
820 ::_pbi::TcParser::GenericFallback, // fallback
821 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
822 ::_pbi::TcParser::GetTable<::operations_research::sat::LinearObjective>(), // to_prefetch
823 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
824 }, {{
825 // optional double scaling_factor = 4 [default = 1];
826 {::_pbi::TcParser::FastF64S1,
827 {33, 3, 0,
828 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.scaling_factor_)}},
829 // repeated int32 literals = 1;
830 {::_pbi::TcParser::FastV32R1,
831 {8, 0, 0,
832 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.literals_)}},
833 // repeated int64 coefficients = 2;
834 {::_pbi::TcParser::FastV64R1,
835 {16, 1, 0,
836 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.coefficients_)}},
837 // optional double offset = 3 [default = 0];
838 {::_pbi::TcParser::FastF64S1,
839 {25, 2, 0,
840 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.offset_)}},
841 }}, {{
842 65535, 65535
843 }}, {{
844 // repeated int32 literals = 1;
845 {PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.literals_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
846 // repeated int64 coefficients = 2;
847 {PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.coefficients_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
848 // optional double offset = 3 [default = 0];
849 {PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.offset_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
850 // optional double scaling_factor = 4 [default = 1];
851 {PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.scaling_factor_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
852 }},
853 // no aux_entries
854 {{
855 }},
856};
857PROTOBUF_NOINLINE void LinearObjective::Clear() {
858// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearObjective)
859 ::google::protobuf::internal::TSanWrite(&_impl_);
860 ::uint32_t cached_has_bits = 0;
861 // Prevent compiler warnings about cached_has_bits being unused
862 (void) cached_has_bits;
863
864 cached_has_bits = _impl_._has_bits_[0];
865 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
866 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
867 _impl_.literals_.Clear();
868 }
869 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
870 _impl_.coefficients_.Clear();
871 }
872 }
873 if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
874 _impl_.offset_ = 0;
875 _impl_.scaling_factor_ = 1;
876 }
877 _impl_._has_bits_.Clear();
878 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
879}
880
881#if defined(PROTOBUF_CUSTOM_VTABLE)
882::uint8_t* PROTOBUF_NONNULL LinearObjective::_InternalSerialize(
883 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
884 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
885 const LinearObjective& this_ = static_cast<const LinearObjective&>(base);
886#else // PROTOBUF_CUSTOM_VTABLE
887::uint8_t* PROTOBUF_NONNULL LinearObjective::_InternalSerialize(
888 ::uint8_t* PROTOBUF_NONNULL target,
889 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
890 const LinearObjective& this_ = *this;
891#endif // PROTOBUF_CUSTOM_VTABLE
892 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
893 this_.CheckHasBitConsistency();
894 }
895 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearObjective)
896 ::uint32_t cached_has_bits = 0;
897 (void)cached_has_bits;
898
899 cached_has_bits = this_._impl_._has_bits_[0];
900 // repeated int32 literals = 1;
901 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
902 for (int i = 0, n = this_._internal_literals_size(); i < n; ++i) {
903 target = stream->EnsureSpace(target);
904 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
905 1, this_._internal_literals().Get(i), target);
906 }
907 }
908
909 // repeated int64 coefficients = 2;
910 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
911 for (int i = 0, n = this_._internal_coefficients_size(); i < n; ++i) {
912 target = stream->EnsureSpace(target);
913 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
914 2, this_._internal_coefficients().Get(i), target);
915 }
916 }
917
918 // optional double offset = 3 [default = 0];
919 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
920 target = stream->EnsureSpace(target);
921 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
922 3, this_._internal_offset(), target);
923 }
924
925 // optional double scaling_factor = 4 [default = 1];
926 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
927 target = stream->EnsureSpace(target);
928 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
929 4, this_._internal_scaling_factor(), target);
930 }
931
932 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
933 target =
934 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
935 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
936 }
937 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearObjective)
938 return target;
939}
940
941#if defined(PROTOBUF_CUSTOM_VTABLE)
943 const LinearObjective& this_ = static_cast<const LinearObjective&>(base);
944#else // PROTOBUF_CUSTOM_VTABLE
945::size_t LinearObjective::ByteSizeLong() const {
946 const LinearObjective& this_ = *this;
947#endif // PROTOBUF_CUSTOM_VTABLE
948 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearObjective)
949 ::size_t total_size = 0;
950
951 ::uint32_t cached_has_bits = 0;
952 // Prevent compiler warnings about cached_has_bits being unused
953 (void)cached_has_bits;
954
955 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
956 cached_has_bits = this_._impl_._has_bits_[0];
957 total_size += ::absl::popcount(0x0000000cU & cached_has_bits) * 9;
958 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
959 // repeated int32 literals = 1;
960 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
961 ::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
962 this_._internal_literals());
963 ::size_t tag_size = ::size_t{1} *
964 ::_pbi::FromIntSize(this_._internal_literals_size());
965 total_size += tag_size + data_size;
966 }
967 // repeated int64 coefficients = 2;
968 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
969 ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
970 this_._internal_coefficients());
971 ::size_t tag_size = ::size_t{1} *
972 ::_pbi::FromIntSize(this_._internal_coefficients_size());
973 total_size += tag_size + data_size;
974 }
975 }
976 return this_.MaybeComputeUnknownFieldsSize(total_size,
977 &this_._impl_._cached_size_);
978}
979
980void LinearObjective::MergeImpl(::google::protobuf::MessageLite& to_msg,
981 const ::google::protobuf::MessageLite& from_msg) {
982 auto* const _this =
983 static_cast<LinearObjective*>(&to_msg);
984 auto& from = static_cast<const LinearObjective&>(from_msg);
985 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
986 from.CheckHasBitConsistency();
987 }
988 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearObjective)
989 ABSL_DCHECK_NE(&from, _this);
990 ::uint32_t cached_has_bits = 0;
991 (void)cached_has_bits;
992
993 cached_has_bits = from._impl_._has_bits_[0];
994 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
995 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
996 _this->_internal_mutable_literals()->MergeFrom(from._internal_literals());
997 }
998 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
999 _this->_internal_mutable_coefficients()->MergeFrom(from._internal_coefficients());
1000 }
1001 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1002 _this->_impl_.offset_ = from._impl_.offset_;
1003 }
1004 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1005 _this->_impl_.scaling_factor_ = from._impl_.scaling_factor_;
1006 }
1007 }
1008 _this->_impl_._has_bits_[0] |= cached_has_bits;
1009 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1010 from._internal_metadata_);
1011}
1012
1014 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearObjective)
1015 if (&from == this) return;
1016 Clear();
1017 MergeFrom(from);
1018}
1019
1020
1021void LinearObjective::InternalSwap(LinearObjective* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1022 using ::std::swap;
1023 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1024 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1025 _impl_.literals_.InternalSwap(&other->_impl_.literals_);
1026 _impl_.coefficients_.InternalSwap(&other->_impl_.coefficients_);
1027 ::google::protobuf::internal::memswap<
1028 PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.scaling_factor_)
1029 + sizeof(LinearObjective::_impl_.scaling_factor_)
1030 - PROTOBUF_FIELD_OFFSET(LinearObjective, _impl_.offset_)>(
1031 reinterpret_cast<char*>(&_impl_.offset_),
1032 reinterpret_cast<char*>(&other->_impl_.offset_));
1033}
1034
1035::google::protobuf::Metadata LinearObjective::GetMetadata() const {
1036 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1038// ===================================================================
1039
1041 public:
1042 using HasBits =
1043 decltype(::std::declval<BooleanAssignment>()._impl_._has_bits_);
1044 static constexpr ::int32_t kHasBitsOffset =
1045 8 * PROTOBUF_FIELD_OFFSET(BooleanAssignment, _impl_._has_bits_);
1046};
1048BooleanAssignment::BooleanAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1049#if defined(PROTOBUF_CUSTOM_VTABLE)
1050 : ::google::protobuf::Message(arena, BooleanAssignment_class_data_.base()) {
1051#else // PROTOBUF_CUSTOM_VTABLE
1052 : ::google::protobuf::Message(arena) {
1053#endif // PROTOBUF_CUSTOM_VTABLE
1054 SharedCtor(arena);
1055 // @@protoc_insertion_point(arena_constructor:operations_research.sat.BooleanAssignment)
1056}
1057PROTOBUF_NDEBUG_INLINE BooleanAssignment::Impl_::Impl_(
1058 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1059 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1060 [[maybe_unused]] const ::operations_research::sat::BooleanAssignment& from_msg)
1061 : _has_bits_{from._has_bits_},
1062 _cached_size_{0},
1063 literals_{visibility, arena, from.literals_} {}
1064
1066 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1067 const BooleanAssignment& from)
1068#if defined(PROTOBUF_CUSTOM_VTABLE)
1069 : ::google::protobuf::Message(arena, BooleanAssignment_class_data_.base()) {
1070#else // PROTOBUF_CUSTOM_VTABLE
1071 : ::google::protobuf::Message(arena) {
1072#endif // PROTOBUF_CUSTOM_VTABLE
1073 BooleanAssignment* const _this = this;
1074 (void)_this;
1075 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1076 from._internal_metadata_);
1077 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1078
1079 // @@protoc_insertion_point(copy_constructor:operations_research.sat.BooleanAssignment)
1080}
1081PROTOBUF_NDEBUG_INLINE BooleanAssignment::Impl_::Impl_(
1082 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1083 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1084 : _cached_size_{0},
1085 literals_{visibility, arena} {}
1086
1087inline void BooleanAssignment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1088 new (&_impl_) Impl_(internal_visibility(), arena);
1089}
1091 // @@protoc_insertion_point(destructor:operations_research.sat.BooleanAssignment)
1092 SharedDtor(*this);
1094inline void BooleanAssignment::SharedDtor(MessageLite& self) {
1095 BooleanAssignment& this_ = static_cast<BooleanAssignment&>(self);
1096 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1097 this_.CheckHasBitConsistency();
1098 }
1099 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1100 ABSL_DCHECK(this_.GetArena() == nullptr);
1101 this_._impl_.~Impl_();
1102}
1103
1104inline void* PROTOBUF_NONNULL BooleanAssignment::PlacementNew_(
1105 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1106 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1107 return ::new (mem) BooleanAssignment(arena);
1108}
1109constexpr auto BooleanAssignment::InternalNewImpl_() {
1110 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1111 PROTOBUF_FIELD_OFFSET(BooleanAssignment, _impl_.literals_) +
1112 decltype(BooleanAssignment::_impl_.literals_)::
1113 InternalGetArenaOffset(
1114 ::google::protobuf::Message::internal_visibility()),
1115 });
1116 if (arena_bits.has_value()) {
1117 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1118 sizeof(BooleanAssignment), alignof(BooleanAssignment), *arena_bits);
1119 } else {
1120 return ::google::protobuf::internal::MessageCreator(&BooleanAssignment::PlacementNew_,
1121 sizeof(BooleanAssignment),
1122 alignof(BooleanAssignment));
1123 }
1124}
1126 return ::google::protobuf::internal::ClassDataFull{
1127 ::google::protobuf::internal::ClassData{
1129 &_table_.header,
1130 nullptr, // OnDemandRegisterArenaDtor
1131 nullptr, // IsInitialized
1132 &BooleanAssignment::MergeImpl,
1133 ::google::protobuf::Message::GetNewImpl<BooleanAssignment>(),
1134#if defined(PROTOBUF_CUSTOM_VTABLE)
1135 &BooleanAssignment::SharedDtor,
1136 ::google::protobuf::Message::GetClearImpl<BooleanAssignment>(), &BooleanAssignment::ByteSizeLong,
1138#endif // PROTOBUF_CUSTOM_VTABLE
1139 PROTOBUF_FIELD_OFFSET(BooleanAssignment, _impl_._cached_size_),
1140 false,
1141 },
1142 &BooleanAssignment::kDescriptorMethods,
1144 nullptr, // tracker
1145 };
1146}
1147
1148PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1149 ::google::protobuf::internal::ClassDataFull BooleanAssignment_class_data_ =
1151
1152PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1153BooleanAssignment::GetClassData() const {
1154 ::google::protobuf::internal::PrefetchToLocalCache(&BooleanAssignment_class_data_);
1155 ::google::protobuf::internal::PrefetchToLocalCache(BooleanAssignment_class_data_.tc_table);
1156 return BooleanAssignment_class_data_.base();
1157}
1158PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1159const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
1160BooleanAssignment::_table_ = {
1161 {
1162 PROTOBUF_FIELD_OFFSET(BooleanAssignment, _impl_._has_bits_),
1163 0, // no _extensions_
1164 1, 0, // max_field_number, fast_idx_mask
1165 offsetof(decltype(_table_), field_lookup_table),
1166 4294967294, // skipmap
1167 offsetof(decltype(_table_), field_entries),
1168 1, // num_field_entries
1169 0, // num_aux_entries
1170 offsetof(decltype(_table_), field_names), // no aux_entries
1172 nullptr, // post_loop_handler
1173 ::_pbi::TcParser::GenericFallback, // fallback
1174 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1175 ::_pbi::TcParser::GetTable<::operations_research::sat::BooleanAssignment>(), // to_prefetch
1176 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1177 }, {{
1178 // repeated int32 literals = 1;
1179 {::_pbi::TcParser::FastV32R1,
1180 {8, 0, 0,
1181 PROTOBUF_FIELD_OFFSET(BooleanAssignment, _impl_.literals_)}},
1182 }}, {{
1183 65535, 65535
1184 }}, {{
1185 // repeated int32 literals = 1;
1186 {PROTOBUF_FIELD_OFFSET(BooleanAssignment, _impl_.literals_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
1187 }},
1188 // no aux_entries
1189 {{
1190 }},
1191};
1192PROTOBUF_NOINLINE void BooleanAssignment::Clear() {
1193// @@protoc_insertion_point(message_clear_start:operations_research.sat.BooleanAssignment)
1194 ::google::protobuf::internal::TSanWrite(&_impl_);
1195 ::uint32_t cached_has_bits = 0;
1196 // Prevent compiler warnings about cached_has_bits being unused
1197 (void) cached_has_bits;
1198
1199 cached_has_bits = _impl_._has_bits_[0];
1200 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1201 _impl_.literals_.Clear();
1202 }
1203 _impl_._has_bits_.Clear();
1204 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1205}
1206
1207#if defined(PROTOBUF_CUSTOM_VTABLE)
1208::uint8_t* PROTOBUF_NONNULL BooleanAssignment::_InternalSerialize(
1209 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1210 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1211 const BooleanAssignment& this_ = static_cast<const BooleanAssignment&>(base);
1212#else // PROTOBUF_CUSTOM_VTABLE
1213::uint8_t* PROTOBUF_NONNULL BooleanAssignment::_InternalSerialize(
1214 ::uint8_t* PROTOBUF_NONNULL target,
1215 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1216 const BooleanAssignment& this_ = *this;
1217#endif // PROTOBUF_CUSTOM_VTABLE
1218 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1219 this_.CheckHasBitConsistency();
1220 }
1221 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.BooleanAssignment)
1222 ::uint32_t cached_has_bits = 0;
1223 (void)cached_has_bits;
1224
1225 cached_has_bits = this_._impl_._has_bits_[0];
1226 // repeated int32 literals = 1;
1227 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1228 for (int i = 0, n = this_._internal_literals_size(); i < n; ++i) {
1229 target = stream->EnsureSpace(target);
1230 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1231 1, this_._internal_literals().Get(i), target);
1232 }
1233 }
1234
1235 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1236 target =
1237 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1238 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1239 }
1240 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.BooleanAssignment)
1241 return target;
1242}
1243
1244#if defined(PROTOBUF_CUSTOM_VTABLE)
1245::size_t BooleanAssignment::ByteSizeLong(const MessageLite& base) {
1246 const BooleanAssignment& this_ = static_cast<const BooleanAssignment&>(base);
1247#else // PROTOBUF_CUSTOM_VTABLE
1248::size_t BooleanAssignment::ByteSizeLong() const {
1249 const BooleanAssignment& this_ = *this;
1250#endif // PROTOBUF_CUSTOM_VTABLE
1251 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.BooleanAssignment)
1252 ::size_t total_size = 0;
1253
1254 ::uint32_t cached_has_bits = 0;
1255 // Prevent compiler warnings about cached_has_bits being unused
1256 (void)cached_has_bits;
1257
1258 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1259 {
1260 // repeated int32 literals = 1;
1261 cached_has_bits = this_._impl_._has_bits_[0];
1262 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1263 ::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
1264 this_._internal_literals());
1265 ::size_t tag_size = ::size_t{1} *
1266 ::_pbi::FromIntSize(this_._internal_literals_size());
1267 total_size += tag_size + data_size;
1268 }
1269 }
1270 return this_.MaybeComputeUnknownFieldsSize(total_size,
1271 &this_._impl_._cached_size_);
1272}
1273
1274void BooleanAssignment::MergeImpl(::google::protobuf::MessageLite& to_msg,
1275 const ::google::protobuf::MessageLite& from_msg) {
1276 auto* const _this =
1277 static_cast<BooleanAssignment*>(&to_msg);
1278 auto& from = static_cast<const BooleanAssignment&>(from_msg);
1279 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1280 from.CheckHasBitConsistency();
1281 }
1282 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.BooleanAssignment)
1283 ABSL_DCHECK_NE(&from, _this);
1284 ::uint32_t cached_has_bits = 0;
1285 (void)cached_has_bits;
1286
1287 cached_has_bits = from._impl_._has_bits_[0];
1288 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1289 _this->_internal_mutable_literals()->MergeFrom(from._internal_literals());
1290 }
1291 _this->_impl_._has_bits_[0] |= cached_has_bits;
1292 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1293 from._internal_metadata_);
1294}
1295
1296void BooleanAssignment::CopyFrom(const BooleanAssignment& from) {
1297 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.BooleanAssignment)
1298 if (&from == this) return;
1300 MergeFrom(from);
1301}
1302
1303
1304void BooleanAssignment::InternalSwap(BooleanAssignment* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1305 using ::std::swap;
1306 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1307 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1308 _impl_.literals_.InternalSwap(&other->_impl_.literals_);
1309}
1310
1311::google::protobuf::Metadata BooleanAssignment::GetMetadata() const {
1312 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1313}
1314// ===================================================================
1315
1317 public:
1318 using HasBits =
1319 decltype(::std::declval<LinearBooleanProblem>()._impl_._has_bits_);
1320 static constexpr ::int32_t kHasBitsOffset =
1321 8 * PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_._has_bits_);
1323
1324LinearBooleanProblem::LinearBooleanProblem(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1325#if defined(PROTOBUF_CUSTOM_VTABLE)
1326 : ::google::protobuf::Message(arena, LinearBooleanProblem_class_data_.base()) {
1327#else // PROTOBUF_CUSTOM_VTABLE
1328 : ::google::protobuf::Message(arena) {
1329#endif // PROTOBUF_CUSTOM_VTABLE
1330 SharedCtor(arena);
1331 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearBooleanProblem)
1332}
1333PROTOBUF_NDEBUG_INLINE LinearBooleanProblem::Impl_::Impl_(
1334 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1335 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1336 [[maybe_unused]] const ::operations_research::sat::LinearBooleanProblem& from_msg)
1337 : _has_bits_{from._has_bits_},
1338 _cached_size_{0},
1339 constraints_{visibility, arena, from.constraints_},
1340 var_names_{visibility, arena, from.var_names_},
1341 name_(arena, from.name_) {}
1342
1344 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1345 const LinearBooleanProblem& from)
1346#if defined(PROTOBUF_CUSTOM_VTABLE)
1347 : ::google::protobuf::Message(arena, LinearBooleanProblem_class_data_.base()) {
1348#else // PROTOBUF_CUSTOM_VTABLE
1349 : ::google::protobuf::Message(arena) {
1350#endif // PROTOBUF_CUSTOM_VTABLE
1351 LinearBooleanProblem* const _this = this;
1352 (void)_this;
1353 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1354 from._internal_metadata_);
1355 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1356 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
1357 _impl_.objective_ = (CheckHasBit(cached_has_bits, 0x00000008U))
1358 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.objective_)
1359 : nullptr;
1360 _impl_.assignment_ = (CheckHasBit(cached_has_bits, 0x00000010U))
1361 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.assignment_)
1362 : nullptr;
1363 ::memcpy(reinterpret_cast<char*>(&_impl_) +
1364 offsetof(Impl_, num_variables_),
1365 reinterpret_cast<const char*>(&from._impl_) +
1366 offsetof(Impl_, num_variables_),
1367 offsetof(Impl_, original_num_variables_) -
1368 offsetof(Impl_, num_variables_) +
1369 sizeof(Impl_::original_num_variables_));
1370
1371 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearBooleanProblem)
1372}
1373PROTOBUF_NDEBUG_INLINE LinearBooleanProblem::Impl_::Impl_(
1374 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1375 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1376 : _cached_size_{0},
1377 constraints_{visibility, arena},
1378 var_names_{visibility, arena},
1379 name_(arena) {}
1380
1381inline void LinearBooleanProblem::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1382 new (&_impl_) Impl_(internal_visibility(), arena);
1383 ::memset(reinterpret_cast<char*>(&_impl_) +
1384 offsetof(Impl_, objective_),
1385 0,
1386 offsetof(Impl_, original_num_variables_) -
1387 offsetof(Impl_, objective_) +
1388 sizeof(Impl_::original_num_variables_));
1389}
1391 // @@protoc_insertion_point(destructor:operations_research.sat.LinearBooleanProblem)
1392 SharedDtor(*this);
1393}
1394inline void LinearBooleanProblem::SharedDtor(MessageLite& self) {
1395 LinearBooleanProblem& this_ = static_cast<LinearBooleanProblem&>(self);
1396 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1397 this_.CheckHasBitConsistency();
1398 }
1399 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1400 ABSL_DCHECK(this_.GetArena() == nullptr);
1401 this_._impl_.name_.Destroy();
1402 delete this_._impl_.objective_;
1403 delete this_._impl_.assignment_;
1404 this_._impl_.~Impl_();
1405}
1406
1407inline void* PROTOBUF_NONNULL LinearBooleanProblem::PlacementNew_(
1408 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1409 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1410 return ::new (mem) LinearBooleanProblem(arena);
1411}
1412constexpr auto LinearBooleanProblem::InternalNewImpl_() {
1413 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1414 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.constraints_) +
1415 decltype(LinearBooleanProblem::_impl_.constraints_)::
1416 InternalGetArenaOffset(
1417 ::google::protobuf::Message::internal_visibility()),
1418 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.var_names_) +
1419 decltype(LinearBooleanProblem::_impl_.var_names_)::
1420 InternalGetArenaOffset(
1421 ::google::protobuf::Message::internal_visibility()),
1422 });
1423 if (arena_bits.has_value()) {
1424 return ::google::protobuf::internal::MessageCreator::CopyInit(
1425 sizeof(LinearBooleanProblem), alignof(LinearBooleanProblem), *arena_bits);
1426 } else {
1427 return ::google::protobuf::internal::MessageCreator(&LinearBooleanProblem::PlacementNew_,
1428 sizeof(LinearBooleanProblem),
1429 alignof(LinearBooleanProblem));
1430 }
1431}
1433 return ::google::protobuf::internal::ClassDataFull{
1434 ::google::protobuf::internal::ClassData{
1436 &_table_.header,
1437 nullptr, // OnDemandRegisterArenaDtor
1438 nullptr, // IsInitialized
1439 &LinearBooleanProblem::MergeImpl,
1440 ::google::protobuf::Message::GetNewImpl<LinearBooleanProblem>(),
1441#if defined(PROTOBUF_CUSTOM_VTABLE)
1442 &LinearBooleanProblem::SharedDtor,
1443 ::google::protobuf::Message::GetClearImpl<LinearBooleanProblem>(), &LinearBooleanProblem::ByteSizeLong,
1445#endif // PROTOBUF_CUSTOM_VTABLE
1446 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_._cached_size_),
1447 false,
1448 },
1449 &LinearBooleanProblem::kDescriptorMethods,
1451 nullptr, // tracker
1452 };
1453}
1454
1455PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1456 ::google::protobuf::internal::ClassDataFull LinearBooleanProblem_class_data_ =
1458
1459PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1460LinearBooleanProblem::GetClassData() const {
1461 ::google::protobuf::internal::PrefetchToLocalCache(&LinearBooleanProblem_class_data_);
1462 ::google::protobuf::internal::PrefetchToLocalCache(LinearBooleanProblem_class_data_.tc_table);
1464}
1465PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1466const ::_pbi::TcParseTable<3, 7, 3, 0, 2>
1467LinearBooleanProblem::_table_ = {
1468 {
1469 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_._has_bits_),
1470 0, // no _extensions_
1471 8, 56, // max_field_number, fast_idx_mask
1472 offsetof(decltype(_table_), field_lookup_table),
1473 4294967042, // skipmap
1474 offsetof(decltype(_table_), field_entries),
1475 7, // num_field_entries
1476 3, // num_aux_entries
1477 offsetof(decltype(_table_), aux_entries),
1479 nullptr, // post_loop_handler
1480 ::_pbi::TcParser::GenericFallback, // fallback
1481 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1482 ::_pbi::TcParser::GetTable<::operations_research::sat::LinearBooleanProblem>(), // to_prefetch
1483 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1484 }, {{
1485 // optional int32 original_num_variables = 8;
1486 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(LinearBooleanProblem, _impl_.original_num_variables_), 6>(),
1487 {64, 6, 0,
1488 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.original_num_variables_)}},
1489 // optional string name = 1 [default = ""];
1490 {::_pbi::TcParser::FastBS1,
1491 {10, 2, 0,
1492 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.name_)}},
1493 {::_pbi::TcParser::MiniParse, {}},
1494 // optional int32 num_variables = 3;
1495 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(LinearBooleanProblem, _impl_.num_variables_), 5>(),
1496 {24, 5, 0,
1497 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.num_variables_)}},
1498 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1499 {::_pbi::TcParser::FastMtR1,
1500 {34, 0, 0,
1501 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.constraints_)}},
1502 // optional .operations_research.sat.LinearObjective objective = 5;
1503 {::_pbi::TcParser::FastMtS1,
1504 {42, 3, 1,
1505 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.objective_)}},
1506 // repeated string var_names = 6;
1507 {::_pbi::TcParser::FastBR1,
1508 {50, 1, 0,
1509 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.var_names_)}},
1510 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1511 {::_pbi::TcParser::FastMtS1,
1512 {58, 4, 2,
1513 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.assignment_)}},
1514 }}, {{
1515 65535, 65535
1516 }}, {{
1517 // optional string name = 1 [default = ""];
1518 {PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
1519 // optional int32 num_variables = 3;
1520 {PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.num_variables_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1521 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1522 {PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.constraints_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1523 // optional .operations_research.sat.LinearObjective objective = 5;
1524 {PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.objective_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1525 // repeated string var_names = 6;
1526 {PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.var_names_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
1527 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1528 {PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.assignment_), _Internal::kHasBitsOffset + 4, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1529 // optional int32 original_num_variables = 8;
1530 {PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.original_num_variables_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1531 }},
1532 {{
1533 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearBooleanConstraint>()},
1534 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearObjective>()},
1535 {::_pbi::TcParser::GetTable<::operations_research::sat::BooleanAssignment>()},
1536 }},
1537 {{
1538 }},
1539};
1540PROTOBUF_NOINLINE void LinearBooleanProblem::Clear() {
1541// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearBooleanProblem)
1542 ::google::protobuf::internal::TSanWrite(&_impl_);
1543 ::uint32_t cached_has_bits = 0;
1544 // Prevent compiler warnings about cached_has_bits being unused
1545 (void) cached_has_bits;
1546
1547 cached_has_bits = _impl_._has_bits_[0];
1548 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
1549 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1550 _impl_.constraints_.Clear();
1551 }
1552 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1553 _impl_.var_names_.Clear();
1554 }
1555 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1556 _impl_.name_.ClearNonDefaultToEmpty();
1557 }
1558 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1559 ABSL_DCHECK(_impl_.objective_ != nullptr);
1560 _impl_.objective_->Clear();
1561 }
1562 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1563 ABSL_DCHECK(_impl_.assignment_ != nullptr);
1564 _impl_.assignment_->Clear();
1565 }
1566 }
1567 if (BatchCheckHasBit(cached_has_bits, 0x00000060U)) {
1568 ::memset(&_impl_.num_variables_, 0, static_cast<::size_t>(
1569 reinterpret_cast<char*>(&_impl_.original_num_variables_) -
1570 reinterpret_cast<char*>(&_impl_.num_variables_)) + sizeof(_impl_.original_num_variables_));
1571 }
1572 _impl_._has_bits_.Clear();
1573 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1574}
1575
1576#if defined(PROTOBUF_CUSTOM_VTABLE)
1577::uint8_t* PROTOBUF_NONNULL LinearBooleanProblem::_InternalSerialize(
1578 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1579 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1580 const LinearBooleanProblem& this_ = static_cast<const LinearBooleanProblem&>(base);
1581#else // PROTOBUF_CUSTOM_VTABLE
1582::uint8_t* PROTOBUF_NONNULL LinearBooleanProblem::_InternalSerialize(
1583 ::uint8_t* PROTOBUF_NONNULL target,
1584 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1585 const LinearBooleanProblem& this_ = *this;
1586#endif // PROTOBUF_CUSTOM_VTABLE
1587 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1588 this_.CheckHasBitConsistency();
1589 }
1590 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearBooleanProblem)
1591 ::uint32_t cached_has_bits = 0;
1592 (void)cached_has_bits;
1593
1594 cached_has_bits = this_._impl_._has_bits_[0];
1595 // optional string name = 1 [default = ""];
1596 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1597 const ::std::string& _s = this_._internal_name();
1598 target = stream->WriteStringMaybeAliased(1, _s, target);
1599 }
1600
1601 // optional int32 num_variables = 3;
1602 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
1603 target =
1604 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
1605 stream, this_._internal_num_variables(), target);
1606 }
1607
1608 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1609 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1610 for (unsigned i = 0, n = static_cast<unsigned>(
1611 this_._internal_constraints_size());
1612 i < n; i++) {
1613 const auto& repfield = this_._internal_constraints().Get(i);
1614 target =
1615 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1616 4, repfield, repfield.GetCachedSize(),
1617 target, stream);
1618 }
1619 }
1620
1621 // optional .operations_research.sat.LinearObjective objective = 5;
1622 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1623 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1624 5, *this_._impl_.objective_, this_._impl_.objective_->GetCachedSize(), target,
1625 stream);
1626 }
1627
1628 // repeated string var_names = 6;
1629 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1630 for (int i = 0, n = this_._internal_var_names_size(); i < n; ++i) {
1631 const auto& s = this_._internal_var_names().Get(i);
1632 target = stream->WriteString(6, s, target);
1633 }
1634 }
1635
1636 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1637 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1638 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1639 7, *this_._impl_.assignment_, this_._impl_.assignment_->GetCachedSize(), target,
1640 stream);
1641 }
1642
1643 // optional int32 original_num_variables = 8;
1644 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
1645 target =
1646 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<8>(
1647 stream, this_._internal_original_num_variables(), target);
1648 }
1649
1650 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1651 target =
1652 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1653 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1654 }
1655 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearBooleanProblem)
1656 return target;
1657}
1658
1659#if defined(PROTOBUF_CUSTOM_VTABLE)
1660::size_t LinearBooleanProblem::ByteSizeLong(const MessageLite& base) {
1661 const LinearBooleanProblem& this_ = static_cast<const LinearBooleanProblem&>(base);
1662#else // PROTOBUF_CUSTOM_VTABLE
1663::size_t LinearBooleanProblem::ByteSizeLong() const {
1664 const LinearBooleanProblem& this_ = *this;
1665#endif // PROTOBUF_CUSTOM_VTABLE
1666 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearBooleanProblem)
1667 ::size_t total_size = 0;
1668
1669 ::uint32_t cached_has_bits = 0;
1670 // Prevent compiler warnings about cached_has_bits being unused
1671 (void)cached_has_bits;
1672
1673 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1674 cached_has_bits = this_._impl_._has_bits_[0];
1675 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
1676 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1677 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1678 total_size += 1UL * this_._internal_constraints_size();
1679 for (const auto& msg : this_._internal_constraints()) {
1680 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1681 }
1682 }
1683 // repeated string var_names = 6;
1684 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1685 total_size +=
1686 1 * ::google::protobuf::internal::FromIntSize(this_._internal_var_names().size());
1687 for (int i = 0, n = this_._internal_var_names().size(); i < n; ++i) {
1688 total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
1689 this_._internal_var_names().Get(i));
1690 }
1691 }
1692 // optional string name = 1 [default = ""];
1693 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1694 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
1695 this_._internal_name());
1696 }
1697 // optional .operations_research.sat.LinearObjective objective = 5;
1698 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1699 total_size += 1 +
1700 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.objective_);
1701 }
1702 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1703 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1704 total_size += 1 +
1705 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.assignment_);
1706 }
1707 // optional int32 num_variables = 3;
1708 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
1709 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1710 this_._internal_num_variables());
1711 }
1712 // optional int32 original_num_variables = 8;
1713 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
1714 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1715 this_._internal_original_num_variables());
1716 }
1717 }
1718 return this_.MaybeComputeUnknownFieldsSize(total_size,
1719 &this_._impl_._cached_size_);
1720}
1721
1722void LinearBooleanProblem::MergeImpl(::google::protobuf::MessageLite& to_msg,
1723 const ::google::protobuf::MessageLite& from_msg) {
1724 auto* const _this =
1725 static_cast<LinearBooleanProblem*>(&to_msg);
1726 auto& from = static_cast<const LinearBooleanProblem&>(from_msg);
1727 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1728 from.CheckHasBitConsistency();
1729 }
1730 ::google::protobuf::Arena* arena = _this->GetArena();
1731 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearBooleanProblem)
1732 ABSL_DCHECK_NE(&from, _this);
1733 ::uint32_t cached_has_bits = 0;
1734 (void)cached_has_bits;
1735
1736 cached_has_bits = from._impl_._has_bits_[0];
1737 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
1738 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1739 _this->_internal_mutable_constraints()->InternalMergeFromWithArena(
1740 ::google::protobuf::MessageLite::internal_visibility(), arena,
1741 from._internal_constraints());
1742 }
1743 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1744 _this->_internal_mutable_var_names()->InternalMergeFromWithArena(
1745 ::google::protobuf::MessageLite::internal_visibility(), arena,
1746 from._internal_var_names());
1747 }
1748 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1749 _this->_internal_set_name(from._internal_name());
1750 }
1751 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1752 ABSL_DCHECK(from._impl_.objective_ != nullptr);
1753 if (_this->_impl_.objective_ == nullptr) {
1754 _this->_impl_.objective_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.objective_);
1755 } else {
1756 _this->_impl_.objective_->MergeFrom(*from._impl_.objective_);
1757 }
1758 }
1759 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1760 ABSL_DCHECK(from._impl_.assignment_ != nullptr);
1761 if (_this->_impl_.assignment_ == nullptr) {
1762 _this->_impl_.assignment_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.assignment_);
1763 } else {
1764 _this->_impl_.assignment_->MergeFrom(*from._impl_.assignment_);
1765 }
1766 }
1767 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
1768 _this->_impl_.num_variables_ = from._impl_.num_variables_;
1769 }
1770 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
1771 _this->_impl_.original_num_variables_ = from._impl_.original_num_variables_;
1772 }
1773 }
1774 _this->_impl_._has_bits_[0] |= cached_has_bits;
1775 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1776 from._internal_metadata_);
1777}
1778
1779void LinearBooleanProblem::CopyFrom(const LinearBooleanProblem& from) {
1780 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearBooleanProblem)
1781 if (&from == this) return;
1782 Clear();
1784}
1785
1786
1787void LinearBooleanProblem::InternalSwap(LinearBooleanProblem* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1788 using ::std::swap;
1789 auto* arena = GetArena();
1790 ABSL_DCHECK_EQ(arena, other->GetArena());
1791 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1792 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1793 _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
1794 _impl_.var_names_.InternalSwap(&other->_impl_.var_names_);
1795 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
1796 ::google::protobuf::internal::memswap<
1797 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.original_num_variables_)
1798 + sizeof(LinearBooleanProblem::_impl_.original_num_variables_)
1799 - PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, _impl_.objective_)>(
1800 reinterpret_cast<char*>(&_impl_.objective_),
1801 reinterpret_cast<char*>(&other->_impl_.objective_));
1802}
1803
1804::google::protobuf::Metadata LinearBooleanProblem::GetMetadata() const {
1805 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1806}
1807// @@protoc_insertion_point(namespace_scope)
1808} // namespace sat
1809} // namespace operations_research
1810namespace google {
1811namespace protobuf {
1812} // namespace protobuf
1813} // namespace google
1814// @@protoc_insertion_point(global_scope)
1815PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
1816 _static_init2_ [[maybe_unused]] =
1818 ::std::false_type{});
1819#include "google/protobuf/port_undef.inc"
static constexprconst ::_pb::EnumDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_enum_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
::absl::once_flag descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_once
const ::uint32_t TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
decltype(::std::declval< LinearBooleanConstraint >()._impl_._has_bits_) HasBits
decltype(::std::declval< LinearObjective >()._impl_._has_bits_) HasBits
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const BooleanAssignment &from)
void CopyFrom(const BooleanAssignment &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
friend void swap(LinearBooleanConstraint &a, LinearBooleanConstraint &b)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const LinearBooleanConstraint &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const LinearBooleanConstraint &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const LinearBooleanProblem &from)
void MergeFrom(const LinearBooleanProblem &from)
::google::protobuf::Metadata GetMetadata() const
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
friend class ::google::protobuf::MessageLite
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void MergeFrom(const LinearObjective &from)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend void swap(LinearObjective &a, LinearObjective &b)
void CopyFrom(const LinearObjective &from)
friend class ::google::protobuf::Arena
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BooleanAssignment_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearObjective_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearBooleanProblem_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearBooleanConstraint_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_
OR-Tools root namespace.