OR-Tools  9.2
boolean_problem.pb.cc
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: ortools/sat/boolean_problem.proto
3
5
6#include <algorithm>
7
8#include <google/protobuf/io/coded_stream.h>
9#include <google/protobuf/extension_set.h>
10#include <google/protobuf/wire_format_lite.h>
11#include <google/protobuf/descriptor.h>
12#include <google/protobuf/generated_message_reflection.h>
13#include <google/protobuf/reflection_ops.h>
14#include <google/protobuf/wire_format.h>
15// @@protoc_insertion_point(includes)
16#include <google/protobuf/port_def.inc>
17
18PROTOBUF_PRAGMA_INIT_SEG
19namespace operations_research {
20namespace sat {
22 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
23 : literals_()
24 , coefficients_()
25 , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
26 , lower_bound_(int64_t{0})
27 , upper_bound_(int64_t{0}){}
30 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
32 union {
34 };
35};
38 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
39 : literals_()
40 , coefficients_()
41 , offset_(0)
42 , scaling_factor_(1){}
45 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
47 union {
49 };
50};
51PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_;
53 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
54 : literals_(){}
57 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
59 union {
61 };
62};
63PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_;
65 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
66 : constraints_()
67 , var_names_()
68 , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
69 , objective_(nullptr)
70 , assignment_(nullptr)
71 , num_variables_(0)
72 , original_num_variables_(0){}
75 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
77 union {
79 };
80};
82} // namespace sat
83} // namespace operations_research
84static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fboolean_5fproblem_2eproto[4];
85static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto = nullptr;
86static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto = nullptr;
87
89 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _has_bits_),
90 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _internal_metadata_),
91 ~0u, // no _extensions_
92 ~0u, // no _oneof_case_
93 ~0u, // no _weak_field_map_
94 ~0u, // no _inlined_string_donated_
95 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, literals_),
96 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, coefficients_),
97 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, lower_bound_),
98 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, upper_bound_),
99 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, name_),
100 ~0u,
101 ~0u,
102 1,
103 2,
104 0,
105 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _has_bits_),
106 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _internal_metadata_),
107 ~0u, // no _extensions_
108 ~0u, // no _oneof_case_
109 ~0u, // no _weak_field_map_
110 ~0u, // no _inlined_string_donated_
111 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, literals_),
112 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, coefficients_),
113 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, offset_),
114 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, scaling_factor_),
115 ~0u,
116 ~0u,
117 0,
118 1,
119 ~0u, // no _has_bits_
120 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BooleanAssignment, _internal_metadata_),
121 ~0u, // no _extensions_
122 ~0u, // no _oneof_case_
123 ~0u, // no _weak_field_map_
124 ~0u, // no _inlined_string_donated_
125 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BooleanAssignment, literals_),
126 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _has_bits_),
127 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _internal_metadata_),
128 ~0u, // no _extensions_
129 ~0u, // no _oneof_case_
130 ~0u, // no _weak_field_map_
131 ~0u, // no _inlined_string_donated_
132 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, name_),
133 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, num_variables_),
134 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, constraints_),
136 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, var_names_),
137 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, assignment_),
138 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, original_num_variables_),
139 0,
140 3,
141 ~0u,
142 1,
143 ~0u,
144 2,
145 4,
146};
147static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
149 { 16, 26, -1, sizeof(::operations_research::sat::LinearObjective)},
152};
153
154static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
155 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearBooleanConstraint_default_instance_),
156 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearObjective_default_instance_),
157 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_BooleanAssignment_default_instance_),
158 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearBooleanProblem_default_instance_),
159};
160
161const char descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
162 "\n!ortools/sat/boolean_problem.proto\022\027ope"
163 "rations_research.sat\"{\n\027LinearBooleanCon"
164 "straint\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficient"
165 "s\030\002 \003(\003\022\023\n\013lower_bound\030\003 \001(\003\022\023\n\013upper_bo"
166 "und\030\004 \001(\003\022\016\n\004name\030\005 \001(\t:\000\"g\n\017LinearObjec"
167 "tive\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficients\030\002"
168 " \003(\003\022\021\n\006offset\030\003 \001(\001:\0010\022\031\n\016scaling_facto"
169 "r\030\004 \001(\001:\0011\"%\n\021BooleanAssignment\022\020\n\010liter"
170 "als\030\001 \003(\005\"\264\002\n\024LinearBooleanProblem\022\016\n\004na"
171 "me\030\001 \001(\t:\000\022\025\n\rnum_variables\030\003 \001(\005\022E\n\013con"
172 "straints\030\004 \003(\01320.operations_research.sat"
173 ".LinearBooleanConstraint\022;\n\tobjective\030\005 "
174 "\001(\0132(.operations_research.sat.LinearObje"
175 "ctive\022\021\n\tvar_names\030\006 \003(\t\022>\n\nassignment\030\007"
176 " \001(\0132*.operations_research.sat.BooleanAs"
177 "signment\022\036\n\026original_num_variables\030\010 \001(\005"
178 "B/\n\026com.google.ortools.satP\001\252\002\022Google.Or"
179 "Tools.Sat"
180 ;
181static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_once;
182const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto = {
183 false, false, 689, descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto, "ortools/sat/boolean_problem.proto",
187};
188PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_getter() {
190}
191
192// Force running AddDescriptors() at dynamic initialization time.
193PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_ortools_2fsat_2fboolean_5fproblem_2eproto(&descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto);
194namespace operations_research {
195namespace sat {
196
197// ===================================================================
198
200 public:
201 using HasBits = decltype(std::declval<LinearBooleanConstraint>()._has_bits_);
202 static void set_has_lower_bound(HasBits* has_bits) {
203 (*has_bits)[0] |= 2u;
204 }
205 static void set_has_upper_bound(HasBits* has_bits) {
206 (*has_bits)[0] |= 4u;
207 }
208 static void set_has_name(HasBits* has_bits) {
209 (*has_bits)[0] |= 1u;
210 }
211};
212
213LinearBooleanConstraint::LinearBooleanConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
214 bool is_message_owned)
215 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
216 literals_(arena),
217 coefficients_(arena) {
218 SharedCtor();
219 if (!is_message_owned) {
220 RegisterArenaDtor(arena);
221 }
222 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearBooleanConstraint)
223}
225 : ::PROTOBUF_NAMESPACE_ID::Message(),
226 _has_bits_(from._has_bits_),
227 literals_(from.literals_),
228 coefficients_(from.coefficients_) {
229 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
230 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
231 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
232 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
233 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
234 if (from._internal_has_name()) {
235 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
236 GetArenaForAllocation());
237 }
238 ::memcpy(&lower_bound_, &from.lower_bound_,
239 static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
240 reinterpret_cast<char*>(&lower_bound_)) + sizeof(upper_bound_));
241 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearBooleanConstraint)
242}
243
244inline void LinearBooleanConstraint::SharedCtor() {
245name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
246#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
247 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
248#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
249::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
250 reinterpret_cast<char*>(&lower_bound_) - reinterpret_cast<char*>(this)),
251 0, static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
252 reinterpret_cast<char*>(&lower_bound_)) + sizeof(upper_bound_));
253}
254
256 // @@protoc_insertion_point(destructor:operations_research.sat.LinearBooleanConstraint)
257 if (GetArenaForAllocation() != nullptr) return;
258 SharedDtor();
259 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
260}
261
262inline void LinearBooleanConstraint::SharedDtor() {
263 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
264 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
265}
266
267void LinearBooleanConstraint::ArenaDtor(void* object) {
268 LinearBooleanConstraint* _this = reinterpret_cast< LinearBooleanConstraint* >(object);
269 (void)_this;
270}
271void LinearBooleanConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
272}
273void LinearBooleanConstraint::SetCachedSize(int size) const {
274 _cached_size_.Set(size);
275}
276
278// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearBooleanConstraint)
279 uint32_t cached_has_bits = 0;
280 // Prevent compiler warnings about cached_has_bits being unused
281 (void) cached_has_bits;
282
283 literals_.Clear();
284 coefficients_.Clear();
285 cached_has_bits = _has_bits_[0];
286 if (cached_has_bits & 0x00000001u) {
287 name_.ClearNonDefaultToEmpty();
288 }
289 if (cached_has_bits & 0x00000006u) {
290 ::memset(&lower_bound_, 0, static_cast<size_t>(
291 reinterpret_cast<char*>(&upper_bound_) -
292 reinterpret_cast<char*>(&lower_bound_)) + sizeof(upper_bound_));
293 }
294 _has_bits_.Clear();
295 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
296}
297
298const char* LinearBooleanConstraint::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
299#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
300 _Internal::HasBits has_bits{};
301 while (!ctx->Done(&ptr)) {
302 uint32_t tag;
303 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
304 switch (tag >> 3) {
305 // repeated int32 literals = 1;
306 case 1:
307 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
308 ptr -= 1;
309 do {
310 ptr += 1;
311 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
312 CHK_(ptr);
313 if (!ctx->DataAvailable(ptr)) break;
314 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
315 } else if (static_cast<uint8_t>(tag) == 10) {
316 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
317 CHK_(ptr);
318 } else
319 goto handle_unusual;
320 continue;
321 // repeated int64 coefficients = 2;
322 case 2:
323 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
324 ptr -= 1;
325 do {
326 ptr += 1;
327 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
328 CHK_(ptr);
329 if (!ctx->DataAvailable(ptr)) break;
330 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
331 } else if (static_cast<uint8_t>(tag) == 18) {
332 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
333 CHK_(ptr);
334 } else
335 goto handle_unusual;
336 continue;
337 // optional int64 lower_bound = 3;
338 case 3:
339 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
341 lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
342 CHK_(ptr);
343 } else
344 goto handle_unusual;
345 continue;
346 // optional int64 upper_bound = 4;
347 case 4:
348 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
350 upper_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
351 CHK_(ptr);
352 } else
353 goto handle_unusual;
354 continue;
355 // optional string name = 5 [default = ""];
356 case 5:
357 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
358 auto str = _internal_mutable_name();
359 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
360 #ifndef NDEBUG
361 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.LinearBooleanConstraint.name");
362 #endif // !NDEBUG
363 CHK_(ptr);
364 } else
365 goto handle_unusual;
366 continue;
367 default:
368 goto handle_unusual;
369 } // switch
370 handle_unusual:
371 if ((tag == 0) || ((tag & 7) == 4)) {
372 CHK_(ptr);
373 ctx->SetLastTag(tag);
374 goto message_done;
375 }
376 ptr = UnknownFieldParse(
377 tag,
378 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
379 ptr, ctx);
380 CHK_(ptr != nullptr);
381 } // while
382message_done:
383 _has_bits_.Or(has_bits);
384 return ptr;
385failure:
386 ptr = nullptr;
387 goto message_done;
388#undef CHK_
389}
390
392 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
393 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearBooleanConstraint)
394 uint32_t cached_has_bits = 0;
395 (void) cached_has_bits;
396
397 // repeated int32 literals = 1;
398 for (int i = 0, n = this->_internal_literals_size(); i < n; i++) {
399 target = stream->EnsureSpace(target);
400 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
401 }
402
403 // repeated int64 coefficients = 2;
404 for (int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
405 target = stream->EnsureSpace(target);
406 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
407 }
408
409 cached_has_bits = _has_bits_[0];
410 // optional int64 lower_bound = 3;
411 if (cached_has_bits & 0x00000002u) {
412 target = stream->EnsureSpace(target);
413 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_lower_bound(), target);
414 }
415
416 // optional int64 upper_bound = 4;
417 if (cached_has_bits & 0x00000004u) {
418 target = stream->EnsureSpace(target);
419 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_upper_bound(), target);
420 }
421
422 // optional string name = 5 [default = ""];
423 if (cached_has_bits & 0x00000001u) {
424 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
425 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
426 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
427 "operations_research.sat.LinearBooleanConstraint.name");
428 target = stream->WriteStringMaybeAliased(
429 5, this->_internal_name(), target);
430 }
431
432 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
433 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
434 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
435 }
436 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearBooleanConstraint)
437 return target;
438}
439
441// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearBooleanConstraint)
442 size_t total_size = 0;
443
444 uint32_t cached_has_bits = 0;
445 // Prevent compiler warnings about cached_has_bits being unused
446 (void) cached_has_bits;
447
448 // repeated int32 literals = 1;
449 {
450 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
451 Int32Size(this->literals_);
452 total_size += 1 *
453 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
454 total_size += data_size;
455 }
456
457 // repeated int64 coefficients = 2;
458 {
459 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
460 Int64Size(this->coefficients_);
461 total_size += 1 *
462 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
463 total_size += data_size;
464 }
465
466 cached_has_bits = _has_bits_[0];
467 if (cached_has_bits & 0x00000007u) {
468 // optional string name = 5 [default = ""];
469 if (cached_has_bits & 0x00000001u) {
470 total_size += 1 +
471 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
472 this->_internal_name());
473 }
474
475 // optional int64 lower_bound = 3;
476 if (cached_has_bits & 0x00000002u) {
477 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_lower_bound());
478 }
479
480 // optional int64 upper_bound = 4;
481 if (cached_has_bits & 0x00000004u) {
482 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_upper_bound());
483 }
484
485 }
486 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
487}
488
489const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearBooleanConstraint::_class_data_ = {
490 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
491 LinearBooleanConstraint::MergeImpl
492};
493const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearBooleanConstraint::GetClassData() const { return &_class_data_; }
494
495void LinearBooleanConstraint::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
496 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
497 static_cast<LinearBooleanConstraint *>(to)->MergeFrom(
498 static_cast<const LinearBooleanConstraint &>(from));
499}
500
501
503// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearBooleanConstraint)
504 GOOGLE_DCHECK_NE(&from, this);
505 uint32_t cached_has_bits = 0;
506 (void) cached_has_bits;
507
508 literals_.MergeFrom(from.literals_);
509 coefficients_.MergeFrom(from.coefficients_);
510 cached_has_bits = from._has_bits_[0];
511 if (cached_has_bits & 0x00000007u) {
512 if (cached_has_bits & 0x00000001u) {
513 _internal_set_name(from._internal_name());
514 }
515 if (cached_has_bits & 0x00000002u) {
516 lower_bound_ = from.lower_bound_;
517 }
518 if (cached_has_bits & 0x00000004u) {
519 upper_bound_ = from.upper_bound_;
520 }
521 _has_bits_[0] |= cached_has_bits;
522 }
523 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
524}
525
527// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearBooleanConstraint)
528 if (&from == this) return;
529 Clear();
530 MergeFrom(from);
531}
532
534 return true;
535}
536
537void LinearBooleanConstraint::InternalSwap(LinearBooleanConstraint* other) {
538 using std::swap;
539 auto* lhs_arena = GetArenaForAllocation();
540 auto* rhs_arena = other->GetArenaForAllocation();
541 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
542 swap(_has_bits_[0], other->_has_bits_[0]);
543 literals_.InternalSwap(&other->literals_);
544 coefficients_.InternalSwap(&other->coefficients_);
545 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
546 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
547 &name_, lhs_arena,
548 &other->name_, rhs_arena
549 );
550 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
551 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, upper_bound_)
552 + sizeof(LinearBooleanConstraint::upper_bound_)
553 - PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, lower_bound_)>(
554 reinterpret_cast<char*>(&lower_bound_),
555 reinterpret_cast<char*>(&other->lower_bound_));
556}
557
558::PROTOBUF_NAMESPACE_ID::Metadata LinearBooleanConstraint::GetMetadata() const {
559 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
562}
563
564// ===================================================================
565
567 public:
568 using HasBits = decltype(std::declval<LinearObjective>()._has_bits_);
569 static void set_has_offset(HasBits* has_bits) {
570 (*has_bits)[0] |= 1u;
571 }
572 static void set_has_scaling_factor(HasBits* has_bits) {
573 (*has_bits)[0] |= 2u;
574 }
575};
576
577LinearObjective::LinearObjective(::PROTOBUF_NAMESPACE_ID::Arena* arena,
578 bool is_message_owned)
579 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
580 literals_(arena),
581 coefficients_(arena) {
582 SharedCtor();
583 if (!is_message_owned) {
584 RegisterArenaDtor(arena);
585 }
586 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearObjective)
587}
589 : ::PROTOBUF_NAMESPACE_ID::Message(),
590 _has_bits_(from._has_bits_),
591 literals_(from.literals_),
592 coefficients_(from.coefficients_) {
593 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
594 ::memcpy(&offset_, &from.offset_,
595 static_cast<size_t>(reinterpret_cast<char*>(&scaling_factor_) -
596 reinterpret_cast<char*>(&offset_)) + sizeof(scaling_factor_));
597 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearObjective)
598}
599
600inline void LinearObjective::SharedCtor() {
601offset_ = 0;
602scaling_factor_ = 1;
603}
604
606 // @@protoc_insertion_point(destructor:operations_research.sat.LinearObjective)
607 if (GetArenaForAllocation() != nullptr) return;
608 SharedDtor();
609 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
610}
611
612inline void LinearObjective::SharedDtor() {
613 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
614}
615
616void LinearObjective::ArenaDtor(void* object) {
617 LinearObjective* _this = reinterpret_cast< LinearObjective* >(object);
618 (void)_this;
619}
620void LinearObjective::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
621}
622void LinearObjective::SetCachedSize(int size) const {
623 _cached_size_.Set(size);
624}
625
627// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearObjective)
628 uint32_t cached_has_bits = 0;
629 // Prevent compiler warnings about cached_has_bits being unused
630 (void) cached_has_bits;
631
632 literals_.Clear();
633 coefficients_.Clear();
634 cached_has_bits = _has_bits_[0];
635 if (cached_has_bits & 0x00000003u) {
636 offset_ = 0;
637 scaling_factor_ = 1;
638 }
639 _has_bits_.Clear();
640 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
641}
642
643const char* LinearObjective::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
644#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
645 _Internal::HasBits has_bits{};
646 while (!ctx->Done(&ptr)) {
647 uint32_t tag;
648 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
649 switch (tag >> 3) {
650 // repeated int32 literals = 1;
651 case 1:
652 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
653 ptr -= 1;
654 do {
655 ptr += 1;
656 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
657 CHK_(ptr);
658 if (!ctx->DataAvailable(ptr)) break;
659 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
660 } else if (static_cast<uint8_t>(tag) == 10) {
661 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
662 CHK_(ptr);
663 } else
664 goto handle_unusual;
665 continue;
666 // repeated int64 coefficients = 2;
667 case 2:
668 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
669 ptr -= 1;
670 do {
671 ptr += 1;
672 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
673 CHK_(ptr);
674 if (!ctx->DataAvailable(ptr)) break;
675 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
676 } else if (static_cast<uint8_t>(tag) == 18) {
677 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
678 CHK_(ptr);
679 } else
680 goto handle_unusual;
681 continue;
682 // optional double offset = 3 [default = 0];
683 case 3:
684 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) {
685 _Internal::set_has_offset(&has_bits);
686 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
687 ptr += sizeof(double);
688 } else
689 goto handle_unusual;
690 continue;
691 // optional double scaling_factor = 4 [default = 1];
692 case 4:
693 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 33)) {
695 scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
696 ptr += sizeof(double);
697 } else
698 goto handle_unusual;
699 continue;
700 default:
701 goto handle_unusual;
702 } // switch
703 handle_unusual:
704 if ((tag == 0) || ((tag & 7) == 4)) {
705 CHK_(ptr);
706 ctx->SetLastTag(tag);
707 goto message_done;
708 }
709 ptr = UnknownFieldParse(
710 tag,
711 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
712 ptr, ctx);
713 CHK_(ptr != nullptr);
714 } // while
715message_done:
716 _has_bits_.Or(has_bits);
717 return ptr;
718failure:
719 ptr = nullptr;
720 goto message_done;
721#undef CHK_
722}
723
725 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
726 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearObjective)
727 uint32_t cached_has_bits = 0;
728 (void) cached_has_bits;
729
730 // repeated int32 literals = 1;
731 for (int i = 0, n = this->_internal_literals_size(); i < n; i++) {
732 target = stream->EnsureSpace(target);
733 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
734 }
735
736 // repeated int64 coefficients = 2;
737 for (int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
738 target = stream->EnsureSpace(target);
739 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
740 }
741
742 cached_has_bits = _has_bits_[0];
743 // optional double offset = 3 [default = 0];
744 if (cached_has_bits & 0x00000001u) {
745 target = stream->EnsureSpace(target);
746 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_offset(), target);
747 }
748
749 // optional double scaling_factor = 4 [default = 1];
750 if (cached_has_bits & 0x00000002u) {
751 target = stream->EnsureSpace(target);
752 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_scaling_factor(), target);
753 }
754
755 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
756 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
757 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
758 }
759 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearObjective)
760 return target;
761}
762
764// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearObjective)
765 size_t total_size = 0;
766
767 uint32_t cached_has_bits = 0;
768 // Prevent compiler warnings about cached_has_bits being unused
769 (void) cached_has_bits;
770
771 // repeated int32 literals = 1;
772 {
773 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
774 Int32Size(this->literals_);
775 total_size += 1 *
776 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
777 total_size += data_size;
778 }
779
780 // repeated int64 coefficients = 2;
781 {
782 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
783 Int64Size(this->coefficients_);
784 total_size += 1 *
785 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
786 total_size += data_size;
787 }
788
789 cached_has_bits = _has_bits_[0];
790 if (cached_has_bits & 0x00000003u) {
791 // optional double offset = 3 [default = 0];
792 if (cached_has_bits & 0x00000001u) {
793 total_size += 1 + 8;
794 }
795
796 // optional double scaling_factor = 4 [default = 1];
797 if (cached_has_bits & 0x00000002u) {
798 total_size += 1 + 8;
799 }
800
801 }
802 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
803}
804
805const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearObjective::_class_data_ = {
806 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
807 LinearObjective::MergeImpl
808};
809const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearObjective::GetClassData() const { return &_class_data_; }
810
811void LinearObjective::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
812 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
813 static_cast<LinearObjective *>(to)->MergeFrom(
814 static_cast<const LinearObjective &>(from));
815}
816
817
819// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearObjective)
820 GOOGLE_DCHECK_NE(&from, this);
821 uint32_t cached_has_bits = 0;
822 (void) cached_has_bits;
823
824 literals_.MergeFrom(from.literals_);
825 coefficients_.MergeFrom(from.coefficients_);
826 cached_has_bits = from._has_bits_[0];
827 if (cached_has_bits & 0x00000003u) {
828 if (cached_has_bits & 0x00000001u) {
829 offset_ = from.offset_;
830 }
831 if (cached_has_bits & 0x00000002u) {
832 scaling_factor_ = from.scaling_factor_;
833 }
834 _has_bits_[0] |= cached_has_bits;
835 }
836 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
837}
838
840// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearObjective)
841 if (&from == this) return;
842 Clear();
843 MergeFrom(from);
844}
845
847 return true;
848}
849
850void LinearObjective::InternalSwap(LinearObjective* other) {
851 using std::swap;
852 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
853 swap(_has_bits_[0], other->_has_bits_[0]);
854 literals_.InternalSwap(&other->literals_);
855 coefficients_.InternalSwap(&other->coefficients_);
856 swap(offset_, other->offset_);
857 swap(scaling_factor_, other->scaling_factor_);
858}
859
860::PROTOBUF_NAMESPACE_ID::Metadata LinearObjective::GetMetadata() const {
861 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
864}
865
866// ===================================================================
867
869 public:
870};
871
872BooleanAssignment::BooleanAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena,
873 bool is_message_owned)
874 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
875 literals_(arena) {
876 SharedCtor();
877 if (!is_message_owned) {
878 RegisterArenaDtor(arena);
879 }
880 // @@protoc_insertion_point(arena_constructor:operations_research.sat.BooleanAssignment)
881}
883 : ::PROTOBUF_NAMESPACE_ID::Message(),
884 literals_(from.literals_) {
885 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
886 // @@protoc_insertion_point(copy_constructor:operations_research.sat.BooleanAssignment)
887}
888
889inline void BooleanAssignment::SharedCtor() {
890}
891
893 // @@protoc_insertion_point(destructor:operations_research.sat.BooleanAssignment)
894 if (GetArenaForAllocation() != nullptr) return;
895 SharedDtor();
896 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
897}
898
899inline void BooleanAssignment::SharedDtor() {
900 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
901}
902
903void BooleanAssignment::ArenaDtor(void* object) {
904 BooleanAssignment* _this = reinterpret_cast< BooleanAssignment* >(object);
905 (void)_this;
906}
907void BooleanAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
908}
909void BooleanAssignment::SetCachedSize(int size) const {
910 _cached_size_.Set(size);
911}
912
914// @@protoc_insertion_point(message_clear_start:operations_research.sat.BooleanAssignment)
915 uint32_t cached_has_bits = 0;
916 // Prevent compiler warnings about cached_has_bits being unused
917 (void) cached_has_bits;
918
919 literals_.Clear();
920 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
921}
922
923const char* BooleanAssignment::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
924#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
925 while (!ctx->Done(&ptr)) {
926 uint32_t tag;
927 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
928 switch (tag >> 3) {
929 // repeated int32 literals = 1;
930 case 1:
931 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
932 ptr -= 1;
933 do {
934 ptr += 1;
935 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
936 CHK_(ptr);
937 if (!ctx->DataAvailable(ptr)) break;
938 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
939 } else if (static_cast<uint8_t>(tag) == 10) {
940 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
941 CHK_(ptr);
942 } else
943 goto handle_unusual;
944 continue;
945 default:
946 goto handle_unusual;
947 } // switch
948 handle_unusual:
949 if ((tag == 0) || ((tag & 7) == 4)) {
950 CHK_(ptr);
951 ctx->SetLastTag(tag);
952 goto message_done;
953 }
954 ptr = UnknownFieldParse(
955 tag,
956 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
957 ptr, ctx);
958 CHK_(ptr != nullptr);
959 } // while
960message_done:
961 return ptr;
962failure:
963 ptr = nullptr;
964 goto message_done;
965#undef CHK_
966}
967
969 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
970 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.BooleanAssignment)
971 uint32_t cached_has_bits = 0;
972 (void) cached_has_bits;
973
974 // repeated int32 literals = 1;
975 for (int i = 0, n = this->_internal_literals_size(); i < n; i++) {
976 target = stream->EnsureSpace(target);
977 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
978 }
979
980 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
981 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
982 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
983 }
984 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.BooleanAssignment)
985 return target;
986}
987
989// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.BooleanAssignment)
990 size_t total_size = 0;
991
992 uint32_t cached_has_bits = 0;
993 // Prevent compiler warnings about cached_has_bits being unused
994 (void) cached_has_bits;
995
996 // repeated int32 literals = 1;
997 {
998 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
999 Int32Size(this->literals_);
1000 total_size += 1 *
1001 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
1002 total_size += data_size;
1003 }
1004
1005 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1006}
1007
1008const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BooleanAssignment::_class_data_ = {
1009 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1010 BooleanAssignment::MergeImpl
1011};
1012const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BooleanAssignment::GetClassData() const { return &_class_data_; }
1013
1014void BooleanAssignment::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1015 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1016 static_cast<BooleanAssignment *>(to)->MergeFrom(
1017 static_cast<const BooleanAssignment &>(from));
1018}
1019
1020
1022// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.BooleanAssignment)
1023 GOOGLE_DCHECK_NE(&from, this);
1024 uint32_t cached_has_bits = 0;
1025 (void) cached_has_bits;
1026
1027 literals_.MergeFrom(from.literals_);
1028 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1029}
1030
1032// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.BooleanAssignment)
1033 if (&from == this) return;
1034 Clear();
1035 MergeFrom(from);
1036}
1037
1039 return true;
1040}
1041
1042void BooleanAssignment::InternalSwap(BooleanAssignment* other) {
1043 using std::swap;
1044 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1045 literals_.InternalSwap(&other->literals_);
1046}
1047
1048::PROTOBUF_NAMESPACE_ID::Metadata BooleanAssignment::GetMetadata() const {
1049 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1052}
1053
1054// ===================================================================
1055
1057 public:
1058 using HasBits = decltype(std::declval<LinearBooleanProblem>()._has_bits_);
1059 static void set_has_name(HasBits* has_bits) {
1060 (*has_bits)[0] |= 1u;
1061 }
1062 static void set_has_num_variables(HasBits* has_bits) {
1063 (*has_bits)[0] |= 8u;
1064 }
1065 static const ::operations_research::sat::LinearObjective& objective(const LinearBooleanProblem* msg);
1066 static void set_has_objective(HasBits* has_bits) {
1067 (*has_bits)[0] |= 2u;
1068 }
1069 static const ::operations_research::sat::BooleanAssignment& assignment(const LinearBooleanProblem* msg);
1070 static void set_has_assignment(HasBits* has_bits) {
1071 (*has_bits)[0] |= 4u;
1072 }
1074 (*has_bits)[0] |= 16u;
1075 }
1076};
1077
1078const ::operations_research::sat::LinearObjective&
1080 return *msg->objective_;
1081}
1082const ::operations_research::sat::BooleanAssignment&
1084 return *msg->assignment_;
1085}
1086LinearBooleanProblem::LinearBooleanProblem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1087 bool is_message_owned)
1088 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1089 constraints_(arena),
1090 var_names_(arena) {
1091 SharedCtor();
1092 if (!is_message_owned) {
1093 RegisterArenaDtor(arena);
1094 }
1095 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearBooleanProblem)
1096}
1098 : ::PROTOBUF_NAMESPACE_ID::Message(),
1099 _has_bits_(from._has_bits_),
1100 constraints_(from.constraints_),
1101 var_names_(from.var_names_) {
1102 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1103 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1104 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1105 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1106 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1107 if (from._internal_has_name()) {
1108 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1109 GetArenaForAllocation());
1110 }
1111 if (from._internal_has_objective()) {
1112 objective_ = new ::operations_research::sat::LinearObjective(*from.objective_);
1113 } else {
1114 objective_ = nullptr;
1115 }
1116 if (from._internal_has_assignment()) {
1117 assignment_ = new ::operations_research::sat::BooleanAssignment(*from.assignment_);
1118 } else {
1119 assignment_ = nullptr;
1120 }
1121 ::memcpy(&num_variables_, &from.num_variables_,
1122 static_cast<size_t>(reinterpret_cast<char*>(&original_num_variables_) -
1123 reinterpret_cast<char*>(&num_variables_)) + sizeof(original_num_variables_));
1124 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearBooleanProblem)
1125}
1126
1127inline void LinearBooleanProblem::SharedCtor() {
1128name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1129#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1130 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1131#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1132::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
1133 reinterpret_cast<char*>(&objective_) - reinterpret_cast<char*>(this)),
1134 0, static_cast<size_t>(reinterpret_cast<char*>(&original_num_variables_) -
1135 reinterpret_cast<char*>(&objective_)) + sizeof(original_num_variables_));
1136}
1137
1139 // @@protoc_insertion_point(destructor:operations_research.sat.LinearBooleanProblem)
1140 if (GetArenaForAllocation() != nullptr) return;
1141 SharedDtor();
1142 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1143}
1144
1145inline void LinearBooleanProblem::SharedDtor() {
1146 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1147 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1148 if (this != internal_default_instance()) delete objective_;
1149 if (this != internal_default_instance()) delete assignment_;
1150}
1151
1152void LinearBooleanProblem::ArenaDtor(void* object) {
1153 LinearBooleanProblem* _this = reinterpret_cast< LinearBooleanProblem* >(object);
1154 (void)_this;
1155}
1156void LinearBooleanProblem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1157}
1158void LinearBooleanProblem::SetCachedSize(int size) const {
1159 _cached_size_.Set(size);
1160}
1161
1163// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearBooleanProblem)
1164 uint32_t cached_has_bits = 0;
1165 // Prevent compiler warnings about cached_has_bits being unused
1166 (void) cached_has_bits;
1167
1168 constraints_.Clear();
1169 var_names_.Clear();
1170 cached_has_bits = _has_bits_[0];
1171 if (cached_has_bits & 0x00000007u) {
1172 if (cached_has_bits & 0x00000001u) {
1173 name_.ClearNonDefaultToEmpty();
1174 }
1175 if (cached_has_bits & 0x00000002u) {
1176 GOOGLE_DCHECK(objective_ != nullptr);
1177 objective_->Clear();
1178 }
1179 if (cached_has_bits & 0x00000004u) {
1180 GOOGLE_DCHECK(assignment_ != nullptr);
1181 assignment_->Clear();
1182 }
1183 }
1184 if (cached_has_bits & 0x00000018u) {
1185 ::memset(&num_variables_, 0, static_cast<size_t>(
1186 reinterpret_cast<char*>(&original_num_variables_) -
1187 reinterpret_cast<char*>(&num_variables_)) + sizeof(original_num_variables_));
1188 }
1189 _has_bits_.Clear();
1190 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1191}
1192
1193const char* LinearBooleanProblem::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1194#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1195 _Internal::HasBits has_bits{};
1196 while (!ctx->Done(&ptr)) {
1197 uint32_t tag;
1198 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1199 switch (tag >> 3) {
1200 // optional string name = 1 [default = ""];
1201 case 1:
1202 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
1203 auto str = _internal_mutable_name();
1204 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1205 #ifndef NDEBUG
1206 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.LinearBooleanProblem.name");
1207 #endif // !NDEBUG
1208 CHK_(ptr);
1209 } else
1210 goto handle_unusual;
1211 continue;
1212 // optional int32 num_variables = 3;
1213 case 3:
1214 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
1216 num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1217 CHK_(ptr);
1218 } else
1219 goto handle_unusual;
1220 continue;
1221 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1222 case 4:
1223 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
1224 ptr -= 1;
1225 do {
1226 ptr += 1;
1227 ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
1228 CHK_(ptr);
1229 if (!ctx->DataAvailable(ptr)) break;
1230 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
1231 } else
1232 goto handle_unusual;
1233 continue;
1234 // optional .operations_research.sat.LinearObjective objective = 5;
1235 case 5:
1236 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
1237 ptr = ctx->ParseMessage(_internal_mutable_objective(), ptr);
1238 CHK_(ptr);
1239 } else
1240 goto handle_unusual;
1241 continue;
1242 // repeated string var_names = 6;
1243 case 6:
1244 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
1245 ptr -= 1;
1246 do {
1247 ptr += 1;
1248 auto str = _internal_add_var_names();
1249 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1250 #ifndef NDEBUG
1251 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.LinearBooleanProblem.var_names");
1252 #endif // !NDEBUG
1253 CHK_(ptr);
1254 if (!ctx->DataAvailable(ptr)) break;
1255 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
1256 } else
1257 goto handle_unusual;
1258 continue;
1259 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1260 case 7:
1261 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
1262 ptr = ctx->ParseMessage(_internal_mutable_assignment(), ptr);
1263 CHK_(ptr);
1264 } else
1265 goto handle_unusual;
1266 continue;
1267 // optional int32 original_num_variables = 8;
1268 case 8:
1269 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
1271 original_num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1272 CHK_(ptr);
1273 } else
1274 goto handle_unusual;
1275 continue;
1276 default:
1277 goto handle_unusual;
1278 } // switch
1279 handle_unusual:
1280 if ((tag == 0) || ((tag & 7) == 4)) {
1281 CHK_(ptr);
1282 ctx->SetLastTag(tag);
1283 goto message_done;
1284 }
1285 ptr = UnknownFieldParse(
1286 tag,
1287 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1288 ptr, ctx);
1289 CHK_(ptr != nullptr);
1290 } // while
1291message_done:
1292 _has_bits_.Or(has_bits);
1293 return ptr;
1294failure:
1295 ptr = nullptr;
1296 goto message_done;
1297#undef CHK_
1298}
1299
1301 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1302 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearBooleanProblem)
1303 uint32_t cached_has_bits = 0;
1304 (void) cached_has_bits;
1305
1306 cached_has_bits = _has_bits_[0];
1307 // optional string name = 1 [default = ""];
1308 if (cached_has_bits & 0x00000001u) {
1309 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1310 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1311 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1312 "operations_research.sat.LinearBooleanProblem.name");
1313 target = stream->WriteStringMaybeAliased(
1314 1, this->_internal_name(), target);
1315 }
1316
1317 // optional int32 num_variables = 3;
1318 if (cached_has_bits & 0x00000008u) {
1319 target = stream->EnsureSpace(target);
1320 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_num_variables(), target);
1321 }
1322
1323 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1324 for (unsigned int i = 0,
1325 n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
1326 target = stream->EnsureSpace(target);
1327 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1328 InternalWriteMessage(4, this->_internal_constraints(i), target, stream);
1329 }
1330
1331 // optional .operations_research.sat.LinearObjective objective = 5;
1332 if (cached_has_bits & 0x00000002u) {
1333 target = stream->EnsureSpace(target);
1334 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1335 InternalWriteMessage(
1336 5, _Internal::objective(this), target, stream);
1337 }
1338
1339 // repeated string var_names = 6;
1340 for (int i = 0, n = this->_internal_var_names_size(); i < n; i++) {
1341 const auto& s = this->_internal_var_names(i);
1342 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1343 s.data(), static_cast<int>(s.length()),
1344 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1345 "operations_research.sat.LinearBooleanProblem.var_names");
1346 target = stream->WriteString(6, s, target);
1347 }
1348
1349 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1350 if (cached_has_bits & 0x00000004u) {
1351 target = stream->EnsureSpace(target);
1352 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1353 InternalWriteMessage(
1354 7, _Internal::assignment(this), target, stream);
1355 }
1356
1357 // optional int32 original_num_variables = 8;
1358 if (cached_has_bits & 0x00000010u) {
1359 target = stream->EnsureSpace(target);
1360 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_original_num_variables(), target);
1361 }
1362
1363 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1364 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1365 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1366 }
1367 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearBooleanProblem)
1368 return target;
1369}
1370
1372// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearBooleanProblem)
1373 size_t total_size = 0;
1374
1375 uint32_t cached_has_bits = 0;
1376 // Prevent compiler warnings about cached_has_bits being unused
1377 (void) cached_has_bits;
1378
1379 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1380 total_size += 1UL * this->_internal_constraints_size();
1381 for (const auto& msg : this->constraints_) {
1382 total_size +=
1383 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1384 }
1385
1386 // repeated string var_names = 6;
1387 total_size += 1 *
1388 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(var_names_.size());
1389 for (int i = 0, n = var_names_.size(); i < n; i++) {
1390 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1391 var_names_.Get(i));
1392 }
1393
1394 cached_has_bits = _has_bits_[0];
1395 if (cached_has_bits & 0x0000001fu) {
1396 // optional string name = 1 [default = ""];
1397 if (cached_has_bits & 0x00000001u) {
1398 total_size += 1 +
1399 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1400 this->_internal_name());
1401 }
1402
1403 // optional .operations_research.sat.LinearObjective objective = 5;
1404 if (cached_has_bits & 0x00000002u) {
1405 total_size += 1 +
1406 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1407 *objective_);
1408 }
1409
1410 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1411 if (cached_has_bits & 0x00000004u) {
1412 total_size += 1 +
1413 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1414 *assignment_);
1415 }
1416
1417 // optional int32 num_variables = 3;
1418 if (cached_has_bits & 0x00000008u) {
1419 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_num_variables());
1420 }
1421
1422 // optional int32 original_num_variables = 8;
1423 if (cached_has_bits & 0x00000010u) {
1424 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_original_num_variables());
1425 }
1426
1427 }
1428 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1429}
1430
1431const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearBooleanProblem::_class_data_ = {
1432 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1433 LinearBooleanProblem::MergeImpl
1434};
1435const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearBooleanProblem::GetClassData() const { return &_class_data_; }
1436
1437void LinearBooleanProblem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1438 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1439 static_cast<LinearBooleanProblem *>(to)->MergeFrom(
1440 static_cast<const LinearBooleanProblem &>(from));
1441}
1442
1443
1445// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearBooleanProblem)
1446 GOOGLE_DCHECK_NE(&from, this);
1447 uint32_t cached_has_bits = 0;
1448 (void) cached_has_bits;
1449
1450 constraints_.MergeFrom(from.constraints_);
1451 var_names_.MergeFrom(from.var_names_);
1452 cached_has_bits = from._has_bits_[0];
1453 if (cached_has_bits & 0x0000001fu) {
1454 if (cached_has_bits & 0x00000001u) {
1455 _internal_set_name(from._internal_name());
1456 }
1457 if (cached_has_bits & 0x00000002u) {
1458 _internal_mutable_objective()->::operations_research::sat::LinearObjective::MergeFrom(from._internal_objective());
1459 }
1460 if (cached_has_bits & 0x00000004u) {
1461 _internal_mutable_assignment()->::operations_research::sat::BooleanAssignment::MergeFrom(from._internal_assignment());
1462 }
1463 if (cached_has_bits & 0x00000008u) {
1464 num_variables_ = from.num_variables_;
1465 }
1466 if (cached_has_bits & 0x00000010u) {
1467 original_num_variables_ = from.original_num_variables_;
1468 }
1469 _has_bits_[0] |= cached_has_bits;
1470 }
1471 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1472}
1473
1475// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearBooleanProblem)
1476 if (&from == this) return;
1477 Clear();
1478 MergeFrom(from);
1479}
1480
1482 return true;
1483}
1484
1485void LinearBooleanProblem::InternalSwap(LinearBooleanProblem* other) {
1486 using std::swap;
1487 auto* lhs_arena = GetArenaForAllocation();
1488 auto* rhs_arena = other->GetArenaForAllocation();
1489 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1490 swap(_has_bits_[0], other->_has_bits_[0]);
1491 constraints_.InternalSwap(&other->constraints_);
1492 var_names_.InternalSwap(&other->var_names_);
1493 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
1494 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1495 &name_, lhs_arena,
1496 &other->name_, rhs_arena
1497 );
1498 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1499 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, original_num_variables_)
1500 + sizeof(LinearBooleanProblem::original_num_variables_)
1501 - PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, objective_)>(
1502 reinterpret_cast<char*>(&objective_),
1503 reinterpret_cast<char*>(&other->objective_));
1504}
1505
1506::PROTOBUF_NAMESPACE_ID::Metadata LinearBooleanProblem::GetMetadata() const {
1507 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1510}
1511
1512// @@protoc_insertion_point(namespace_scope)
1513} // namespace sat
1514} // namespace operations_research
1515PROTOBUF_NAMESPACE_OPEN
1516template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanConstraint* Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanConstraint >(Arena* arena) {
1517 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanConstraint >(arena);
1518}
1519template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearObjective* Arena::CreateMaybeMessage< ::operations_research::sat::LinearObjective >(Arena* arena) {
1520 return Arena::CreateMessageInternal< ::operations_research::sat::LinearObjective >(arena);
1521}
1522template<> PROTOBUF_NOINLINE ::operations_research::sat::BooleanAssignment* Arena::CreateMaybeMessage< ::operations_research::sat::BooleanAssignment >(Arena* arena) {
1523 return Arena::CreateMessageInternal< ::operations_research::sat::BooleanAssignment >(arena);
1524}
1525template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanProblem* Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanProblem >(Arena* arena) {
1526 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanProblem >(arena);
1527}
1528PROTOBUF_NAMESPACE_CLOSE
1529
1530// @@protoc_insertion_point(global_scope)
1531#include <google/protobuf/port_undef.inc>
PROTOBUF_NOINLINE::operations_research::sat::BooleanAssignment * Arena::CreateMaybeMessage< ::operations_research::sat::BooleanAssignment >(Arena *arena)
#define CHK_(x)
PROTOBUF_NOINLINE::operations_research::sat::LinearObjective * Arena::CreateMaybeMessage< ::operations_research::sat::LinearObjective >(Arena *arena)
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_getter()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_once
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
const uint32_t TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static constexpr::PROTOBUF_NAMESPACE_ID::EnumDescriptor const ** file_level_enum_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
PROTOBUF_NOINLINE::operations_research::sat::LinearBooleanProblem * Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanProblem >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fboolean_5fproblem_2eproto[4]
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE::operations_research::sat::LinearBooleanConstraint * Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanConstraint >(Arena *arena)
static constexpr::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
void MergeFrom(const BooleanAssignment &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void CopyFrom(const BooleanAssignment &from)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
decltype(std::declval< LinearBooleanConstraint >()._has_bits_) HasBits
friend void swap(LinearBooleanConstraint &a, LinearBooleanConstraint &b)
void CopyFrom(const LinearBooleanConstraint &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const LinearBooleanConstraint &from)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
decltype(std::declval< LinearBooleanProblem >()._has_bits_) HasBits
static const ::operations_research::sat::BooleanAssignment & assignment(const LinearBooleanProblem *msg)
static const ::operations_research::sat::LinearObjective & objective(const LinearBooleanProblem *msg)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const LinearBooleanProblem &from)
void CopyFrom(const LinearBooleanProblem &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const LinearBooleanProblem * internal_default_instance()
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
friend void swap(LinearBooleanProblem &a, LinearBooleanProblem &b)
decltype(std::declval< LinearObjective >()._has_bits_) HasBits
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const LinearObjective &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void MergeFrom(const LinearObjective &from)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
friend void swap(LinearObjective &a, LinearObjective &b)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const int64_t offset_
Definition: interval.cc:2108
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
Definition: id_map.h:263
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_
Collection of objects used to extend the Constraint Solver library.
static constexpr::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
IntVar *const objective_
Definition: search.cc:3017