OR-Tools  9.1
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
88const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
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 if (from._internal_has_name()) {
232 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
233 GetArenaForAllocation());
234 }
235 ::memcpy(&lower_bound_, &from.lower_bound_,
236 static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
237 reinterpret_cast<char*>(&lower_bound_)) + sizeof(upper_bound_));
238 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearBooleanConstraint)
239}
240
241void LinearBooleanConstraint::SharedCtor() {
242name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
243::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
244 reinterpret_cast<char*>(&lower_bound_) - reinterpret_cast<char*>(this)),
245 0, static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
246 reinterpret_cast<char*>(&lower_bound_)) + sizeof(upper_bound_));
247}
248
250 // @@protoc_insertion_point(destructor:operations_research.sat.LinearBooleanConstraint)
251 if (GetArenaForAllocation() != nullptr) return;
252 SharedDtor();
253 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
254}
255
256inline void LinearBooleanConstraint::SharedDtor() {
257 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
258 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
259}
260
261void LinearBooleanConstraint::ArenaDtor(void* object) {
262 LinearBooleanConstraint* _this = reinterpret_cast< LinearBooleanConstraint* >(object);
263 (void)_this;
264}
265void LinearBooleanConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
266}
267void LinearBooleanConstraint::SetCachedSize(int size) const {
268 _cached_size_.Set(size);
269}
270
272// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearBooleanConstraint)
273 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
274 // Prevent compiler warnings about cached_has_bits being unused
275 (void) cached_has_bits;
276
277 literals_.Clear();
278 coefficients_.Clear();
279 cached_has_bits = _has_bits_[0];
280 if (cached_has_bits & 0x00000001u) {
281 name_.ClearNonDefaultToEmpty();
282 }
283 if (cached_has_bits & 0x00000006u) {
284 ::memset(&lower_bound_, 0, static_cast<size_t>(
285 reinterpret_cast<char*>(&upper_bound_) -
286 reinterpret_cast<char*>(&lower_bound_)) + sizeof(upper_bound_));
287 }
288 _has_bits_.Clear();
289 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
290}
291
292const char* LinearBooleanConstraint::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
293#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
294 _Internal::HasBits has_bits{};
295 while (!ctx->Done(&ptr)) {
296 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
297 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
298 switch (tag >> 3) {
299 // repeated int32 literals = 1;
300 case 1:
301 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
302 ptr -= 1;
303 do {
304 ptr += 1;
305 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
306 CHK_(ptr);
307 if (!ctx->DataAvailable(ptr)) break;
308 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
309 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
310 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
311 CHK_(ptr);
312 } else
313 goto handle_unusual;
314 continue;
315 // repeated int64 coefficients = 2;
316 case 2:
317 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
318 ptr -= 1;
319 do {
320 ptr += 1;
321 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
322 CHK_(ptr);
323 if (!ctx->DataAvailable(ptr)) break;
324 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
325 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
326 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
327 CHK_(ptr);
328 } else
329 goto handle_unusual;
330 continue;
331 // optional int64 lower_bound = 3;
332 case 3:
333 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
335 lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
336 CHK_(ptr);
337 } else
338 goto handle_unusual;
339 continue;
340 // optional int64 upper_bound = 4;
341 case 4:
342 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
344 upper_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
345 CHK_(ptr);
346 } else
347 goto handle_unusual;
348 continue;
349 // optional string name = 5 [default = ""];
350 case 5:
351 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
352 auto str = _internal_mutable_name();
353 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
354 #ifndef NDEBUG
355 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.LinearBooleanConstraint.name");
356 #endif // !NDEBUG
357 CHK_(ptr);
358 } else
359 goto handle_unusual;
360 continue;
361 default:
362 goto handle_unusual;
363 } // switch
364 handle_unusual:
365 if ((tag == 0) || ((tag & 7) == 4)) {
366 CHK_(ptr);
367 ctx->SetLastTag(tag);
368 goto message_done;
369 }
370 ptr = UnknownFieldParse(
371 tag,
372 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
373 ptr, ctx);
374 CHK_(ptr != nullptr);
375 } // while
376message_done:
377 _has_bits_.Or(has_bits);
378 return ptr;
379failure:
380 ptr = nullptr;
381 goto message_done;
382#undef CHK_
383}
384
385::PROTOBUF_NAMESPACE_ID::uint8* LinearBooleanConstraint::_InternalSerialize(
386 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
387 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearBooleanConstraint)
388 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
389 (void) cached_has_bits;
390
391 // repeated int32 literals = 1;
392 for (int i = 0, n = this->_internal_literals_size(); i < n; i++) {
393 target = stream->EnsureSpace(target);
394 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
395 }
396
397 // repeated int64 coefficients = 2;
398 for (int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
399 target = stream->EnsureSpace(target);
400 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
401 }
402
403 cached_has_bits = _has_bits_[0];
404 // optional int64 lower_bound = 3;
405 if (cached_has_bits & 0x00000002u) {
406 target = stream->EnsureSpace(target);
407 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_lower_bound(), target);
408 }
409
410 // optional int64 upper_bound = 4;
411 if (cached_has_bits & 0x00000004u) {
412 target = stream->EnsureSpace(target);
413 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_upper_bound(), target);
414 }
415
416 // optional string name = 5 [default = ""];
417 if (cached_has_bits & 0x00000001u) {
418 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
419 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
420 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
421 "operations_research.sat.LinearBooleanConstraint.name");
422 target = stream->WriteStringMaybeAliased(
423 5, this->_internal_name(), target);
424 }
425
426 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
427 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
428 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
429 }
430 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearBooleanConstraint)
431 return target;
432}
433
435// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearBooleanConstraint)
436 size_t total_size = 0;
437
438 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
439 // Prevent compiler warnings about cached_has_bits being unused
440 (void) cached_has_bits;
441
442 // repeated int32 literals = 1;
443 {
444 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
445 Int32Size(this->literals_);
446 total_size += 1 *
447 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
448 total_size += data_size;
449 }
450
451 // repeated int64 coefficients = 2;
452 {
453 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
454 Int64Size(this->coefficients_);
455 total_size += 1 *
456 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
457 total_size += data_size;
458 }
459
460 cached_has_bits = _has_bits_[0];
461 if (cached_has_bits & 0x00000007u) {
462 // optional string name = 5 [default = ""];
463 if (cached_has_bits & 0x00000001u) {
464 total_size += 1 +
465 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
466 this->_internal_name());
467 }
468
469 // optional int64 lower_bound = 3;
470 if (cached_has_bits & 0x00000002u) {
471 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_lower_bound());
472 }
473
474 // optional int64 upper_bound = 4;
475 if (cached_has_bits & 0x00000004u) {
476 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_upper_bound());
477 }
478
479 }
480 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
481}
482
483const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearBooleanConstraint::_class_data_ = {
484 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
485 LinearBooleanConstraint::MergeImpl
486};
487const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearBooleanConstraint::GetClassData() const { return &_class_data_; }
488
489void LinearBooleanConstraint::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
490 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
491 static_cast<LinearBooleanConstraint *>(to)->MergeFrom(
492 static_cast<const LinearBooleanConstraint &>(from));
493}
494
495
497// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearBooleanConstraint)
498 GOOGLE_DCHECK_NE(&from, this);
499 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
500 (void) cached_has_bits;
501
502 literals_.MergeFrom(from.literals_);
503 coefficients_.MergeFrom(from.coefficients_);
504 cached_has_bits = from._has_bits_[0];
505 if (cached_has_bits & 0x00000007u) {
506 if (cached_has_bits & 0x00000001u) {
507 _internal_set_name(from._internal_name());
508 }
509 if (cached_has_bits & 0x00000002u) {
510 lower_bound_ = from.lower_bound_;
511 }
512 if (cached_has_bits & 0x00000004u) {
513 upper_bound_ = from.upper_bound_;
514 }
515 _has_bits_[0] |= cached_has_bits;
516 }
517 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
518}
519
521// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearBooleanConstraint)
522 if (&from == this) return;
523 Clear();
524 MergeFrom(from);
525}
526
528 return true;
529}
530
531void LinearBooleanConstraint::InternalSwap(LinearBooleanConstraint* other) {
532 using std::swap;
533 auto* lhs_arena = GetArenaForAllocation();
534 auto* rhs_arena = other->GetArenaForAllocation();
535 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
536 swap(_has_bits_[0], other->_has_bits_[0]);
537 literals_.InternalSwap(&other->literals_);
538 coefficients_.InternalSwap(&other->coefficients_);
539 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
540 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
541 &name_, lhs_arena,
542 &other->name_, rhs_arena
543 );
544 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
545 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, upper_bound_)
546 + sizeof(LinearBooleanConstraint::upper_bound_)
547 - PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, lower_bound_)>(
548 reinterpret_cast<char*>(&lower_bound_),
549 reinterpret_cast<char*>(&other->lower_bound_));
550}
551
552::PROTOBUF_NAMESPACE_ID::Metadata LinearBooleanConstraint::GetMetadata() const {
553 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
556}
557
558// ===================================================================
559
561 public:
562 using HasBits = decltype(std::declval<LinearObjective>()._has_bits_);
563 static void set_has_offset(HasBits* has_bits) {
564 (*has_bits)[0] |= 1u;
565 }
566 static void set_has_scaling_factor(HasBits* has_bits) {
567 (*has_bits)[0] |= 2u;
568 }
569};
570
571LinearObjective::LinearObjective(::PROTOBUF_NAMESPACE_ID::Arena* arena,
572 bool is_message_owned)
573 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
574 literals_(arena),
575 coefficients_(arena) {
576 SharedCtor();
577 if (!is_message_owned) {
578 RegisterArenaDtor(arena);
579 }
580 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearObjective)
581}
583 : ::PROTOBUF_NAMESPACE_ID::Message(),
584 _has_bits_(from._has_bits_),
585 literals_(from.literals_),
586 coefficients_(from.coefficients_) {
587 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
588 ::memcpy(&offset_, &from.offset_,
589 static_cast<size_t>(reinterpret_cast<char*>(&scaling_factor_) -
590 reinterpret_cast<char*>(&offset_)) + sizeof(scaling_factor_));
591 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearObjective)
592}
593
594void LinearObjective::SharedCtor() {
595offset_ = 0;
596scaling_factor_ = 1;
597}
598
600 // @@protoc_insertion_point(destructor:operations_research.sat.LinearObjective)
601 if (GetArenaForAllocation() != nullptr) return;
602 SharedDtor();
603 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
604}
605
606inline void LinearObjective::SharedDtor() {
607 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
608}
609
610void LinearObjective::ArenaDtor(void* object) {
611 LinearObjective* _this = reinterpret_cast< LinearObjective* >(object);
612 (void)_this;
613}
614void LinearObjective::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
615}
616void LinearObjective::SetCachedSize(int size) const {
617 _cached_size_.Set(size);
618}
619
621// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearObjective)
622 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
623 // Prevent compiler warnings about cached_has_bits being unused
624 (void) cached_has_bits;
625
626 literals_.Clear();
627 coefficients_.Clear();
628 cached_has_bits = _has_bits_[0];
629 if (cached_has_bits & 0x00000003u) {
630 offset_ = 0;
631 scaling_factor_ = 1;
632 }
633 _has_bits_.Clear();
634 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
635}
636
637const char* LinearObjective::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
638#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
639 _Internal::HasBits has_bits{};
640 while (!ctx->Done(&ptr)) {
641 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
642 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
643 switch (tag >> 3) {
644 // repeated int32 literals = 1;
645 case 1:
646 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
647 ptr -= 1;
648 do {
649 ptr += 1;
650 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
651 CHK_(ptr);
652 if (!ctx->DataAvailable(ptr)) break;
653 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
654 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
655 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
656 CHK_(ptr);
657 } else
658 goto handle_unusual;
659 continue;
660 // repeated int64 coefficients = 2;
661 case 2:
662 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
663 ptr -= 1;
664 do {
665 ptr += 1;
666 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
667 CHK_(ptr);
668 if (!ctx->DataAvailable(ptr)) break;
669 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
670 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
671 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
672 CHK_(ptr);
673 } else
674 goto handle_unusual;
675 continue;
676 // optional double offset = 3 [default = 0];
677 case 3:
678 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
679 _Internal::set_has_offset(&has_bits);
680 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
681 ptr += sizeof(double);
682 } else
683 goto handle_unusual;
684 continue;
685 // optional double scaling_factor = 4 [default = 1];
686 case 4:
687 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33)) {
689 scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
690 ptr += sizeof(double);
691 } else
692 goto handle_unusual;
693 continue;
694 default:
695 goto handle_unusual;
696 } // switch
697 handle_unusual:
698 if ((tag == 0) || ((tag & 7) == 4)) {
699 CHK_(ptr);
700 ctx->SetLastTag(tag);
701 goto message_done;
702 }
703 ptr = UnknownFieldParse(
704 tag,
705 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
706 ptr, ctx);
707 CHK_(ptr != nullptr);
708 } // while
709message_done:
710 _has_bits_.Or(has_bits);
711 return ptr;
712failure:
713 ptr = nullptr;
714 goto message_done;
715#undef CHK_
716}
717
718::PROTOBUF_NAMESPACE_ID::uint8* LinearObjective::_InternalSerialize(
719 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
720 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearObjective)
721 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
722 (void) cached_has_bits;
723
724 // repeated int32 literals = 1;
725 for (int i = 0, n = this->_internal_literals_size(); i < n; i++) {
726 target = stream->EnsureSpace(target);
727 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
728 }
729
730 // repeated int64 coefficients = 2;
731 for (int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
732 target = stream->EnsureSpace(target);
733 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
734 }
735
736 cached_has_bits = _has_bits_[0];
737 // optional double offset = 3 [default = 0];
738 if (cached_has_bits & 0x00000001u) {
739 target = stream->EnsureSpace(target);
740 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_offset(), target);
741 }
742
743 // optional double scaling_factor = 4 [default = 1];
744 if (cached_has_bits & 0x00000002u) {
745 target = stream->EnsureSpace(target);
746 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_scaling_factor(), target);
747 }
748
749 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
750 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
751 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
752 }
753 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearObjective)
754 return target;
755}
756
758// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearObjective)
759 size_t total_size = 0;
760
761 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
762 // Prevent compiler warnings about cached_has_bits being unused
763 (void) cached_has_bits;
764
765 // repeated int32 literals = 1;
766 {
767 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
768 Int32Size(this->literals_);
769 total_size += 1 *
770 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
771 total_size += data_size;
772 }
773
774 // repeated int64 coefficients = 2;
775 {
776 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
777 Int64Size(this->coefficients_);
778 total_size += 1 *
779 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
780 total_size += data_size;
781 }
782
783 cached_has_bits = _has_bits_[0];
784 if (cached_has_bits & 0x00000003u) {
785 // optional double offset = 3 [default = 0];
786 if (cached_has_bits & 0x00000001u) {
787 total_size += 1 + 8;
788 }
789
790 // optional double scaling_factor = 4 [default = 1];
791 if (cached_has_bits & 0x00000002u) {
792 total_size += 1 + 8;
793 }
794
795 }
796 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
797}
798
799const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearObjective::_class_data_ = {
800 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
801 LinearObjective::MergeImpl
802};
803const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearObjective::GetClassData() const { return &_class_data_; }
804
805void LinearObjective::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
806 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
807 static_cast<LinearObjective *>(to)->MergeFrom(
808 static_cast<const LinearObjective &>(from));
809}
810
811
813// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearObjective)
814 GOOGLE_DCHECK_NE(&from, this);
815 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
816 (void) cached_has_bits;
817
818 literals_.MergeFrom(from.literals_);
819 coefficients_.MergeFrom(from.coefficients_);
820 cached_has_bits = from._has_bits_[0];
821 if (cached_has_bits & 0x00000003u) {
822 if (cached_has_bits & 0x00000001u) {
823 offset_ = from.offset_;
824 }
825 if (cached_has_bits & 0x00000002u) {
826 scaling_factor_ = from.scaling_factor_;
827 }
828 _has_bits_[0] |= cached_has_bits;
829 }
830 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
831}
832
834// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearObjective)
835 if (&from == this) return;
836 Clear();
837 MergeFrom(from);
838}
839
841 return true;
842}
843
844void LinearObjective::InternalSwap(LinearObjective* other) {
845 using std::swap;
846 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
847 swap(_has_bits_[0], other->_has_bits_[0]);
848 literals_.InternalSwap(&other->literals_);
849 coefficients_.InternalSwap(&other->coefficients_);
850 swap(offset_, other->offset_);
851 swap(scaling_factor_, other->scaling_factor_);
852}
853
854::PROTOBUF_NAMESPACE_ID::Metadata LinearObjective::GetMetadata() const {
855 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
858}
859
860// ===================================================================
861
863 public:
864};
865
866BooleanAssignment::BooleanAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena,
867 bool is_message_owned)
868 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
869 literals_(arena) {
870 SharedCtor();
871 if (!is_message_owned) {
872 RegisterArenaDtor(arena);
873 }
874 // @@protoc_insertion_point(arena_constructor:operations_research.sat.BooleanAssignment)
875}
877 : ::PROTOBUF_NAMESPACE_ID::Message(),
878 literals_(from.literals_) {
879 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
880 // @@protoc_insertion_point(copy_constructor:operations_research.sat.BooleanAssignment)
881}
882
883void BooleanAssignment::SharedCtor() {
884}
885
887 // @@protoc_insertion_point(destructor:operations_research.sat.BooleanAssignment)
888 if (GetArenaForAllocation() != nullptr) return;
889 SharedDtor();
890 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
891}
892
893inline void BooleanAssignment::SharedDtor() {
894 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
895}
896
897void BooleanAssignment::ArenaDtor(void* object) {
898 BooleanAssignment* _this = reinterpret_cast< BooleanAssignment* >(object);
899 (void)_this;
900}
901void BooleanAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
902}
903void BooleanAssignment::SetCachedSize(int size) const {
904 _cached_size_.Set(size);
905}
906
908// @@protoc_insertion_point(message_clear_start:operations_research.sat.BooleanAssignment)
909 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
910 // Prevent compiler warnings about cached_has_bits being unused
911 (void) cached_has_bits;
912
913 literals_.Clear();
914 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
915}
916
917const char* BooleanAssignment::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
918#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
919 while (!ctx->Done(&ptr)) {
920 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
921 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
922 switch (tag >> 3) {
923 // repeated int32 literals = 1;
924 case 1:
925 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
926 ptr -= 1;
927 do {
928 ptr += 1;
929 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
930 CHK_(ptr);
931 if (!ctx->DataAvailable(ptr)) break;
932 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
933 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
934 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
935 CHK_(ptr);
936 } else
937 goto handle_unusual;
938 continue;
939 default:
940 goto handle_unusual;
941 } // switch
942 handle_unusual:
943 if ((tag == 0) || ((tag & 7) == 4)) {
944 CHK_(ptr);
945 ctx->SetLastTag(tag);
946 goto message_done;
947 }
948 ptr = UnknownFieldParse(
949 tag,
950 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
951 ptr, ctx);
952 CHK_(ptr != nullptr);
953 } // while
954message_done:
955 return ptr;
956failure:
957 ptr = nullptr;
958 goto message_done;
959#undef CHK_
960}
961
962::PROTOBUF_NAMESPACE_ID::uint8* BooleanAssignment::_InternalSerialize(
963 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
964 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.BooleanAssignment)
965 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
966 (void) cached_has_bits;
967
968 // repeated int32 literals = 1;
969 for (int i = 0, n = this->_internal_literals_size(); i < n; i++) {
970 target = stream->EnsureSpace(target);
971 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
972 }
973
974 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
975 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
976 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
977 }
978 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.BooleanAssignment)
979 return target;
980}
981
983// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.BooleanAssignment)
984 size_t total_size = 0;
985
986 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
987 // Prevent compiler warnings about cached_has_bits being unused
988 (void) cached_has_bits;
989
990 // repeated int32 literals = 1;
991 {
992 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
993 Int32Size(this->literals_);
994 total_size += 1 *
995 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
996 total_size += data_size;
997 }
998
999 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1000}
1001
1002const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BooleanAssignment::_class_data_ = {
1003 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1004 BooleanAssignment::MergeImpl
1005};
1006const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BooleanAssignment::GetClassData() const { return &_class_data_; }
1007
1008void BooleanAssignment::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1009 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1010 static_cast<BooleanAssignment *>(to)->MergeFrom(
1011 static_cast<const BooleanAssignment &>(from));
1012}
1013
1014
1016// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.BooleanAssignment)
1017 GOOGLE_DCHECK_NE(&from, this);
1018 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1019 (void) cached_has_bits;
1020
1021 literals_.MergeFrom(from.literals_);
1022 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1023}
1024
1026// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.BooleanAssignment)
1027 if (&from == this) return;
1028 Clear();
1029 MergeFrom(from);
1030}
1031
1033 return true;
1034}
1035
1036void BooleanAssignment::InternalSwap(BooleanAssignment* other) {
1037 using std::swap;
1038 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1039 literals_.InternalSwap(&other->literals_);
1040}
1041
1042::PROTOBUF_NAMESPACE_ID::Metadata BooleanAssignment::GetMetadata() const {
1043 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1046}
1047
1048// ===================================================================
1049
1051 public:
1052 using HasBits = decltype(std::declval<LinearBooleanProblem>()._has_bits_);
1053 static void set_has_name(HasBits* has_bits) {
1054 (*has_bits)[0] |= 1u;
1055 }
1056 static void set_has_num_variables(HasBits* has_bits) {
1057 (*has_bits)[0] |= 8u;
1058 }
1059 static const ::operations_research::sat::LinearObjective& objective(const LinearBooleanProblem* msg);
1060 static void set_has_objective(HasBits* has_bits) {
1061 (*has_bits)[0] |= 2u;
1062 }
1063 static const ::operations_research::sat::BooleanAssignment& assignment(const LinearBooleanProblem* msg);
1064 static void set_has_assignment(HasBits* has_bits) {
1065 (*has_bits)[0] |= 4u;
1066 }
1068 (*has_bits)[0] |= 16u;
1069 }
1070};
1071
1072const ::operations_research::sat::LinearObjective&
1074 return *msg->objective_;
1075}
1076const ::operations_research::sat::BooleanAssignment&
1078 return *msg->assignment_;
1079}
1080LinearBooleanProblem::LinearBooleanProblem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1081 bool is_message_owned)
1082 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1083 constraints_(arena),
1084 var_names_(arena) {
1085 SharedCtor();
1086 if (!is_message_owned) {
1087 RegisterArenaDtor(arena);
1088 }
1089 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearBooleanProblem)
1090}
1092 : ::PROTOBUF_NAMESPACE_ID::Message(),
1093 _has_bits_(from._has_bits_),
1094 constraints_(from.constraints_),
1095 var_names_(from.var_names_) {
1096 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1097 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1098 if (from._internal_has_name()) {
1099 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1100 GetArenaForAllocation());
1101 }
1102 if (from._internal_has_objective()) {
1103 objective_ = new ::operations_research::sat::LinearObjective(*from.objective_);
1104 } else {
1105 objective_ = nullptr;
1106 }
1107 if (from._internal_has_assignment()) {
1108 assignment_ = new ::operations_research::sat::BooleanAssignment(*from.assignment_);
1109 } else {
1110 assignment_ = nullptr;
1111 }
1112 ::memcpy(&num_variables_, &from.num_variables_,
1113 static_cast<size_t>(reinterpret_cast<char*>(&original_num_variables_) -
1114 reinterpret_cast<char*>(&num_variables_)) + sizeof(original_num_variables_));
1115 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearBooleanProblem)
1116}
1117
1118void LinearBooleanProblem::SharedCtor() {
1119name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1120::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
1121 reinterpret_cast<char*>(&objective_) - reinterpret_cast<char*>(this)),
1122 0, static_cast<size_t>(reinterpret_cast<char*>(&original_num_variables_) -
1123 reinterpret_cast<char*>(&objective_)) + sizeof(original_num_variables_));
1124}
1125
1127 // @@protoc_insertion_point(destructor:operations_research.sat.LinearBooleanProblem)
1128 if (GetArenaForAllocation() != nullptr) return;
1129 SharedDtor();
1130 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1131}
1132
1133inline void LinearBooleanProblem::SharedDtor() {
1134 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1135 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1136 if (this != internal_default_instance()) delete objective_;
1137 if (this != internal_default_instance()) delete assignment_;
1138}
1139
1140void LinearBooleanProblem::ArenaDtor(void* object) {
1141 LinearBooleanProblem* _this = reinterpret_cast< LinearBooleanProblem* >(object);
1142 (void)_this;
1143}
1144void LinearBooleanProblem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1145}
1146void LinearBooleanProblem::SetCachedSize(int size) const {
1147 _cached_size_.Set(size);
1148}
1149
1151// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearBooleanProblem)
1152 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1153 // Prevent compiler warnings about cached_has_bits being unused
1154 (void) cached_has_bits;
1155
1156 constraints_.Clear();
1157 var_names_.Clear();
1158 cached_has_bits = _has_bits_[0];
1159 if (cached_has_bits & 0x00000007u) {
1160 if (cached_has_bits & 0x00000001u) {
1161 name_.ClearNonDefaultToEmpty();
1162 }
1163 if (cached_has_bits & 0x00000002u) {
1164 GOOGLE_DCHECK(objective_ != nullptr);
1165 objective_->Clear();
1166 }
1167 if (cached_has_bits & 0x00000004u) {
1168 GOOGLE_DCHECK(assignment_ != nullptr);
1169 assignment_->Clear();
1170 }
1171 }
1172 if (cached_has_bits & 0x00000018u) {
1173 ::memset(&num_variables_, 0, static_cast<size_t>(
1174 reinterpret_cast<char*>(&original_num_variables_) -
1175 reinterpret_cast<char*>(&num_variables_)) + sizeof(original_num_variables_));
1176 }
1177 _has_bits_.Clear();
1178 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1179}
1180
1181const char* LinearBooleanProblem::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1182#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1183 _Internal::HasBits has_bits{};
1184 while (!ctx->Done(&ptr)) {
1185 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1186 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1187 switch (tag >> 3) {
1188 // optional string name = 1 [default = ""];
1189 case 1:
1190 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1191 auto str = _internal_mutable_name();
1192 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1193 #ifndef NDEBUG
1194 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.LinearBooleanProblem.name");
1195 #endif // !NDEBUG
1196 CHK_(ptr);
1197 } else
1198 goto handle_unusual;
1199 continue;
1200 // optional int32 num_variables = 3;
1201 case 3:
1202 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
1204 num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1205 CHK_(ptr);
1206 } else
1207 goto handle_unusual;
1208 continue;
1209 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1210 case 4:
1211 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
1212 ptr -= 1;
1213 do {
1214 ptr += 1;
1215 ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
1216 CHK_(ptr);
1217 if (!ctx->DataAvailable(ptr)) break;
1218 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
1219 } else
1220 goto handle_unusual;
1221 continue;
1222 // optional .operations_research.sat.LinearObjective objective = 5;
1223 case 5:
1224 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
1225 ptr = ctx->ParseMessage(_internal_mutable_objective(), ptr);
1226 CHK_(ptr);
1227 } else
1228 goto handle_unusual;
1229 continue;
1230 // repeated string var_names = 6;
1231 case 6:
1232 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
1233 ptr -= 1;
1234 do {
1235 ptr += 1;
1236 auto str = _internal_add_var_names();
1237 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1238 #ifndef NDEBUG
1239 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.LinearBooleanProblem.var_names");
1240 #endif // !NDEBUG
1241 CHK_(ptr);
1242 if (!ctx->DataAvailable(ptr)) break;
1243 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
1244 } else
1245 goto handle_unusual;
1246 continue;
1247 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1248 case 7:
1249 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
1250 ptr = ctx->ParseMessage(_internal_mutable_assignment(), ptr);
1251 CHK_(ptr);
1252 } else
1253 goto handle_unusual;
1254 continue;
1255 // optional int32 original_num_variables = 8;
1256 case 8:
1257 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
1259 original_num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1260 CHK_(ptr);
1261 } else
1262 goto handle_unusual;
1263 continue;
1264 default:
1265 goto handle_unusual;
1266 } // switch
1267 handle_unusual:
1268 if ((tag == 0) || ((tag & 7) == 4)) {
1269 CHK_(ptr);
1270 ctx->SetLastTag(tag);
1271 goto message_done;
1272 }
1273 ptr = UnknownFieldParse(
1274 tag,
1275 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1276 ptr, ctx);
1277 CHK_(ptr != nullptr);
1278 } // while
1279message_done:
1280 _has_bits_.Or(has_bits);
1281 return ptr;
1282failure:
1283 ptr = nullptr;
1284 goto message_done;
1285#undef CHK_
1286}
1287
1288::PROTOBUF_NAMESPACE_ID::uint8* LinearBooleanProblem::_InternalSerialize(
1289 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1290 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearBooleanProblem)
1291 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1292 (void) cached_has_bits;
1293
1294 cached_has_bits = _has_bits_[0];
1295 // optional string name = 1 [default = ""];
1296 if (cached_has_bits & 0x00000001u) {
1297 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1298 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1299 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1300 "operations_research.sat.LinearBooleanProblem.name");
1301 target = stream->WriteStringMaybeAliased(
1302 1, this->_internal_name(), target);
1303 }
1304
1305 // optional int32 num_variables = 3;
1306 if (cached_has_bits & 0x00000008u) {
1307 target = stream->EnsureSpace(target);
1308 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_num_variables(), target);
1309 }
1310
1311 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1312 for (unsigned int i = 0,
1313 n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
1314 target = stream->EnsureSpace(target);
1315 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1316 InternalWriteMessage(4, this->_internal_constraints(i), target, stream);
1317 }
1318
1319 // optional .operations_research.sat.LinearObjective objective = 5;
1320 if (cached_has_bits & 0x00000002u) {
1321 target = stream->EnsureSpace(target);
1322 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1323 InternalWriteMessage(
1324 5, _Internal::objective(this), target, stream);
1325 }
1326
1327 // repeated string var_names = 6;
1328 for (int i = 0, n = this->_internal_var_names_size(); i < n; i++) {
1329 const auto& s = this->_internal_var_names(i);
1330 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1331 s.data(), static_cast<int>(s.length()),
1332 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1333 "operations_research.sat.LinearBooleanProblem.var_names");
1334 target = stream->WriteString(6, s, target);
1335 }
1336
1337 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1338 if (cached_has_bits & 0x00000004u) {
1339 target = stream->EnsureSpace(target);
1340 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1341 InternalWriteMessage(
1342 7, _Internal::assignment(this), target, stream);
1343 }
1344
1345 // optional int32 original_num_variables = 8;
1346 if (cached_has_bits & 0x00000010u) {
1347 target = stream->EnsureSpace(target);
1348 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_original_num_variables(), target);
1349 }
1350
1351 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1352 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1353 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1354 }
1355 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearBooleanProblem)
1356 return target;
1357}
1358
1360// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearBooleanProblem)
1361 size_t total_size = 0;
1362
1363 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1364 // Prevent compiler warnings about cached_has_bits being unused
1365 (void) cached_has_bits;
1366
1367 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1368 total_size += 1UL * this->_internal_constraints_size();
1369 for (const auto& msg : this->constraints_) {
1370 total_size +=
1371 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1372 }
1373
1374 // repeated string var_names = 6;
1375 total_size += 1 *
1376 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(var_names_.size());
1377 for (int i = 0, n = var_names_.size(); i < n; i++) {
1378 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1379 var_names_.Get(i));
1380 }
1381
1382 cached_has_bits = _has_bits_[0];
1383 if (cached_has_bits & 0x0000001fu) {
1384 // optional string name = 1 [default = ""];
1385 if (cached_has_bits & 0x00000001u) {
1386 total_size += 1 +
1387 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1388 this->_internal_name());
1389 }
1390
1391 // optional .operations_research.sat.LinearObjective objective = 5;
1392 if (cached_has_bits & 0x00000002u) {
1393 total_size += 1 +
1394 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1395 *objective_);
1396 }
1397
1398 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1399 if (cached_has_bits & 0x00000004u) {
1400 total_size += 1 +
1401 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1402 *assignment_);
1403 }
1404
1405 // optional int32 num_variables = 3;
1406 if (cached_has_bits & 0x00000008u) {
1407 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_num_variables());
1408 }
1409
1410 // optional int32 original_num_variables = 8;
1411 if (cached_has_bits & 0x00000010u) {
1412 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_original_num_variables());
1413 }
1414
1415 }
1416 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1417}
1418
1419const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearBooleanProblem::_class_data_ = {
1420 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1421 LinearBooleanProblem::MergeImpl
1422};
1423const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearBooleanProblem::GetClassData() const { return &_class_data_; }
1424
1425void LinearBooleanProblem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1426 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1427 static_cast<LinearBooleanProblem *>(to)->MergeFrom(
1428 static_cast<const LinearBooleanProblem &>(from));
1429}
1430
1431
1433// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearBooleanProblem)
1434 GOOGLE_DCHECK_NE(&from, this);
1435 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1436 (void) cached_has_bits;
1437
1438 constraints_.MergeFrom(from.constraints_);
1439 var_names_.MergeFrom(from.var_names_);
1440 cached_has_bits = from._has_bits_[0];
1441 if (cached_has_bits & 0x0000001fu) {
1442 if (cached_has_bits & 0x00000001u) {
1443 _internal_set_name(from._internal_name());
1444 }
1445 if (cached_has_bits & 0x00000002u) {
1446 _internal_mutable_objective()->::operations_research::sat::LinearObjective::MergeFrom(from._internal_objective());
1447 }
1448 if (cached_has_bits & 0x00000004u) {
1449 _internal_mutable_assignment()->::operations_research::sat::BooleanAssignment::MergeFrom(from._internal_assignment());
1450 }
1451 if (cached_has_bits & 0x00000008u) {
1452 num_variables_ = from.num_variables_;
1453 }
1454 if (cached_has_bits & 0x00000010u) {
1455 original_num_variables_ = from.original_num_variables_;
1456 }
1457 _has_bits_[0] |= cached_has_bits;
1458 }
1459 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1460}
1461
1463// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearBooleanProblem)
1464 if (&from == this) return;
1465 Clear();
1466 MergeFrom(from);
1467}
1468
1470 return true;
1471}
1472
1473void LinearBooleanProblem::InternalSwap(LinearBooleanProblem* other) {
1474 using std::swap;
1475 auto* lhs_arena = GetArenaForAllocation();
1476 auto* rhs_arena = other->GetArenaForAllocation();
1477 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1478 swap(_has_bits_[0], other->_has_bits_[0]);
1479 constraints_.InternalSwap(&other->constraints_);
1480 var_names_.InternalSwap(&other->var_names_);
1481 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
1482 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1483 &name_, lhs_arena,
1484 &other->name_, rhs_arena
1485 );
1486 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1487 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, original_num_variables_)
1488 + sizeof(LinearBooleanProblem::original_num_variables_)
1489 - PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, objective_)>(
1490 reinterpret_cast<char*>(&objective_),
1491 reinterpret_cast<char*>(&other->objective_));
1492}
1493
1494::PROTOBUF_NAMESPACE_ID::Metadata LinearBooleanProblem::GetMetadata() const {
1495 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1498}
1499
1500// @@protoc_insertion_point(namespace_scope)
1501} // namespace sat
1502} // namespace operations_research
1503PROTOBUF_NAMESPACE_OPEN
1504template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanConstraint* Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanConstraint >(Arena* arena) {
1505 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanConstraint >(arena);
1506}
1507template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearObjective* Arena::CreateMaybeMessage< ::operations_research::sat::LinearObjective >(Arena* arena) {
1508 return Arena::CreateMessageInternal< ::operations_research::sat::LinearObjective >(arena);
1509}
1510template<> PROTOBUF_NOINLINE ::operations_research::sat::BooleanAssignment* Arena::CreateMaybeMessage< ::operations_research::sat::BooleanAssignment >(Arena* arena) {
1511 return Arena::CreateMessageInternal< ::operations_research::sat::BooleanAssignment >(arena);
1512}
1513template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanProblem* Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanProblem >(Arena* arena) {
1514 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanProblem >(arena);
1515}
1516PROTOBUF_NAMESPACE_CLOSE
1517
1518// @@protoc_insertion_point(global_scope)
1519#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 ::PROTOBUF_NAMESPACE_ID::uint32 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)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *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)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *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
friend void swap(LinearBooleanProblem &a, LinearBooleanProblem &b)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *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:2966
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]