Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
course_scheduling.pb.cc
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/scheduling/course_scheduling.proto
4// Protobuf C++ Version: 6.31.1
5
7
8#include <algorithm>
9#include <type_traits>
10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
28
29inline constexpr Teacher::Impl_::Impl_(
30 ::_pbi::ConstantInitialized) noexcept
31 : _cached_size_{0},
32 restricted_time_slots_{},
33 _restricted_time_slots_cached_byte_size_{0},
34 display_name_(
35 &::google::protobuf::internal::fixed_address_empty_string,
36 ::_pbi::ConstantInitialized()) {}
37
38template <typename>
39PROTOBUF_CONSTEXPR Teacher::Teacher(::_pbi::ConstantInitialized)
40#if defined(PROTOBUF_CUSTOM_VTABLE)
41 : ::google::protobuf::Message(Teacher_class_data_.base()),
42#else // PROTOBUF_CUSTOM_VTABLE
43 : ::google::protobuf::Message(),
44#endif // PROTOBUF_CUSTOM_VTABLE
45 _impl_(::_pbi::ConstantInitialized()) {
46}
48 PROTOBUF_CONSTEXPR TeacherDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
50 union {
52 };
53};
54
55PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
56 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TeacherDefaultTypeInternal _Teacher_default_instance_;
57
58inline constexpr StudentAssignment::Impl_::Impl_(
59 ::_pbi::ConstantInitialized) noexcept
60 : _cached_size_{0},
61 course_indices_{},
62 _course_indices_cached_byte_size_{0},
63 section_indices_{},
64 _section_indices_cached_byte_size_{0},
65 student_index_{0} {}
66
67template <typename>
68PROTOBUF_CONSTEXPR StudentAssignment::StudentAssignment(::_pbi::ConstantInitialized)
69#if defined(PROTOBUF_CUSTOM_VTABLE)
70 : ::google::protobuf::Message(StudentAssignment_class_data_.base()),
71#else // PROTOBUF_CUSTOM_VTABLE
72 : ::google::protobuf::Message(),
73#endif // PROTOBUF_CUSTOM_VTABLE
74 _impl_(::_pbi::ConstantInitialized()) {
75}
83
84PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
86
87inline constexpr Student::Impl_::Impl_(
88 ::_pbi::ConstantInitialized) noexcept
89 : _cached_size_{0},
90 course_indices_{},
91 _course_indices_cached_byte_size_{0},
92 display_name_(
93 &::google::protobuf::internal::fixed_address_empty_string,
94 ::_pbi::ConstantInitialized()) {}
95
96template <typename>
97PROTOBUF_CONSTEXPR Student::Student(::_pbi::ConstantInitialized)
98#if defined(PROTOBUF_CUSTOM_VTABLE)
99 : ::google::protobuf::Message(Student_class_data_.base()),
100#else // PROTOBUF_CUSTOM_VTABLE
101 : ::google::protobuf::Message(),
102#endif // PROTOBUF_CUSTOM_VTABLE
103 _impl_(::_pbi::ConstantInitialized()) {
104}
106 PROTOBUF_CONSTEXPR StudentDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
108 union {
110 };
111};
112
113PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
115
116inline constexpr Room::Impl_::Impl_(
117 ::_pbi::ConstantInitialized) noexcept
118 : _cached_size_{0},
119 display_name_(
120 &::google::protobuf::internal::fixed_address_empty_string,
121 ::_pbi::ConstantInitialized()),
122 capacity_{0} {}
123
124template <typename>
125PROTOBUF_CONSTEXPR Room::Room(::_pbi::ConstantInitialized)
126#if defined(PROTOBUF_CUSTOM_VTABLE)
127 : ::google::protobuf::Message(Room_class_data_.base()),
128#else // PROTOBUF_CUSTOM_VTABLE
129 : ::google::protobuf::Message(),
130#endif // PROTOBUF_CUSTOM_VTABLE
131 _impl_(::_pbi::ConstantInitialized()) {
132}
134 PROTOBUF_CONSTEXPR RoomDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
136 union {
138 };
139};
140
141PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
142 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoomDefaultTypeInternal _Room_default_instance_;
143
144inline constexpr Course::Impl_::Impl_(
145 ::_pbi::ConstantInitialized) noexcept
146 : _cached_size_{0},
147 teacher_indices_{},
148 _teacher_indices_cached_byte_size_{0},
149 teacher_section_counts_{},
150 _teacher_section_counts_cached_byte_size_{0},
151 room_indices_{},
152 _room_indices_cached_byte_size_{0},
153 display_name_(
154 &::google::protobuf::internal::fixed_address_empty_string,
155 ::_pbi::ConstantInitialized()),
156 meetings_count_{0},
157 max_capacity_{0},
158 min_capacity_{0},
159 consecutive_slots_count_{0} {}
160
161template <typename>
162PROTOBUF_CONSTEXPR Course::Course(::_pbi::ConstantInitialized)
163#if defined(PROTOBUF_CUSTOM_VTABLE)
164 : ::google::protobuf::Message(Course_class_data_.base()),
165#else // PROTOBUF_CUSTOM_VTABLE
166 : ::google::protobuf::Message(),
167#endif // PROTOBUF_CUSTOM_VTABLE
168 _impl_(::_pbi::ConstantInitialized()) {
169}
171 PROTOBUF_CONSTEXPR CourseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
173 union {
175 };
176};
177
178PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
179 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CourseDefaultTypeInternal _Course_default_instance_;
180
181inline constexpr ClassAssignment::Impl_::Impl_(
182 ::_pbi::ConstantInitialized) noexcept
183 : _cached_size_{0},
184 time_slots_{},
185 _time_slots_cached_byte_size_{0},
186 room_indices_{},
187 _room_indices_cached_byte_size_{0},
188 course_index_{0},
189 section_number_{0} {}
190
191template <typename>
192PROTOBUF_CONSTEXPR ClassAssignment::ClassAssignment(::_pbi::ConstantInitialized)
193#if defined(PROTOBUF_CUSTOM_VTABLE)
194 : ::google::protobuf::Message(ClassAssignment_class_data_.base()),
195#else // PROTOBUF_CUSTOM_VTABLE
196 : ::google::protobuf::Message(),
197#endif // PROTOBUF_CUSTOM_VTABLE
198 _impl_(::_pbi::ConstantInitialized()) {
199}
207
208PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
210
211inline constexpr CourseSchedulingResult::Impl_::Impl_(
212 ::_pbi::ConstantInitialized) noexcept
213 : _cached_size_{0},
214 class_assignments_{},
215 student_assignments_{},
216 message_(
217 &::google::protobuf::internal::fixed_address_empty_string,
218 ::_pbi::ConstantInitialized()),
219 solver_status_{static_cast< ::operations_research::CourseSchedulingResultStatus >(0)} {}
220
221template <typename>
222PROTOBUF_CONSTEXPR CourseSchedulingResult::CourseSchedulingResult(::_pbi::ConstantInitialized)
223#if defined(PROTOBUF_CUSTOM_VTABLE)
224 : ::google::protobuf::Message(CourseSchedulingResult_class_data_.base()),
225#else // PROTOBUF_CUSTOM_VTABLE
226 : ::google::protobuf::Message(),
227#endif // PROTOBUF_CUSTOM_VTABLE
228 _impl_(::_pbi::ConstantInitialized()) {
229}
237
238PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
240
241inline constexpr CourseSchedulingModel::Impl_::Impl_(
242 ::_pbi::ConstantInitialized) noexcept
243 : _cached_size_{0},
244 courses_{},
245 teachers_{},
246 students_{},
247 rooms_{},
248 display_name_(
249 &::google::protobuf::internal::fixed_address_empty_string,
250 ::_pbi::ConstantInitialized()),
251 days_count_{0},
252 daily_time_slot_count_{0} {}
253
254template <typename>
255PROTOBUF_CONSTEXPR CourseSchedulingModel::CourseSchedulingModel(::_pbi::ConstantInitialized)
256#if defined(PROTOBUF_CUSTOM_VTABLE)
257 : ::google::protobuf::Message(CourseSchedulingModel_class_data_.base()),
258#else // PROTOBUF_CUSTOM_VTABLE
259 : ::google::protobuf::Message(),
260#endif // PROTOBUF_CUSTOM_VTABLE
261 _impl_(::_pbi::ConstantInitialized()) {
262}
270
271PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
273} // namespace operations_research
274static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
276static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
278const ::uint32_t
280 protodesc_cold) = {
281 0x081, // bitmap
282 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingModel, _impl_._has_bits_),
283 10, // hasbit index offset
284 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingModel, _impl_.display_name_),
285 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingModel, _impl_.days_count_),
286 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingModel, _impl_.daily_time_slot_count_),
287 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingModel, _impl_.courses_),
288 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingModel, _impl_.teachers_),
289 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingModel, _impl_.students_),
290 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingModel, _impl_.rooms_),
291 0,
292 1,
293 2,
294 ~0u,
295 ~0u,
296 ~0u,
297 ~0u,
298 0x081, // bitmap
299 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingResult, _impl_._has_bits_),
300 7, // hasbit index offset
301 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingResult, _impl_.message_),
302 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingResult, _impl_.solver_status_),
303 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingResult, _impl_.class_assignments_),
304 PROTOBUF_FIELD_OFFSET(::operations_research::CourseSchedulingResult, _impl_.student_assignments_),
305 0,
306 1,
307 ~0u,
308 ~0u,
309 0x081, // bitmap
310 PROTOBUF_FIELD_OFFSET(::operations_research::ClassAssignment, _impl_._has_bits_),
311 7, // hasbit index offset
312 PROTOBUF_FIELD_OFFSET(::operations_research::ClassAssignment, _impl_.course_index_),
313 PROTOBUF_FIELD_OFFSET(::operations_research::ClassAssignment, _impl_.section_number_),
314 PROTOBUF_FIELD_OFFSET(::operations_research::ClassAssignment, _impl_.time_slots_),
315 PROTOBUF_FIELD_OFFSET(::operations_research::ClassAssignment, _impl_.room_indices_),
316 0,
317 1,
318 ~0u,
319 ~0u,
320 0x081, // bitmap
321 PROTOBUF_FIELD_OFFSET(::operations_research::StudentAssignment, _impl_._has_bits_),
322 6, // hasbit index offset
323 PROTOBUF_FIELD_OFFSET(::operations_research::StudentAssignment, _impl_.student_index_),
324 PROTOBUF_FIELD_OFFSET(::operations_research::StudentAssignment, _impl_.course_indices_),
325 PROTOBUF_FIELD_OFFSET(::operations_research::StudentAssignment, _impl_.section_indices_),
326 0,
327 ~0u,
328 ~0u,
329 0x081, // bitmap
330 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_._has_bits_),
331 11, // hasbit index offset
332 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_.display_name_),
333 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_.meetings_count_),
334 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_.max_capacity_),
335 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_.min_capacity_),
336 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_.consecutive_slots_count_),
337 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_.teacher_indices_),
338 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_.teacher_section_counts_),
339 PROTOBUF_FIELD_OFFSET(::operations_research::Course, _impl_.room_indices_),
340 0,
341 1,
342 2,
343 3,
344 4,
345 ~0u,
346 ~0u,
347 ~0u,
348 0x081, // bitmap
349 PROTOBUF_FIELD_OFFSET(::operations_research::Teacher, _impl_._has_bits_),
350 5, // hasbit index offset
351 PROTOBUF_FIELD_OFFSET(::operations_research::Teacher, _impl_.display_name_),
352 PROTOBUF_FIELD_OFFSET(::operations_research::Teacher, _impl_.restricted_time_slots_),
353 0,
354 ~0u,
355 0x081, // bitmap
356 PROTOBUF_FIELD_OFFSET(::operations_research::Student, _impl_._has_bits_),
357 5, // hasbit index offset
358 PROTOBUF_FIELD_OFFSET(::operations_research::Student, _impl_.display_name_),
359 PROTOBUF_FIELD_OFFSET(::operations_research::Student, _impl_.course_indices_),
360 0,
361 ~0u,
362 0x081, // bitmap
363 PROTOBUF_FIELD_OFFSET(::operations_research::Room, _impl_._has_bits_),
364 5, // hasbit index offset
365 PROTOBUF_FIELD_OFFSET(::operations_research::Room, _impl_.display_name_),
366 PROTOBUF_FIELD_OFFSET(::operations_research::Room, _impl_.capacity_),
367 0,
368 1,
369};
370
371static const ::_pbi::MigrationSchema
372 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
377 {48, sizeof(::operations_research::Course)},
378 {67, sizeof(::operations_research::Teacher)},
379 {74, sizeof(::operations_research::Student)},
380 {81, sizeof(::operations_research::Room)},
381};
392const char descriptor_table_protodef_ortools_2fscheduling_2fcourse_5fscheduling_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
393 protodesc_cold) = {
394 "\n*ortools/scheduling/course_scheduling.p"
395 "roto\022\023operations_research\"\230\002\n\025CourseSche"
396 "dulingModel\022\024\n\014display_name\030\001 \001(\t\022\022\n\nday"
397 "s_count\030\002 \001(\005\022\035\n\025daily_time_slot_count\030\003"
398 " \001(\005\022,\n\007courses\030\004 \003(\0132\033.operations_resea"
399 "rch.Course\022.\n\010teachers\030\005 \003(\0132\034.operation"
400 "s_research.Teacher\022.\n\010students\030\006 \003(\0132\034.o"
401 "perations_research.Student\022(\n\005rooms\030\007 \003("
402 "\0132\031.operations_research.Room\"\371\001\n\026CourseS"
403 "chedulingResult\022\017\n\007message\030\001 \001(\t\022H\n\rsolv"
404 "er_status\030\002 \001(\01621.operations_research.Co"
405 "urseSchedulingResultStatus\022\?\n\021class_assi"
406 "gnments\030\003 \003(\0132$.operations_research.Clas"
407 "sAssignment\022C\n\023student_assignments\030\004 \003(\013"
408 "2&.operations_research.StudentAssignment"
409 "\"i\n\017ClassAssignment\022\024\n\014course_index\030\001 \001("
410 "\005\022\026\n\016section_number\030\002 \001(\005\022\022\n\ntime_slots\030"
411 "\003 \003(\005\022\024\n\014room_indices\030\004 \003(\005\"[\n\021StudentAs"
412 "signment\022\025\n\rstudent_index\030\001 \001(\005\022\026\n\016cours"
413 "e_indices\030\002 \003(\005\022\027\n\017section_indices\030\003 \003(\005"
414 "\"\322\001\n\006Course\022\024\n\014display_name\030\001 \001(\t\022\026\n\016mee"
415 "tings_count\030\002 \001(\005\022\024\n\014max_capacity\030\003 \001(\005\022"
416 "\024\n\014min_capacity\030\004 \001(\005\022\037\n\027consecutive_slo"
417 "ts_count\030\005 \001(\005\022\027\n\017teacher_indices\030\006 \003(\005\022"
418 "\036\n\026teacher_section_counts\030\007 \003(\005\022\024\n\014room_"
419 "indices\030\010 \003(\005\">\n\007Teacher\022\024\n\014display_name"
420 "\030\001 \001(\t\022\035\n\025restricted_time_slots\030\002 \003(\005\"7\n"
421 "\007Student\022\024\n\014display_name\030\001 \001(\t\022\026\n\016course"
422 "_indices\030\002 \003(\005\".\n\004Room\022\024\n\014display_name\030\001"
423 " \001(\t\022\020\n\010capacity\030\002 \001(\005*\316\001\n\034CourseSchedul"
424 "ingResultStatus\022/\n+COURSE_SCHEDULING_RES"
425 "ULT_STATUS_UNSPECIFIED\020\000\022\023\n\017SOLVER_FEASI"
426 "BLE\020\001\022\022\n\016SOLVER_OPTIMAL\020\002\022\025\n\021SOLVER_INFE"
427 "ASIBLE\020\003\022\030\n\024SOLVER_MODEL_INVALID\020\004\022\025\n\021SO"
428 "LVER_NOT_SOLVED\020\005\022\014\n\010ABNORMAL\020\006b\006proto3"
429};
431PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_ortools_2fscheduling_2fcourse_5fscheduling_2eproto = {
432 false,
433 false,
434 1399,
435 descriptor_table_protodef_ortools_2fscheduling_2fcourse_5fscheduling_2eproto,
436 "ortools/scheduling/course_scheduling.proto",
438 nullptr,
439 0,
440 8,
441 schemas,
446};
447namespace operations_research {
448const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CourseSchedulingResultStatus_descriptor() {
449 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fscheduling_2fcourse_5fscheduling_2eproto);
451}
452PROTOBUF_CONSTINIT const uint32_t CourseSchedulingResultStatus_internal_data_[] = {
453 458752u, 0u, };
454// ===================================================================
455
456class CourseSchedulingModel::_Internal {
457 public:
458 using HasBits =
459 decltype(::std::declval<CourseSchedulingModel>()._impl_._has_bits_);
460 static constexpr ::int32_t kHasBitsOffset =
461 8 * PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_._has_bits_);
462};
463
464CourseSchedulingModel::CourseSchedulingModel(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
465#if defined(PROTOBUF_CUSTOM_VTABLE)
466 : ::google::protobuf::Message(arena, CourseSchedulingModel_class_data_.base()) {
467#else // PROTOBUF_CUSTOM_VTABLE
468 : ::google::protobuf::Message(arena) {
469#endif // PROTOBUF_CUSTOM_VTABLE
470 SharedCtor(arena);
471 // @@protoc_insertion_point(arena_constructor:operations_research.CourseSchedulingModel)
472}
473PROTOBUF_NDEBUG_INLINE CourseSchedulingModel::Impl_::Impl_(
474 ::google::protobuf::internal::InternalVisibility visibility,
475 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
476 const ::operations_research::CourseSchedulingModel& from_msg)
477 : _has_bits_{from._has_bits_},
478 _cached_size_{0},
479 courses_{visibility, arena, from.courses_},
480 teachers_{visibility, arena, from.teachers_},
481 students_{visibility, arena, from.students_},
482 rooms_{visibility, arena, from.rooms_},
483 display_name_(arena, from.display_name_) {}
484
486 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
487 const CourseSchedulingModel& from)
488#if defined(PROTOBUF_CUSTOM_VTABLE)
489 : ::google::protobuf::Message(arena, CourseSchedulingModel_class_data_.base()) {
490#else // PROTOBUF_CUSTOM_VTABLE
491 : ::google::protobuf::Message(arena) {
492#endif // PROTOBUF_CUSTOM_VTABLE
493 CourseSchedulingModel* const _this = this;
494 (void)_this;
495 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
496 from._internal_metadata_);
497 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
498 ::memcpy(reinterpret_cast<char *>(&_impl_) +
499 offsetof(Impl_, days_count_),
500 reinterpret_cast<const char *>(&from._impl_) +
501 offsetof(Impl_, days_count_),
502 offsetof(Impl_, daily_time_slot_count_) -
503 offsetof(Impl_, days_count_) +
504 sizeof(Impl_::daily_time_slot_count_));
505
506 // @@protoc_insertion_point(copy_constructor:operations_research.CourseSchedulingModel)
507}
508PROTOBUF_NDEBUG_INLINE CourseSchedulingModel::Impl_::Impl_(
509 ::google::protobuf::internal::InternalVisibility visibility,
510 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
511 : _cached_size_{0},
512 courses_{visibility, arena},
513 teachers_{visibility, arena},
514 students_{visibility, arena},
515 rooms_{visibility, arena},
516 display_name_(arena) {}
517
518inline void CourseSchedulingModel::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
519 new (&_impl_) Impl_(internal_visibility(), arena);
520 ::memset(reinterpret_cast<char *>(&_impl_) +
521 offsetof(Impl_, days_count_),
522 0,
523 offsetof(Impl_, daily_time_slot_count_) -
524 offsetof(Impl_, days_count_) +
525 sizeof(Impl_::daily_time_slot_count_));
526}
528 // @@protoc_insertion_point(destructor:operations_research.CourseSchedulingModel)
529 SharedDtor(*this);
530}
531inline void CourseSchedulingModel::SharedDtor(MessageLite& self) {
532 CourseSchedulingModel& this_ = static_cast<CourseSchedulingModel&>(self);
533 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
534 ABSL_DCHECK(this_.GetArena() == nullptr);
535 this_._impl_.display_name_.Destroy();
536 this_._impl_.~Impl_();
537}
538
539inline void* PROTOBUF_NONNULL CourseSchedulingModel::PlacementNew_(
540 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
541 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
542 return ::new (mem) CourseSchedulingModel(arena);
543}
545 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
546 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.courses_) +
547 decltype(CourseSchedulingModel::_impl_.courses_)::
548 InternalGetArenaOffset(
549 ::google::protobuf::Message::internal_visibility()),
550 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.teachers_) +
551 decltype(CourseSchedulingModel::_impl_.teachers_)::
552 InternalGetArenaOffset(
553 ::google::protobuf::Message::internal_visibility()),
554 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.students_) +
555 decltype(CourseSchedulingModel::_impl_.students_)::
556 InternalGetArenaOffset(
557 ::google::protobuf::Message::internal_visibility()),
558 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.rooms_) +
559 decltype(CourseSchedulingModel::_impl_.rooms_)::
560 InternalGetArenaOffset(
561 ::google::protobuf::Message::internal_visibility()),
562 });
563 if (arena_bits.has_value()) {
564 return ::google::protobuf::internal::MessageCreator::CopyInit(
565 sizeof(CourseSchedulingModel), alignof(CourseSchedulingModel), *arena_bits);
566 } else {
567 return ::google::protobuf::internal::MessageCreator(&CourseSchedulingModel::PlacementNew_,
568 sizeof(CourseSchedulingModel),
569 alignof(CourseSchedulingModel));
570 }
571}
573 return ::google::protobuf::internal::ClassDataFull{
574 ::google::protobuf::internal::ClassData{
576 &_table_.header,
577 nullptr, // OnDemandRegisterArenaDtor
578 nullptr, // IsInitialized
579 &CourseSchedulingModel::MergeImpl,
580 ::google::protobuf::Message::GetNewImpl<CourseSchedulingModel>(),
581#if defined(PROTOBUF_CUSTOM_VTABLE)
582 &CourseSchedulingModel::SharedDtor,
583 ::google::protobuf::Message::GetClearImpl<CourseSchedulingModel>(), &CourseSchedulingModel::ByteSizeLong,
585#endif // PROTOBUF_CUSTOM_VTABLE
586 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_._cached_size_),
587 false,
588 },
589 &CourseSchedulingModel::kDescriptorMethods,
591 nullptr, // tracker
592 };
593}
594
595PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
596 ::google::protobuf::internal::ClassDataFull CourseSchedulingModel_class_data_ =
598
599PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
601 ::google::protobuf::internal::PrefetchToLocalCache(&CourseSchedulingModel_class_data_);
602 ::google::protobuf::internal::PrefetchToLocalCache(CourseSchedulingModel_class_data_.tc_table);
604}
605PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
606const ::_pbi::TcParseTable<3, 7, 4, 62, 2>
607CourseSchedulingModel::_table_ = {
608 {
609 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_._has_bits_),
610 0, // no _extensions_
611 7, 56, // max_field_number, fast_idx_mask
612 offsetof(decltype(_table_), field_lookup_table),
613 4294967168, // skipmap
614 offsetof(decltype(_table_), field_entries),
615 7, // num_field_entries
616 4, // num_aux_entries
617 offsetof(decltype(_table_), aux_entries),
619 nullptr, // post_loop_handler
620 ::_pbi::TcParser::GenericFallback, // fallback
621 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
622 ::_pbi::TcParser::GetTable<::operations_research::CourseSchedulingModel>(), // to_prefetch
623 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
624 }, {{
625 {::_pbi::TcParser::MiniParse, {}},
626 // string display_name = 1;
627 {::_pbi::TcParser::FastUS1,
628 {10, 0, 0, PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.display_name_)}},
629 // int32 days_count = 2;
630 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CourseSchedulingModel, _impl_.days_count_), 1>(),
631 {16, 1, 0, PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.days_count_)}},
632 // int32 daily_time_slot_count = 3;
633 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CourseSchedulingModel, _impl_.daily_time_slot_count_), 2>(),
634 {24, 2, 0, PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.daily_time_slot_count_)}},
635 // repeated .operations_research.Course courses = 4;
636 {::_pbi::TcParser::FastMtR1,
637 {34, 63, 0, PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.courses_)}},
638 // repeated .operations_research.Teacher teachers = 5;
639 {::_pbi::TcParser::FastMtR1,
640 {42, 63, 1, PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.teachers_)}},
641 // repeated .operations_research.Student students = 6;
642 {::_pbi::TcParser::FastMtR1,
643 {50, 63, 2, PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.students_)}},
644 // repeated .operations_research.Room rooms = 7;
645 {::_pbi::TcParser::FastMtR1,
646 {58, 63, 3, PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.rooms_)}},
647 }}, {{
648 65535, 65535
649 }}, {{
650 // string display_name = 1;
651 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0,
652 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
653 // int32 days_count = 2;
654 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.days_count_), _Internal::kHasBitsOffset + 1, 0,
655 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
656 // int32 daily_time_slot_count = 3;
657 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.daily_time_slot_count_), _Internal::kHasBitsOffset + 2, 0,
658 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
659 // repeated .operations_research.Course courses = 4;
660 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.courses_), -1, 0,
661 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
662 // repeated .operations_research.Teacher teachers = 5;
663 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.teachers_), -1, 1,
664 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
665 // repeated .operations_research.Student students = 6;
666 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.students_), -1, 2,
667 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
668 // repeated .operations_research.Room rooms = 7;
669 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.rooms_), -1, 3,
670 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
671 }},
672 {{
673 {::_pbi::TcParser::GetTable<::operations_research::Course>()},
674 {::_pbi::TcParser::GetTable<::operations_research::Teacher>()},
675 {::_pbi::TcParser::GetTable<::operations_research::Student>()},
676 {::_pbi::TcParser::GetTable<::operations_research::Room>()},
677 }},
678 {{
679 "\51\14\0\0\0\0\0\0"
680 "operations_research.CourseSchedulingModel"
681 "display_name"
682 }},
683};
684PROTOBUF_NOINLINE void CourseSchedulingModel::Clear() {
685// @@protoc_insertion_point(message_clear_start:operations_research.CourseSchedulingModel)
686 ::google::protobuf::internal::TSanWrite(&_impl_);
687 ::uint32_t cached_has_bits = 0;
688 // Prevent compiler warnings about cached_has_bits being unused
689 (void) cached_has_bits;
690
691 _impl_.courses_.Clear();
692 _impl_.teachers_.Clear();
693 _impl_.students_.Clear();
694 _impl_.rooms_.Clear();
695 cached_has_bits = _impl_._has_bits_[0];
696 if ((cached_has_bits & 0x00000001u) != 0) {
697 _impl_.display_name_.ClearNonDefaultToEmpty();
698 }
699 if ((cached_has_bits & 0x00000006u) != 0) {
700 ::memset(&_impl_.days_count_, 0, static_cast<::size_t>(
701 reinterpret_cast<char*>(&_impl_.daily_time_slot_count_) -
702 reinterpret_cast<char*>(&_impl_.days_count_)) + sizeof(_impl_.daily_time_slot_count_));
703 }
704 _impl_._has_bits_.Clear();
705 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
706}
707
708#if defined(PROTOBUF_CUSTOM_VTABLE)
709::uint8_t* PROTOBUF_NONNULL CourseSchedulingModel::_InternalSerialize(
710 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
711 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
712 const CourseSchedulingModel& this_ = static_cast<const CourseSchedulingModel&>(base);
713#else // PROTOBUF_CUSTOM_VTABLE
714::uint8_t* PROTOBUF_NONNULL CourseSchedulingModel::_InternalSerialize(
715 ::uint8_t* PROTOBUF_NONNULL target,
716 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
717 const CourseSchedulingModel& this_ = *this;
718#endif // PROTOBUF_CUSTOM_VTABLE
719 // @@protoc_insertion_point(serialize_to_array_start:operations_research.CourseSchedulingModel)
720 ::uint32_t cached_has_bits = 0;
721 (void)cached_has_bits;
722
723 // string display_name = 1;
724 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
725 if (!this_._internal_display_name().empty()) {
726 const ::std::string& _s = this_._internal_display_name();
727 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
728 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.CourseSchedulingModel.display_name");
729 target = stream->WriteStringMaybeAliased(1, _s, target);
730 }
731 }
732
733 // int32 days_count = 2;
734 if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
735 if (this_._internal_days_count() != 0) {
736 target =
737 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
738 stream, this_._internal_days_count(), target);
739 }
740 }
741
742 // int32 daily_time_slot_count = 3;
743 if ((this_._impl_._has_bits_[0] & 0x00000004u) != 0) {
744 if (this_._internal_daily_time_slot_count() != 0) {
745 target =
746 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
747 stream, this_._internal_daily_time_slot_count(), target);
748 }
749 }
750
751 // repeated .operations_research.Course courses = 4;
752 for (unsigned i = 0, n = static_cast<unsigned>(
753 this_._internal_courses_size());
754 i < n; i++) {
755 const auto& repfield = this_._internal_courses().Get(i);
756 target =
757 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
758 4, repfield, repfield.GetCachedSize(),
759 target, stream);
760 }
761
762 // repeated .operations_research.Teacher teachers = 5;
763 for (unsigned i = 0, n = static_cast<unsigned>(
764 this_._internal_teachers_size());
765 i < n; i++) {
766 const auto& repfield = this_._internal_teachers().Get(i);
767 target =
768 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
769 5, repfield, repfield.GetCachedSize(),
770 target, stream);
771 }
772
773 // repeated .operations_research.Student students = 6;
774 for (unsigned i = 0, n = static_cast<unsigned>(
775 this_._internal_students_size());
776 i < n; i++) {
777 const auto& repfield = this_._internal_students().Get(i);
778 target =
779 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
780 6, repfield, repfield.GetCachedSize(),
781 target, stream);
782 }
783
784 // repeated .operations_research.Room rooms = 7;
785 for (unsigned i = 0, n = static_cast<unsigned>(
786 this_._internal_rooms_size());
787 i < n; i++) {
788 const auto& repfield = this_._internal_rooms().Get(i);
789 target =
790 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
791 7, repfield, repfield.GetCachedSize(),
792 target, stream);
793 }
794
795 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
796 target =
797 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
798 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
799 }
800 // @@protoc_insertion_point(serialize_to_array_end:operations_research.CourseSchedulingModel)
801 return target;
802}
803
804#if defined(PROTOBUF_CUSTOM_VTABLE)
806 const CourseSchedulingModel& this_ = static_cast<const CourseSchedulingModel&>(base);
807#else // PROTOBUF_CUSTOM_VTABLE
809 const CourseSchedulingModel& this_ = *this;
810#endif // PROTOBUF_CUSTOM_VTABLE
811 // @@protoc_insertion_point(message_byte_size_start:operations_research.CourseSchedulingModel)
812 ::size_t total_size = 0;
813
814 ::uint32_t cached_has_bits = 0;
815 // Prevent compiler warnings about cached_has_bits being unused
816 (void)cached_has_bits;
817
818 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
819 {
820 // repeated .operations_research.Course courses = 4;
821 {
822 total_size += 1UL * this_._internal_courses_size();
823 for (const auto& msg : this_._internal_courses()) {
824 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
825 }
826 }
827 // repeated .operations_research.Teacher teachers = 5;
828 {
829 total_size += 1UL * this_._internal_teachers_size();
830 for (const auto& msg : this_._internal_teachers()) {
831 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
832 }
833 }
834 // repeated .operations_research.Student students = 6;
835 {
836 total_size += 1UL * this_._internal_students_size();
837 for (const auto& msg : this_._internal_students()) {
838 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
839 }
840 }
841 // repeated .operations_research.Room rooms = 7;
842 {
843 total_size += 1UL * this_._internal_rooms_size();
844 for (const auto& msg : this_._internal_rooms()) {
845 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
846 }
847 }
848 }
849 cached_has_bits = this_._impl_._has_bits_[0];
850 if ((cached_has_bits & 0x00000007u) != 0) {
851 // string display_name = 1;
852 if ((cached_has_bits & 0x00000001u) != 0) {
853 if (!this_._internal_display_name().empty()) {
854 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
855 this_._internal_display_name());
856 }
857 }
858 // int32 days_count = 2;
859 if ((cached_has_bits & 0x00000002u) != 0) {
860 if (this_._internal_days_count() != 0) {
861 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
862 this_._internal_days_count());
863 }
864 }
865 // int32 daily_time_slot_count = 3;
866 if ((cached_has_bits & 0x00000004u) != 0) {
867 if (this_._internal_daily_time_slot_count() != 0) {
868 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
869 this_._internal_daily_time_slot_count());
870 }
871 }
872 }
873 return this_.MaybeComputeUnknownFieldsSize(total_size,
874 &this_._impl_._cached_size_);
875}
876
877void CourseSchedulingModel::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
878 auto* const _this = static_cast<CourseSchedulingModel*>(&to_msg);
879 auto& from = static_cast<const CourseSchedulingModel&>(from_msg);
880 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.CourseSchedulingModel)
881 ABSL_DCHECK_NE(&from, _this);
882 ::uint32_t cached_has_bits = 0;
883 (void) cached_has_bits;
884
885 _this->_internal_mutable_courses()->MergeFrom(
886 from._internal_courses());
887 _this->_internal_mutable_teachers()->MergeFrom(
888 from._internal_teachers());
889 _this->_internal_mutable_students()->MergeFrom(
890 from._internal_students());
891 _this->_internal_mutable_rooms()->MergeFrom(
892 from._internal_rooms());
893 cached_has_bits = from._impl_._has_bits_[0];
894 if ((cached_has_bits & 0x00000007u) != 0) {
895 if ((cached_has_bits & 0x00000001u) != 0) {
896 if (!from._internal_display_name().empty()) {
897 _this->_internal_set_display_name(from._internal_display_name());
898 } else {
899 if (_this->_impl_.display_name_.IsDefault()) {
900 _this->_internal_set_display_name("");
901 }
902 }
903 }
904 if ((cached_has_bits & 0x00000002u) != 0) {
905 if (from._internal_days_count() != 0) {
906 _this->_impl_.days_count_ = from._impl_.days_count_;
907 }
908 }
909 if ((cached_has_bits & 0x00000004u) != 0) {
910 if (from._internal_daily_time_slot_count() != 0) {
911 _this->_impl_.daily_time_slot_count_ = from._impl_.daily_time_slot_count_;
912 }
913 }
914 }
915 _this->_impl_._has_bits_[0] |= cached_has_bits;
916 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
917}
918
920// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.CourseSchedulingModel)
921 if (&from == this) return;
922 Clear();
923 MergeFrom(from);
924}
925
926
927void CourseSchedulingModel::InternalSwap(CourseSchedulingModel* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
928 using ::std::swap;
929 auto* arena = GetArena();
930 ABSL_DCHECK_EQ(arena, other->GetArena());
931 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
932 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
933 _impl_.courses_.InternalSwap(&other->_impl_.courses_);
934 _impl_.teachers_.InternalSwap(&other->_impl_.teachers_);
935 _impl_.students_.InternalSwap(&other->_impl_.students_);
936 _impl_.rooms_.InternalSwap(&other->_impl_.rooms_);
937 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
938 ::google::protobuf::internal::memswap<
939 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.daily_time_slot_count_)
940 + sizeof(CourseSchedulingModel::_impl_.daily_time_slot_count_)
941 - PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.days_count_)>(
942 reinterpret_cast<char*>(&_impl_.days_count_),
943 reinterpret_cast<char*>(&other->_impl_.days_count_));
944}
945
946::google::protobuf::Metadata CourseSchedulingModel::GetMetadata() const {
947 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
948}
949// ===================================================================
950
952 public:
953 using HasBits =
954 decltype(::std::declval<CourseSchedulingResult>()._impl_._has_bits_);
955 static constexpr ::int32_t kHasBitsOffset =
956 8 * PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_._has_bits_);
958
959CourseSchedulingResult::CourseSchedulingResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
960#if defined(PROTOBUF_CUSTOM_VTABLE)
961 : ::google::protobuf::Message(arena, CourseSchedulingResult_class_data_.base()) {
962#else // PROTOBUF_CUSTOM_VTABLE
963 : ::google::protobuf::Message(arena) {
964#endif // PROTOBUF_CUSTOM_VTABLE
965 SharedCtor(arena);
966 // @@protoc_insertion_point(arena_constructor:operations_research.CourseSchedulingResult)
967}
968PROTOBUF_NDEBUG_INLINE CourseSchedulingResult::Impl_::Impl_(
969 ::google::protobuf::internal::InternalVisibility visibility,
970 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
971 const ::operations_research::CourseSchedulingResult& from_msg)
972 : _has_bits_{from._has_bits_},
973 _cached_size_{0},
974 class_assignments_{visibility, arena, from.class_assignments_},
975 student_assignments_{visibility, arena, from.student_assignments_},
976 message_(arena, from.message_) {}
977
979 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
981#if defined(PROTOBUF_CUSTOM_VTABLE)
982 : ::google::protobuf::Message(arena, CourseSchedulingResult_class_data_.base()) {
983#else // PROTOBUF_CUSTOM_VTABLE
984 : ::google::protobuf::Message(arena) {
985#endif // PROTOBUF_CUSTOM_VTABLE
986 CourseSchedulingResult* const _this = this;
987 (void)_this;
988 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
989 from._internal_metadata_);
990 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
991 _impl_.solver_status_ = from._impl_.solver_status_;
992
993 // @@protoc_insertion_point(copy_constructor:operations_research.CourseSchedulingResult)
994}
995PROTOBUF_NDEBUG_INLINE CourseSchedulingResult::Impl_::Impl_(
996 ::google::protobuf::internal::InternalVisibility visibility,
997 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
998 : _cached_size_{0},
999 class_assignments_{visibility, arena},
1000 student_assignments_{visibility, arena},
1001 message_(arena) {}
1002
1003inline void CourseSchedulingResult::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1004 new (&_impl_) Impl_(internal_visibility(), arena);
1005 _impl_.solver_status_ = {};
1006}
1008 // @@protoc_insertion_point(destructor:operations_research.CourseSchedulingResult)
1009 SharedDtor(*this);
1010}
1011inline void CourseSchedulingResult::SharedDtor(MessageLite& self) {
1012 CourseSchedulingResult& this_ = static_cast<CourseSchedulingResult&>(self);
1013 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1014 ABSL_DCHECK(this_.GetArena() == nullptr);
1015 this_._impl_.message_.Destroy();
1016 this_._impl_.~Impl_();
1017}
1018
1019inline void* PROTOBUF_NONNULL CourseSchedulingResult::PlacementNew_(
1020 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1021 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1022 return ::new (mem) CourseSchedulingResult(arena);
1023}
1025 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1026 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.class_assignments_) +
1027 decltype(CourseSchedulingResult::_impl_.class_assignments_)::
1028 InternalGetArenaOffset(
1029 ::google::protobuf::Message::internal_visibility()),
1030 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.student_assignments_) +
1031 decltype(CourseSchedulingResult::_impl_.student_assignments_)::
1032 InternalGetArenaOffset(
1033 ::google::protobuf::Message::internal_visibility()),
1034 });
1035 if (arena_bits.has_value()) {
1036 return ::google::protobuf::internal::MessageCreator::CopyInit(
1037 sizeof(CourseSchedulingResult), alignof(CourseSchedulingResult), *arena_bits);
1038 } else {
1039 return ::google::protobuf::internal::MessageCreator(&CourseSchedulingResult::PlacementNew_,
1040 sizeof(CourseSchedulingResult),
1041 alignof(CourseSchedulingResult));
1042 }
1043}
1045 return ::google::protobuf::internal::ClassDataFull{
1046 ::google::protobuf::internal::ClassData{
1048 &_table_.header,
1049 nullptr, // OnDemandRegisterArenaDtor
1050 nullptr, // IsInitialized
1051 &CourseSchedulingResult::MergeImpl,
1052 ::google::protobuf::Message::GetNewImpl<CourseSchedulingResult>(),
1053#if defined(PROTOBUF_CUSTOM_VTABLE)
1054 &CourseSchedulingResult::SharedDtor,
1055 ::google::protobuf::Message::GetClearImpl<CourseSchedulingResult>(), &CourseSchedulingResult::ByteSizeLong,
1057#endif // PROTOBUF_CUSTOM_VTABLE
1058 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_._cached_size_),
1059 false,
1060 },
1061 &CourseSchedulingResult::kDescriptorMethods,
1063 nullptr, // tracker
1064 };
1065}
1066
1067PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1068 ::google::protobuf::internal::ClassDataFull CourseSchedulingResult_class_data_ =
1071PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1073 ::google::protobuf::internal::PrefetchToLocalCache(&CourseSchedulingResult_class_data_);
1074 ::google::protobuf::internal::PrefetchToLocalCache(CourseSchedulingResult_class_data_.tc_table);
1076}
1077PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1078const ::_pbi::TcParseTable<2, 4, 2, 58, 2>
1079CourseSchedulingResult::_table_ = {
1080 {
1081 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_._has_bits_),
1082 0, // no _extensions_
1083 4, 24, // max_field_number, fast_idx_mask
1084 offsetof(decltype(_table_), field_lookup_table),
1085 4294967280, // skipmap
1086 offsetof(decltype(_table_), field_entries),
1087 4, // num_field_entries
1088 2, // num_aux_entries
1089 offsetof(decltype(_table_), aux_entries),
1091 nullptr, // post_loop_handler
1092 ::_pbi::TcParser::GenericFallback, // fallback
1093 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1094 ::_pbi::TcParser::GetTable<::operations_research::CourseSchedulingResult>(), // to_prefetch
1095 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1096 }, {{
1097 // repeated .operations_research.StudentAssignment student_assignments = 4;
1098 {::_pbi::TcParser::FastMtR1,
1099 {34, 63, 1, PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.student_assignments_)}},
1100 // string message = 1;
1101 {::_pbi::TcParser::FastUS1,
1102 {10, 0, 0, PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.message_)}},
1103 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1104 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CourseSchedulingResult, _impl_.solver_status_), 1>(),
1105 {16, 1, 0, PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.solver_status_)}},
1106 // repeated .operations_research.ClassAssignment class_assignments = 3;
1107 {::_pbi::TcParser::FastMtR1,
1108 {26, 63, 0, PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.class_assignments_)}},
1109 }}, {{
1110 65535, 65535
1111 }}, {{
1112 // string message = 1;
1113 {PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.message_), _Internal::kHasBitsOffset + 0, 0,
1114 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
1115 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1116 {PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.solver_status_), _Internal::kHasBitsOffset + 1, 0,
1117 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1118 // repeated .operations_research.ClassAssignment class_assignments = 3;
1119 {PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.class_assignments_), -1, 0,
1120 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1121 // repeated .operations_research.StudentAssignment student_assignments = 4;
1122 {PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.student_assignments_), -1, 1,
1123 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1124 }},
1125 {{
1126 {::_pbi::TcParser::GetTable<::operations_research::ClassAssignment>()},
1127 {::_pbi::TcParser::GetTable<::operations_research::StudentAssignment>()},
1128 }},
1129 {{
1130 "\52\7\0\0\0\0\0\0"
1131 "operations_research.CourseSchedulingResult"
1132 "message"
1133 }},
1134};
1135PROTOBUF_NOINLINE void CourseSchedulingResult::Clear() {
1136// @@protoc_insertion_point(message_clear_start:operations_research.CourseSchedulingResult)
1137 ::google::protobuf::internal::TSanWrite(&_impl_);
1138 ::uint32_t cached_has_bits = 0;
1139 // Prevent compiler warnings about cached_has_bits being unused
1140 (void) cached_has_bits;
1141
1142 _impl_.class_assignments_.Clear();
1143 _impl_.student_assignments_.Clear();
1144 cached_has_bits = _impl_._has_bits_[0];
1145 if ((cached_has_bits & 0x00000001u) != 0) {
1146 _impl_.message_.ClearNonDefaultToEmpty();
1147 }
1148 _impl_.solver_status_ = 0;
1149 _impl_._has_bits_.Clear();
1150 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1151}
1152
1153#if defined(PROTOBUF_CUSTOM_VTABLE)
1154::uint8_t* PROTOBUF_NONNULL CourseSchedulingResult::_InternalSerialize(
1155 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1156 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1157 const CourseSchedulingResult& this_ = static_cast<const CourseSchedulingResult&>(base);
1158#else // PROTOBUF_CUSTOM_VTABLE
1159::uint8_t* PROTOBUF_NONNULL CourseSchedulingResult::_InternalSerialize(
1160 ::uint8_t* PROTOBUF_NONNULL target,
1161 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1162 const CourseSchedulingResult& this_ = *this;
1163#endif // PROTOBUF_CUSTOM_VTABLE
1164 // @@protoc_insertion_point(serialize_to_array_start:operations_research.CourseSchedulingResult)
1165 ::uint32_t cached_has_bits = 0;
1166 (void)cached_has_bits;
1167
1168 // string message = 1;
1169 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
1170 if (!this_._internal_message().empty()) {
1171 const ::std::string& _s = this_._internal_message();
1172 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
1173 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.CourseSchedulingResult.message");
1174 target = stream->WriteStringMaybeAliased(1, _s, target);
1175 }
1176 }
1177
1178 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1179 if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
1180 if (this_._internal_solver_status() != 0) {
1181 target = stream->EnsureSpace(target);
1182 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1183 2, this_._internal_solver_status(), target);
1184 }
1185 }
1186
1187 // repeated .operations_research.ClassAssignment class_assignments = 3;
1188 for (unsigned i = 0, n = static_cast<unsigned>(
1189 this_._internal_class_assignments_size());
1190 i < n; i++) {
1191 const auto& repfield = this_._internal_class_assignments().Get(i);
1192 target =
1193 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1194 3, repfield, repfield.GetCachedSize(),
1195 target, stream);
1196 }
1197
1198 // repeated .operations_research.StudentAssignment student_assignments = 4;
1199 for (unsigned i = 0, n = static_cast<unsigned>(
1200 this_._internal_student_assignments_size());
1201 i < n; i++) {
1202 const auto& repfield = this_._internal_student_assignments().Get(i);
1203 target =
1204 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1205 4, repfield, repfield.GetCachedSize(),
1206 target, stream);
1207 }
1208
1209 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1210 target =
1211 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1212 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1213 }
1214 // @@protoc_insertion_point(serialize_to_array_end:operations_research.CourseSchedulingResult)
1215 return target;
1216}
1217
1218#if defined(PROTOBUF_CUSTOM_VTABLE)
1220 const CourseSchedulingResult& this_ = static_cast<const CourseSchedulingResult&>(base);
1221#else // PROTOBUF_CUSTOM_VTABLE
1222::size_t CourseSchedulingResult::ByteSizeLong() const {
1223 const CourseSchedulingResult& this_ = *this;
1224#endif // PROTOBUF_CUSTOM_VTABLE
1225 // @@protoc_insertion_point(message_byte_size_start:operations_research.CourseSchedulingResult)
1226 ::size_t total_size = 0;
1227
1228 ::uint32_t cached_has_bits = 0;
1229 // Prevent compiler warnings about cached_has_bits being unused
1230 (void)cached_has_bits;
1231
1232 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1233 {
1234 // repeated .operations_research.ClassAssignment class_assignments = 3;
1235 {
1236 total_size += 1UL * this_._internal_class_assignments_size();
1237 for (const auto& msg : this_._internal_class_assignments()) {
1238 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1239 }
1240 }
1241 // repeated .operations_research.StudentAssignment student_assignments = 4;
1242 {
1243 total_size += 1UL * this_._internal_student_assignments_size();
1244 for (const auto& msg : this_._internal_student_assignments()) {
1245 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1246 }
1247 }
1248 }
1249 cached_has_bits = this_._impl_._has_bits_[0];
1250 if ((cached_has_bits & 0x00000003u) != 0) {
1251 // string message = 1;
1252 if ((cached_has_bits & 0x00000001u) != 0) {
1253 if (!this_._internal_message().empty()) {
1254 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
1255 this_._internal_message());
1256 }
1257 }
1258 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1259 if ((cached_has_bits & 0x00000002u) != 0) {
1260 if (this_._internal_solver_status() != 0) {
1261 total_size += 1 +
1262 ::_pbi::WireFormatLite::EnumSize(this_._internal_solver_status());
1263 }
1264 }
1265 }
1266 return this_.MaybeComputeUnknownFieldsSize(total_size,
1267 &this_._impl_._cached_size_);
1268}
1269
1270void CourseSchedulingResult::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1271 auto* const _this = static_cast<CourseSchedulingResult*>(&to_msg);
1272 auto& from = static_cast<const CourseSchedulingResult&>(from_msg);
1273 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.CourseSchedulingResult)
1274 ABSL_DCHECK_NE(&from, _this);
1275 ::uint32_t cached_has_bits = 0;
1276 (void) cached_has_bits;
1277
1278 _this->_internal_mutable_class_assignments()->MergeFrom(
1279 from._internal_class_assignments());
1280 _this->_internal_mutable_student_assignments()->MergeFrom(
1281 from._internal_student_assignments());
1282 cached_has_bits = from._impl_._has_bits_[0];
1283 if ((cached_has_bits & 0x00000003u) != 0) {
1284 if ((cached_has_bits & 0x00000001u) != 0) {
1285 if (!from._internal_message().empty()) {
1286 _this->_internal_set_message(from._internal_message());
1287 } else {
1288 if (_this->_impl_.message_.IsDefault()) {
1289 _this->_internal_set_message("");
1290 }
1291 }
1292 }
1293 if ((cached_has_bits & 0x00000002u) != 0) {
1294 if (from._internal_solver_status() != 0) {
1295 _this->_impl_.solver_status_ = from._impl_.solver_status_;
1296 }
1297 }
1298 }
1299 _this->_impl_._has_bits_[0] |= cached_has_bits;
1300 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1301}
1302
1303void CourseSchedulingResult::CopyFrom(const CourseSchedulingResult& from) {
1304// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.CourseSchedulingResult)
1305 if (&from == this) return;
1306 Clear();
1307 MergeFrom(from);
1308}
1309
1310
1311void CourseSchedulingResult::InternalSwap(CourseSchedulingResult* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1312 using ::std::swap;
1313 auto* arena = GetArena();
1314 ABSL_DCHECK_EQ(arena, other->GetArena());
1315 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1316 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1317 _impl_.class_assignments_.InternalSwap(&other->_impl_.class_assignments_);
1318 _impl_.student_assignments_.InternalSwap(&other->_impl_.student_assignments_);
1319 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.message_, &other->_impl_.message_, arena);
1320 swap(_impl_.solver_status_, other->_impl_.solver_status_);
1321}
1322
1323::google::protobuf::Metadata CourseSchedulingResult::GetMetadata() const {
1324 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1326// ===================================================================
1327
1329 public:
1330 using HasBits =
1331 decltype(::std::declval<ClassAssignment>()._impl_._has_bits_);
1332 static constexpr ::int32_t kHasBitsOffset =
1333 8 * PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_._has_bits_);
1334};
1336ClassAssignment::ClassAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1337#if defined(PROTOBUF_CUSTOM_VTABLE)
1338 : ::google::protobuf::Message(arena, ClassAssignment_class_data_.base()) {
1339#else // PROTOBUF_CUSTOM_VTABLE
1340 : ::google::protobuf::Message(arena) {
1341#endif // PROTOBUF_CUSTOM_VTABLE
1342 SharedCtor(arena);
1343 // @@protoc_insertion_point(arena_constructor:operations_research.ClassAssignment)
1344}
1345PROTOBUF_NDEBUG_INLINE ClassAssignment::Impl_::Impl_(
1346 ::google::protobuf::internal::InternalVisibility visibility,
1347 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1348 const ::operations_research::ClassAssignment& from_msg)
1349 : _has_bits_{from._has_bits_},
1350 _cached_size_{0},
1351 time_slots_{visibility, arena, from.time_slots_},
1352 _time_slots_cached_byte_size_{0},
1353 room_indices_{visibility, arena, from.room_indices_},
1354 _room_indices_cached_byte_size_{0} {}
1355
1357 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1358 const ClassAssignment& from)
1359#if defined(PROTOBUF_CUSTOM_VTABLE)
1360 : ::google::protobuf::Message(arena, ClassAssignment_class_data_.base()) {
1361#else // PROTOBUF_CUSTOM_VTABLE
1362 : ::google::protobuf::Message(arena) {
1363#endif // PROTOBUF_CUSTOM_VTABLE
1364 ClassAssignment* const _this = this;
1365 (void)_this;
1366 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1367 from._internal_metadata_);
1368 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1369 ::memcpy(reinterpret_cast<char *>(&_impl_) +
1370 offsetof(Impl_, course_index_),
1371 reinterpret_cast<const char *>(&from._impl_) +
1372 offsetof(Impl_, course_index_),
1373 offsetof(Impl_, section_number_) -
1374 offsetof(Impl_, course_index_) +
1375 sizeof(Impl_::section_number_));
1376
1377 // @@protoc_insertion_point(copy_constructor:operations_research.ClassAssignment)
1378}
1379PROTOBUF_NDEBUG_INLINE ClassAssignment::Impl_::Impl_(
1380 ::google::protobuf::internal::InternalVisibility visibility,
1381 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1382 : _cached_size_{0},
1383 time_slots_{visibility, arena},
1384 _time_slots_cached_byte_size_{0},
1385 room_indices_{visibility, arena},
1386 _room_indices_cached_byte_size_{0} {}
1387
1388inline void ClassAssignment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1389 new (&_impl_) Impl_(internal_visibility(), arena);
1390 ::memset(reinterpret_cast<char *>(&_impl_) +
1391 offsetof(Impl_, course_index_),
1392 0,
1393 offsetof(Impl_, section_number_) -
1394 offsetof(Impl_, course_index_) +
1395 sizeof(Impl_::section_number_));
1396}
1398 // @@protoc_insertion_point(destructor:operations_research.ClassAssignment)
1399 SharedDtor(*this);
1401inline void ClassAssignment::SharedDtor(MessageLite& self) {
1402 ClassAssignment& this_ = static_cast<ClassAssignment&>(self);
1403 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1404 ABSL_DCHECK(this_.GetArena() == nullptr);
1405 this_._impl_.~Impl_();
1406}
1407
1408inline void* PROTOBUF_NONNULL ClassAssignment::PlacementNew_(
1409 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1410 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1411 return ::new (mem) ClassAssignment(arena);
1412}
1413constexpr auto ClassAssignment::InternalNewImpl_() {
1414 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1415 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.time_slots_) +
1416 decltype(ClassAssignment::_impl_.time_slots_)::
1417 InternalGetArenaOffset(
1418 ::google::protobuf::Message::internal_visibility()),
1419 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.room_indices_) +
1420 decltype(ClassAssignment::_impl_.room_indices_)::
1421 InternalGetArenaOffset(
1422 ::google::protobuf::Message::internal_visibility()),
1423 });
1424 if (arena_bits.has_value()) {
1425 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1426 sizeof(ClassAssignment), alignof(ClassAssignment), *arena_bits);
1427 } else {
1428 return ::google::protobuf::internal::MessageCreator(&ClassAssignment::PlacementNew_,
1429 sizeof(ClassAssignment),
1430 alignof(ClassAssignment));
1431 }
1432}
1434 return ::google::protobuf::internal::ClassDataFull{
1435 ::google::protobuf::internal::ClassData{
1437 &_table_.header,
1438 nullptr, // OnDemandRegisterArenaDtor
1439 nullptr, // IsInitialized
1440 &ClassAssignment::MergeImpl,
1441 ::google::protobuf::Message::GetNewImpl<ClassAssignment>(),
1442#if defined(PROTOBUF_CUSTOM_VTABLE)
1443 &ClassAssignment::SharedDtor,
1444 ::google::protobuf::Message::GetClearImpl<ClassAssignment>(), &ClassAssignment::ByteSizeLong,
1446#endif // PROTOBUF_CUSTOM_VTABLE
1447 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_._cached_size_),
1448 false,
1449 },
1450 &ClassAssignment::kDescriptorMethods,
1452 nullptr, // tracker
1453 };
1454}
1455
1456PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1457 ::google::protobuf::internal::ClassDataFull ClassAssignment_class_data_ =
1459
1460PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1462 ::google::protobuf::internal::PrefetchToLocalCache(&ClassAssignment_class_data_);
1463 ::google::protobuf::internal::PrefetchToLocalCache(ClassAssignment_class_data_.tc_table);
1465}
1466PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1467const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
1468ClassAssignment::_table_ = {
1469 {
1470 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_._has_bits_),
1471 0, // no _extensions_
1472 4, 24, // max_field_number, fast_idx_mask
1473 offsetof(decltype(_table_), field_lookup_table),
1474 4294967280, // skipmap
1475 offsetof(decltype(_table_), field_entries),
1476 4, // num_field_entries
1477 0, // num_aux_entries
1478 offsetof(decltype(_table_), field_names), // no aux_entries
1480 nullptr, // post_loop_handler
1481 ::_pbi::TcParser::GenericFallback, // fallback
1482 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1483 ::_pbi::TcParser::GetTable<::operations_research::ClassAssignment>(), // to_prefetch
1484 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1485 }, {{
1486 // repeated int32 room_indices = 4;
1487 {::_pbi::TcParser::FastV32P1,
1488 {34, 63, 0, PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.room_indices_)}},
1489 // int32 course_index = 1;
1490 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ClassAssignment, _impl_.course_index_), 0>(),
1491 {8, 0, 0, PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.course_index_)}},
1492 // int32 section_number = 2;
1493 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ClassAssignment, _impl_.section_number_), 1>(),
1494 {16, 1, 0, PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.section_number_)}},
1495 // repeated int32 time_slots = 3;
1496 {::_pbi::TcParser::FastV32P1,
1497 {26, 63, 0, PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.time_slots_)}},
1498 }}, {{
1499 65535, 65535
1500 }}, {{
1501 // int32 course_index = 1;
1502 {PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.course_index_), _Internal::kHasBitsOffset + 0, 0,
1503 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1504 // int32 section_number = 2;
1505 {PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.section_number_), _Internal::kHasBitsOffset + 1, 0,
1506 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1507 // repeated int32 time_slots = 3;
1508 {PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.time_slots_), -1, 0,
1509 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1510 // repeated int32 room_indices = 4;
1511 {PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.room_indices_), -1, 0,
1512 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1513 }},
1514 // no aux_entries
1515 {{
1516 }},
1517};
1518PROTOBUF_NOINLINE void ClassAssignment::Clear() {
1519// @@protoc_insertion_point(message_clear_start:operations_research.ClassAssignment)
1520 ::google::protobuf::internal::TSanWrite(&_impl_);
1521 ::uint32_t cached_has_bits = 0;
1522 // Prevent compiler warnings about cached_has_bits being unused
1523 (void) cached_has_bits;
1524
1525 _impl_.time_slots_.Clear();
1526 _impl_.room_indices_.Clear();
1527 cached_has_bits = _impl_._has_bits_[0];
1528 if ((cached_has_bits & 0x00000003u) != 0) {
1529 ::memset(&_impl_.course_index_, 0, static_cast<::size_t>(
1530 reinterpret_cast<char*>(&_impl_.section_number_) -
1531 reinterpret_cast<char*>(&_impl_.course_index_)) + sizeof(_impl_.section_number_));
1532 }
1533 _impl_._has_bits_.Clear();
1534 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1535}
1536
1537#if defined(PROTOBUF_CUSTOM_VTABLE)
1538::uint8_t* PROTOBUF_NONNULL ClassAssignment::_InternalSerialize(
1539 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1540 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1541 const ClassAssignment& this_ = static_cast<const ClassAssignment&>(base);
1542#else // PROTOBUF_CUSTOM_VTABLE
1543::uint8_t* PROTOBUF_NONNULL ClassAssignment::_InternalSerialize(
1544 ::uint8_t* PROTOBUF_NONNULL target,
1545 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1546 const ClassAssignment& this_ = *this;
1547#endif // PROTOBUF_CUSTOM_VTABLE
1548 // @@protoc_insertion_point(serialize_to_array_start:operations_research.ClassAssignment)
1549 ::uint32_t cached_has_bits = 0;
1550 (void)cached_has_bits;
1551
1552 // int32 course_index = 1;
1553 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
1554 if (this_._internal_course_index() != 0) {
1555 target =
1556 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
1557 stream, this_._internal_course_index(), target);
1558 }
1559 }
1560
1561 // int32 section_number = 2;
1562 if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
1563 if (this_._internal_section_number() != 0) {
1564 target =
1565 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
1566 stream, this_._internal_section_number(), target);
1567 }
1568 }
1569
1570 // repeated int32 time_slots = 3;
1571 {
1572 int byte_size = this_._impl_._time_slots_cached_byte_size_.Get();
1573 if (byte_size > 0) {
1574 target = stream->WriteInt32Packed(
1575 3, this_._internal_time_slots(), byte_size, target);
1576 }
1577 }
1578
1579 // repeated int32 room_indices = 4;
1580 {
1581 int byte_size = this_._impl_._room_indices_cached_byte_size_.Get();
1582 if (byte_size > 0) {
1583 target = stream->WriteInt32Packed(
1584 4, this_._internal_room_indices(), byte_size, target);
1585 }
1586 }
1587
1588 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1589 target =
1590 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1591 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1592 }
1593 // @@protoc_insertion_point(serialize_to_array_end:operations_research.ClassAssignment)
1594 return target;
1595}
1596
1597#if defined(PROTOBUF_CUSTOM_VTABLE)
1598::size_t ClassAssignment::ByteSizeLong(const MessageLite& base) {
1599 const ClassAssignment& this_ = static_cast<const ClassAssignment&>(base);
1600#else // PROTOBUF_CUSTOM_VTABLE
1601::size_t ClassAssignment::ByteSizeLong() const {
1602 const ClassAssignment& this_ = *this;
1603#endif // PROTOBUF_CUSTOM_VTABLE
1604 // @@protoc_insertion_point(message_byte_size_start:operations_research.ClassAssignment)
1605 ::size_t total_size = 0;
1606
1607 ::uint32_t cached_has_bits = 0;
1608 // Prevent compiler warnings about cached_has_bits being unused
1609 (void)cached_has_bits;
1610
1611 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1612 {
1613 // repeated int32 time_slots = 3;
1614 {
1615 total_size +=
1616 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1617 this_._internal_time_slots(), 1,
1618 this_._impl_._time_slots_cached_byte_size_);
1619 }
1620 // repeated int32 room_indices = 4;
1621 {
1622 total_size +=
1623 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1624 this_._internal_room_indices(), 1,
1625 this_._impl_._room_indices_cached_byte_size_);
1626 }
1627 }
1628 cached_has_bits = this_._impl_._has_bits_[0];
1629 if ((cached_has_bits & 0x00000003u) != 0) {
1630 // int32 course_index = 1;
1631 if ((cached_has_bits & 0x00000001u) != 0) {
1632 if (this_._internal_course_index() != 0) {
1633 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1634 this_._internal_course_index());
1635 }
1636 }
1637 // int32 section_number = 2;
1638 if ((cached_has_bits & 0x00000002u) != 0) {
1639 if (this_._internal_section_number() != 0) {
1640 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1641 this_._internal_section_number());
1642 }
1643 }
1644 }
1645 return this_.MaybeComputeUnknownFieldsSize(total_size,
1646 &this_._impl_._cached_size_);
1647}
1648
1649void ClassAssignment::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1650 auto* const _this = static_cast<ClassAssignment*>(&to_msg);
1651 auto& from = static_cast<const ClassAssignment&>(from_msg);
1652 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.ClassAssignment)
1653 ABSL_DCHECK_NE(&from, _this);
1654 ::uint32_t cached_has_bits = 0;
1655 (void) cached_has_bits;
1656
1657 _this->_internal_mutable_time_slots()->MergeFrom(from._internal_time_slots());
1658 _this->_internal_mutable_room_indices()->MergeFrom(from._internal_room_indices());
1659 cached_has_bits = from._impl_._has_bits_[0];
1660 if ((cached_has_bits & 0x00000003u) != 0) {
1661 if ((cached_has_bits & 0x00000001u) != 0) {
1662 if (from._internal_course_index() != 0) {
1663 _this->_impl_.course_index_ = from._impl_.course_index_;
1664 }
1665 }
1666 if ((cached_has_bits & 0x00000002u) != 0) {
1667 if (from._internal_section_number() != 0) {
1668 _this->_impl_.section_number_ = from._impl_.section_number_;
1669 }
1670 }
1671 }
1672 _this->_impl_._has_bits_[0] |= cached_has_bits;
1673 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1674}
1675
1677// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.ClassAssignment)
1678 if (&from == this) return;
1680 MergeFrom(from);
1681}
1682
1683
1684void ClassAssignment::InternalSwap(ClassAssignment* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1685 using ::std::swap;
1686 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1687 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1688 _impl_.time_slots_.InternalSwap(&other->_impl_.time_slots_);
1689 _impl_.room_indices_.InternalSwap(&other->_impl_.room_indices_);
1690 ::google::protobuf::internal::memswap<
1691 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.section_number_)
1692 + sizeof(ClassAssignment::_impl_.section_number_)
1693 - PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.course_index_)>(
1694 reinterpret_cast<char*>(&_impl_.course_index_),
1695 reinterpret_cast<char*>(&other->_impl_.course_index_));
1696}
1697
1698::google::protobuf::Metadata ClassAssignment::GetMetadata() const {
1699 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1700}
1701// ===================================================================
1702
1704 public:
1705 using HasBits =
1706 decltype(::std::declval<StudentAssignment>()._impl_._has_bits_);
1707 static constexpr ::int32_t kHasBitsOffset =
1708 8 * PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_._has_bits_);
1710
1711StudentAssignment::StudentAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1712#if defined(PROTOBUF_CUSTOM_VTABLE)
1713 : ::google::protobuf::Message(arena, StudentAssignment_class_data_.base()) {
1714#else // PROTOBUF_CUSTOM_VTABLE
1715 : ::google::protobuf::Message(arena) {
1716#endif // PROTOBUF_CUSTOM_VTABLE
1717 SharedCtor(arena);
1718 // @@protoc_insertion_point(arena_constructor:operations_research.StudentAssignment)
1719}
1720PROTOBUF_NDEBUG_INLINE StudentAssignment::Impl_::Impl_(
1721 ::google::protobuf::internal::InternalVisibility visibility,
1722 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1723 const ::operations_research::StudentAssignment& from_msg)
1724 : _has_bits_{from._has_bits_},
1725 _cached_size_{0},
1726 course_indices_{visibility, arena, from.course_indices_},
1727 _course_indices_cached_byte_size_{0},
1728 section_indices_{visibility, arena, from.section_indices_},
1729 _section_indices_cached_byte_size_{0} {}
1730
1732 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1733 const StudentAssignment& from)
1734#if defined(PROTOBUF_CUSTOM_VTABLE)
1735 : ::google::protobuf::Message(arena, StudentAssignment_class_data_.base()) {
1736#else // PROTOBUF_CUSTOM_VTABLE
1737 : ::google::protobuf::Message(arena) {
1738#endif // PROTOBUF_CUSTOM_VTABLE
1739 StudentAssignment* const _this = this;
1740 (void)_this;
1741 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1742 from._internal_metadata_);
1743 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1744 _impl_.student_index_ = from._impl_.student_index_;
1745
1746 // @@protoc_insertion_point(copy_constructor:operations_research.StudentAssignment)
1747}
1748PROTOBUF_NDEBUG_INLINE StudentAssignment::Impl_::Impl_(
1749 ::google::protobuf::internal::InternalVisibility visibility,
1750 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1751 : _cached_size_{0},
1752 course_indices_{visibility, arena},
1753 _course_indices_cached_byte_size_{0},
1754 section_indices_{visibility, arena},
1755 _section_indices_cached_byte_size_{0} {}
1756
1757inline void StudentAssignment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1758 new (&_impl_) Impl_(internal_visibility(), arena);
1759 _impl_.student_index_ = {};
1760}
1762 // @@protoc_insertion_point(destructor:operations_research.StudentAssignment)
1763 SharedDtor(*this);
1764}
1765inline void StudentAssignment::SharedDtor(MessageLite& self) {
1766 StudentAssignment& this_ = static_cast<StudentAssignment&>(self);
1767 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1768 ABSL_DCHECK(this_.GetArena() == nullptr);
1769 this_._impl_.~Impl_();
1770}
1771
1772inline void* PROTOBUF_NONNULL StudentAssignment::PlacementNew_(
1773 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1774 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1775 return ::new (mem) StudentAssignment(arena);
1777constexpr auto StudentAssignment::InternalNewImpl_() {
1778 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1779 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.course_indices_) +
1780 decltype(StudentAssignment::_impl_.course_indices_)::
1781 InternalGetArenaOffset(
1782 ::google::protobuf::Message::internal_visibility()),
1783 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.section_indices_) +
1784 decltype(StudentAssignment::_impl_.section_indices_)::
1785 InternalGetArenaOffset(
1786 ::google::protobuf::Message::internal_visibility()),
1787 });
1788 if (arena_bits.has_value()) {
1789 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1790 sizeof(StudentAssignment), alignof(StudentAssignment), *arena_bits);
1791 } else {
1792 return ::google::protobuf::internal::MessageCreator(&StudentAssignment::PlacementNew_,
1793 sizeof(StudentAssignment),
1794 alignof(StudentAssignment));
1795 }
1796}
1798 return ::google::protobuf::internal::ClassDataFull{
1799 ::google::protobuf::internal::ClassData{
1801 &_table_.header,
1802 nullptr, // OnDemandRegisterArenaDtor
1803 nullptr, // IsInitialized
1804 &StudentAssignment::MergeImpl,
1805 ::google::protobuf::Message::GetNewImpl<StudentAssignment>(),
1806#if defined(PROTOBUF_CUSTOM_VTABLE)
1807 &StudentAssignment::SharedDtor,
1808 ::google::protobuf::Message::GetClearImpl<StudentAssignment>(), &StudentAssignment::ByteSizeLong,
1810#endif // PROTOBUF_CUSTOM_VTABLE
1811 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_._cached_size_),
1812 false,
1813 },
1814 &StudentAssignment::kDescriptorMethods,
1816 nullptr, // tracker
1817 };
1818}
1819
1820PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1821 ::google::protobuf::internal::ClassDataFull StudentAssignment_class_data_ =
1823
1824PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1826 ::google::protobuf::internal::PrefetchToLocalCache(&StudentAssignment_class_data_);
1827 ::google::protobuf::internal::PrefetchToLocalCache(StudentAssignment_class_data_.tc_table);
1828 return StudentAssignment_class_data_.base();
1830PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1831const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
1832StudentAssignment::_table_ = {
1833 {
1834 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_._has_bits_),
1835 0, // no _extensions_
1836 3, 24, // max_field_number, fast_idx_mask
1837 offsetof(decltype(_table_), field_lookup_table),
1838 4294967288, // skipmap
1839 offsetof(decltype(_table_), field_entries),
1840 3, // num_field_entries
1841 0, // num_aux_entries
1842 offsetof(decltype(_table_), field_names), // no aux_entries
1844 nullptr, // post_loop_handler
1845 ::_pbi::TcParser::GenericFallback, // fallback
1846 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1847 ::_pbi::TcParser::GetTable<::operations_research::StudentAssignment>(), // to_prefetch
1848 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1849 }, {{
1850 {::_pbi::TcParser::MiniParse, {}},
1851 // int32 student_index = 1;
1852 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(StudentAssignment, _impl_.student_index_), 0>(),
1853 {8, 0, 0, PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.student_index_)}},
1854 // repeated int32 course_indices = 2;
1855 {::_pbi::TcParser::FastV32P1,
1856 {18, 63, 0, PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.course_indices_)}},
1857 // repeated int32 section_indices = 3;
1858 {::_pbi::TcParser::FastV32P1,
1859 {26, 63, 0, PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.section_indices_)}},
1860 }}, {{
1861 65535, 65535
1862 }}, {{
1863 // int32 student_index = 1;
1864 {PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.student_index_), _Internal::kHasBitsOffset + 0, 0,
1865 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1866 // repeated int32 course_indices = 2;
1867 {PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.course_indices_), -1, 0,
1868 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1869 // repeated int32 section_indices = 3;
1870 {PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.section_indices_), -1, 0,
1871 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1872 }},
1873 // no aux_entries
1874 {{
1875 }},
1876};
1877PROTOBUF_NOINLINE void StudentAssignment::Clear() {
1878// @@protoc_insertion_point(message_clear_start:operations_research.StudentAssignment)
1879 ::google::protobuf::internal::TSanWrite(&_impl_);
1880 ::uint32_t cached_has_bits = 0;
1881 // Prevent compiler warnings about cached_has_bits being unused
1882 (void) cached_has_bits;
1883
1884 _impl_.course_indices_.Clear();
1885 _impl_.section_indices_.Clear();
1886 _impl_.student_index_ = 0;
1887 _impl_._has_bits_.Clear();
1888 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1889}
1890
1891#if defined(PROTOBUF_CUSTOM_VTABLE)
1892::uint8_t* PROTOBUF_NONNULL StudentAssignment::_InternalSerialize(
1893 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1894 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1895 const StudentAssignment& this_ = static_cast<const StudentAssignment&>(base);
1896#else // PROTOBUF_CUSTOM_VTABLE
1897::uint8_t* PROTOBUF_NONNULL StudentAssignment::_InternalSerialize(
1898 ::uint8_t* PROTOBUF_NONNULL target,
1899 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1900 const StudentAssignment& this_ = *this;
1901#endif // PROTOBUF_CUSTOM_VTABLE
1902 // @@protoc_insertion_point(serialize_to_array_start:operations_research.StudentAssignment)
1903 ::uint32_t cached_has_bits = 0;
1904 (void)cached_has_bits;
1905
1906 // int32 student_index = 1;
1907 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
1908 if (this_._internal_student_index() != 0) {
1909 target =
1910 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
1911 stream, this_._internal_student_index(), target);
1912 }
1913 }
1914
1915 // repeated int32 course_indices = 2;
1916 {
1917 int byte_size = this_._impl_._course_indices_cached_byte_size_.Get();
1918 if (byte_size > 0) {
1919 target = stream->WriteInt32Packed(
1920 2, this_._internal_course_indices(), byte_size, target);
1921 }
1922 }
1923
1924 // repeated int32 section_indices = 3;
1925 {
1926 int byte_size = this_._impl_._section_indices_cached_byte_size_.Get();
1927 if (byte_size > 0) {
1928 target = stream->WriteInt32Packed(
1929 3, this_._internal_section_indices(), byte_size, target);
1930 }
1931 }
1932
1933 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1934 target =
1935 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1936 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1937 }
1938 // @@protoc_insertion_point(serialize_to_array_end:operations_research.StudentAssignment)
1939 return target;
1940}
1941
1942#if defined(PROTOBUF_CUSTOM_VTABLE)
1943::size_t StudentAssignment::ByteSizeLong(const MessageLite& base) {
1944 const StudentAssignment& this_ = static_cast<const StudentAssignment&>(base);
1945#else // PROTOBUF_CUSTOM_VTABLE
1946::size_t StudentAssignment::ByteSizeLong() const {
1947 const StudentAssignment& this_ = *this;
1948#endif // PROTOBUF_CUSTOM_VTABLE
1949 // @@protoc_insertion_point(message_byte_size_start:operations_research.StudentAssignment)
1950 ::size_t total_size = 0;
1951
1952 ::uint32_t cached_has_bits = 0;
1953 // Prevent compiler warnings about cached_has_bits being unused
1954 (void)cached_has_bits;
1955
1956 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1957 {
1958 // repeated int32 course_indices = 2;
1959 {
1960 total_size +=
1961 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1962 this_._internal_course_indices(), 1,
1963 this_._impl_._course_indices_cached_byte_size_);
1964 }
1965 // repeated int32 section_indices = 3;
1966 {
1967 total_size +=
1968 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1969 this_._internal_section_indices(), 1,
1970 this_._impl_._section_indices_cached_byte_size_);
1971 }
1972 }
1973 {
1974 // int32 student_index = 1;
1975 cached_has_bits = this_._impl_._has_bits_[0];
1976 if ((cached_has_bits & 0x00000001u) != 0) {
1977 if (this_._internal_student_index() != 0) {
1978 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1979 this_._internal_student_index());
1980 }
1981 }
1982 }
1983 return this_.MaybeComputeUnknownFieldsSize(total_size,
1984 &this_._impl_._cached_size_);
1985}
1986
1987void StudentAssignment::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1988 auto* const _this = static_cast<StudentAssignment*>(&to_msg);
1989 auto& from = static_cast<const StudentAssignment&>(from_msg);
1990 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.StudentAssignment)
1991 ABSL_DCHECK_NE(&from, _this);
1992 ::uint32_t cached_has_bits = 0;
1993 (void) cached_has_bits;
1994
1995 _this->_internal_mutable_course_indices()->MergeFrom(from._internal_course_indices());
1996 _this->_internal_mutable_section_indices()->MergeFrom(from._internal_section_indices());
1997 cached_has_bits = from._impl_._has_bits_[0];
1998 if ((cached_has_bits & 0x00000001u) != 0) {
1999 if (from._internal_student_index() != 0) {
2000 _this->_impl_.student_index_ = from._impl_.student_index_;
2001 }
2002 }
2003 _this->_impl_._has_bits_[0] |= cached_has_bits;
2004 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
2005}
2006
2008// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.StudentAssignment)
2009 if (&from == this) return;
2010 Clear();
2012}
2013
2014
2015void StudentAssignment::InternalSwap(StudentAssignment* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2016 using ::std::swap;
2017 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2018 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2019 _impl_.course_indices_.InternalSwap(&other->_impl_.course_indices_);
2020 _impl_.section_indices_.InternalSwap(&other->_impl_.section_indices_);
2021 swap(_impl_.student_index_, other->_impl_.student_index_);
2022}
2023
2024::google::protobuf::Metadata StudentAssignment::GetMetadata() const {
2025 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2026}
2027// ===================================================================
2029class Course::_Internal {
2030 public:
2031 using HasBits =
2032 decltype(::std::declval<Course>()._impl_._has_bits_);
2033 static constexpr ::int32_t kHasBitsOffset =
2034 8 * PROTOBUF_FIELD_OFFSET(Course, _impl_._has_bits_);
2035};
2037Course::Course(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2038#if defined(PROTOBUF_CUSTOM_VTABLE)
2039 : ::google::protobuf::Message(arena, Course_class_data_.base()) {
2040#else // PROTOBUF_CUSTOM_VTABLE
2041 : ::google::protobuf::Message(arena) {
2042#endif // PROTOBUF_CUSTOM_VTABLE
2043 SharedCtor(arena);
2044 // @@protoc_insertion_point(arena_constructor:operations_research.Course)
2045}
2046PROTOBUF_NDEBUG_INLINE Course::Impl_::Impl_(
2047 ::google::protobuf::internal::InternalVisibility visibility,
2048 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2049 const ::operations_research::Course& from_msg)
2050 : _has_bits_{from._has_bits_},
2051 _cached_size_{0},
2052 teacher_indices_{visibility, arena, from.teacher_indices_},
2053 _teacher_indices_cached_byte_size_{0},
2054 teacher_section_counts_{visibility, arena, from.teacher_section_counts_},
2055 _teacher_section_counts_cached_byte_size_{0},
2056 room_indices_{visibility, arena, from.room_indices_},
2057 _room_indices_cached_byte_size_{0},
2058 display_name_(arena, from.display_name_) {}
2059
2061 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2062 const Course& from)
2063#if defined(PROTOBUF_CUSTOM_VTABLE)
2064 : ::google::protobuf::Message(arena, Course_class_data_.base()) {
2065#else // PROTOBUF_CUSTOM_VTABLE
2066 : ::google::protobuf::Message(arena) {
2067#endif // PROTOBUF_CUSTOM_VTABLE
2068 Course* const _this = this;
2069 (void)_this;
2070 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2071 from._internal_metadata_);
2072 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2073 ::memcpy(reinterpret_cast<char *>(&_impl_) +
2074 offsetof(Impl_, meetings_count_),
2075 reinterpret_cast<const char *>(&from._impl_) +
2076 offsetof(Impl_, meetings_count_),
2077 offsetof(Impl_, consecutive_slots_count_) -
2078 offsetof(Impl_, meetings_count_) +
2079 sizeof(Impl_::consecutive_slots_count_));
2080
2081 // @@protoc_insertion_point(copy_constructor:operations_research.Course)
2082}
2083PROTOBUF_NDEBUG_INLINE Course::Impl_::Impl_(
2084 ::google::protobuf::internal::InternalVisibility visibility,
2085 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2086 : _cached_size_{0},
2087 teacher_indices_{visibility, arena},
2088 _teacher_indices_cached_byte_size_{0},
2089 teacher_section_counts_{visibility, arena},
2090 _teacher_section_counts_cached_byte_size_{0},
2091 room_indices_{visibility, arena},
2092 _room_indices_cached_byte_size_{0},
2093 display_name_(arena) {}
2094
2095inline void Course::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2096 new (&_impl_) Impl_(internal_visibility(), arena);
2097 ::memset(reinterpret_cast<char *>(&_impl_) +
2098 offsetof(Impl_, meetings_count_),
2099 0,
2100 offsetof(Impl_, consecutive_slots_count_) -
2101 offsetof(Impl_, meetings_count_) +
2102 sizeof(Impl_::consecutive_slots_count_));
2103}
2105 // @@protoc_insertion_point(destructor:operations_research.Course)
2106 SharedDtor(*this);
2107}
2108inline void Course::SharedDtor(MessageLite& self) {
2109 Course& this_ = static_cast<Course&>(self);
2110 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2111 ABSL_DCHECK(this_.GetArena() == nullptr);
2112 this_._impl_.display_name_.Destroy();
2113 this_._impl_.~Impl_();
2114}
2115
2116inline void* PROTOBUF_NONNULL Course::PlacementNew_(
2117 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2118 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2119 return ::new (mem) Course(arena);
2120}
2122 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2123 PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_indices_) +
2124 decltype(Course::_impl_.teacher_indices_)::
2125 InternalGetArenaOffset(
2126 ::google::protobuf::Message::internal_visibility()),
2127 PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_section_counts_) +
2128 decltype(Course::_impl_.teacher_section_counts_)::
2129 InternalGetArenaOffset(
2130 ::google::protobuf::Message::internal_visibility()),
2131 PROTOBUF_FIELD_OFFSET(Course, _impl_.room_indices_) +
2132 decltype(Course::_impl_.room_indices_)::
2133 InternalGetArenaOffset(
2134 ::google::protobuf::Message::internal_visibility()),
2135 });
2136 if (arena_bits.has_value()) {
2137 return ::google::protobuf::internal::MessageCreator::CopyInit(
2138 sizeof(Course), alignof(Course), *arena_bits);
2139 } else {
2140 return ::google::protobuf::internal::MessageCreator(&Course::PlacementNew_,
2141 sizeof(Course),
2142 alignof(Course));
2143 }
2144}
2145constexpr auto Course::InternalGenerateClassData_() {
2146 return ::google::protobuf::internal::ClassDataFull{
2147 ::google::protobuf::internal::ClassData{
2148 &_Course_default_instance_._instance,
2149 &_table_.header,
2150 nullptr, // OnDemandRegisterArenaDtor
2151 nullptr, // IsInitialized
2152 &Course::MergeImpl,
2153 ::google::protobuf::Message::GetNewImpl<Course>(),
2154#if defined(PROTOBUF_CUSTOM_VTABLE)
2155 &Course::SharedDtor,
2156 ::google::protobuf::Message::GetClearImpl<Course>(), &Course::ByteSizeLong,
2158#endif // PROTOBUF_CUSTOM_VTABLE
2159 PROTOBUF_FIELD_OFFSET(Course, _impl_._cached_size_),
2160 false,
2161 },
2162 &Course::kDescriptorMethods,
2164 nullptr, // tracker
2165 };
2166}
2167
2168PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2169 ::google::protobuf::internal::ClassDataFull Course_class_data_ =
2171
2172PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2173Course::GetClassData() const {
2174 ::google::protobuf::internal::PrefetchToLocalCache(&Course_class_data_);
2175 ::google::protobuf::internal::PrefetchToLocalCache(Course_class_data_.tc_table);
2176 return Course_class_data_.base();
2177}
2178PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2179const ::_pbi::TcParseTable<3, 8, 0, 55, 2>
2180Course::_table_ = {
2181 {
2182 PROTOBUF_FIELD_OFFSET(Course, _impl_._has_bits_),
2183 0, // no _extensions_
2184 8, 56, // max_field_number, fast_idx_mask
2185 offsetof(decltype(_table_), field_lookup_table),
2186 4294967040, // skipmap
2187 offsetof(decltype(_table_), field_entries),
2188 8, // num_field_entries
2189 0, // num_aux_entries
2190 offsetof(decltype(_table_), field_names), // no aux_entries
2191 Course_class_data_.base(),
2192 nullptr, // post_loop_handler
2193 ::_pbi::TcParser::GenericFallback, // fallback
2194 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2195 ::_pbi::TcParser::GetTable<::operations_research::Course>(), // to_prefetch
2196 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2197 }, {{
2198 // repeated int32 room_indices = 8;
2199 {::_pbi::TcParser::FastV32P1,
2200 {66, 63, 0, PROTOBUF_FIELD_OFFSET(Course, _impl_.room_indices_)}},
2201 // string display_name = 1;
2202 {::_pbi::TcParser::FastUS1,
2203 {10, 0, 0, PROTOBUF_FIELD_OFFSET(Course, _impl_.display_name_)}},
2204 // int32 meetings_count = 2;
2205 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Course, _impl_.meetings_count_), 1>(),
2206 {16, 1, 0, PROTOBUF_FIELD_OFFSET(Course, _impl_.meetings_count_)}},
2207 // int32 max_capacity = 3;
2208 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Course, _impl_.max_capacity_), 2>(),
2209 {24, 2, 0, PROTOBUF_FIELD_OFFSET(Course, _impl_.max_capacity_)}},
2210 // int32 min_capacity = 4;
2211 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Course, _impl_.min_capacity_), 3>(),
2212 {32, 3, 0, PROTOBUF_FIELD_OFFSET(Course, _impl_.min_capacity_)}},
2213 // int32 consecutive_slots_count = 5;
2214 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Course, _impl_.consecutive_slots_count_), 4>(),
2215 {40, 4, 0, PROTOBUF_FIELD_OFFSET(Course, _impl_.consecutive_slots_count_)}},
2216 // repeated int32 teacher_indices = 6;
2217 {::_pbi::TcParser::FastV32P1,
2218 {50, 63, 0, PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_indices_)}},
2219 // repeated int32 teacher_section_counts = 7;
2220 {::_pbi::TcParser::FastV32P1,
2221 {58, 63, 0, PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_section_counts_)}},
2222 }}, {{
2223 65535, 65535
2224 }}, {{
2225 // string display_name = 1;
2226 {PROTOBUF_FIELD_OFFSET(Course, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0,
2227 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
2228 // int32 meetings_count = 2;
2229 {PROTOBUF_FIELD_OFFSET(Course, _impl_.meetings_count_), _Internal::kHasBitsOffset + 1, 0,
2230 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2231 // int32 max_capacity = 3;
2232 {PROTOBUF_FIELD_OFFSET(Course, _impl_.max_capacity_), _Internal::kHasBitsOffset + 2, 0,
2233 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2234 // int32 min_capacity = 4;
2235 {PROTOBUF_FIELD_OFFSET(Course, _impl_.min_capacity_), _Internal::kHasBitsOffset + 3, 0,
2236 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2237 // int32 consecutive_slots_count = 5;
2238 {PROTOBUF_FIELD_OFFSET(Course, _impl_.consecutive_slots_count_), _Internal::kHasBitsOffset + 4, 0,
2239 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2240 // repeated int32 teacher_indices = 6;
2241 {PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_indices_), -1, 0,
2242 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2243 // repeated int32 teacher_section_counts = 7;
2244 {PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_section_counts_), -1, 0,
2245 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2246 // repeated int32 room_indices = 8;
2247 {PROTOBUF_FIELD_OFFSET(Course, _impl_.room_indices_), -1, 0,
2248 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2249 }},
2250 // no aux_entries
2251 {{
2252 "\32\14\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
2253 "operations_research.Course"
2254 "display_name"
2255 }},
2256};
2257PROTOBUF_NOINLINE void Course::Clear() {
2258// @@protoc_insertion_point(message_clear_start:operations_research.Course)
2259 ::google::protobuf::internal::TSanWrite(&_impl_);
2260 ::uint32_t cached_has_bits = 0;
2261 // Prevent compiler warnings about cached_has_bits being unused
2262 (void) cached_has_bits;
2263
2264 _impl_.teacher_indices_.Clear();
2265 _impl_.teacher_section_counts_.Clear();
2266 _impl_.room_indices_.Clear();
2267 cached_has_bits = _impl_._has_bits_[0];
2268 if ((cached_has_bits & 0x00000001u) != 0) {
2269 _impl_.display_name_.ClearNonDefaultToEmpty();
2270 }
2271 if ((cached_has_bits & 0x0000001eu) != 0) {
2272 ::memset(&_impl_.meetings_count_, 0, static_cast<::size_t>(
2273 reinterpret_cast<char*>(&_impl_.consecutive_slots_count_) -
2274 reinterpret_cast<char*>(&_impl_.meetings_count_)) + sizeof(_impl_.consecutive_slots_count_));
2275 }
2276 _impl_._has_bits_.Clear();
2277 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2278}
2279
2280#if defined(PROTOBUF_CUSTOM_VTABLE)
2281::uint8_t* PROTOBUF_NONNULL Course::_InternalSerialize(
2282 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2283 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2284 const Course& this_ = static_cast<const Course&>(base);
2285#else // PROTOBUF_CUSTOM_VTABLE
2286::uint8_t* PROTOBUF_NONNULL Course::_InternalSerialize(
2287 ::uint8_t* PROTOBUF_NONNULL target,
2288 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2289 const Course& this_ = *this;
2290#endif // PROTOBUF_CUSTOM_VTABLE
2291 // @@protoc_insertion_point(serialize_to_array_start:operations_research.Course)
2292 ::uint32_t cached_has_bits = 0;
2293 (void)cached_has_bits;
2294
2295 // string display_name = 1;
2296 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
2297 if (!this_._internal_display_name().empty()) {
2298 const ::std::string& _s = this_._internal_display_name();
2299 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
2300 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.Course.display_name");
2301 target = stream->WriteStringMaybeAliased(1, _s, target);
2302 }
2303 }
2304
2305 // int32 meetings_count = 2;
2306 if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
2307 if (this_._internal_meetings_count() != 0) {
2308 target =
2309 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
2310 stream, this_._internal_meetings_count(), target);
2311 }
2312 }
2313
2314 // int32 max_capacity = 3;
2315 if ((this_._impl_._has_bits_[0] & 0x00000004u) != 0) {
2316 if (this_._internal_max_capacity() != 0) {
2317 target =
2318 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
2319 stream, this_._internal_max_capacity(), target);
2320 }
2321 }
2322
2323 // int32 min_capacity = 4;
2324 if ((this_._impl_._has_bits_[0] & 0x00000008u) != 0) {
2325 if (this_._internal_min_capacity() != 0) {
2326 target =
2327 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
2328 stream, this_._internal_min_capacity(), target);
2329 }
2330 }
2331
2332 // int32 consecutive_slots_count = 5;
2333 if ((this_._impl_._has_bits_[0] & 0x00000010u) != 0) {
2334 if (this_._internal_consecutive_slots_count() != 0) {
2335 target =
2336 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
2337 stream, this_._internal_consecutive_slots_count(), target);
2338 }
2339 }
2340
2341 // repeated int32 teacher_indices = 6;
2342 {
2343 int byte_size = this_._impl_._teacher_indices_cached_byte_size_.Get();
2344 if (byte_size > 0) {
2345 target = stream->WriteInt32Packed(
2346 6, this_._internal_teacher_indices(), byte_size, target);
2347 }
2348 }
2349
2350 // repeated int32 teacher_section_counts = 7;
2351 {
2352 int byte_size = this_._impl_._teacher_section_counts_cached_byte_size_.Get();
2353 if (byte_size > 0) {
2354 target = stream->WriteInt32Packed(
2355 7, this_._internal_teacher_section_counts(), byte_size, target);
2356 }
2357 }
2358
2359 // repeated int32 room_indices = 8;
2360 {
2361 int byte_size = this_._impl_._room_indices_cached_byte_size_.Get();
2362 if (byte_size > 0) {
2363 target = stream->WriteInt32Packed(
2364 8, this_._internal_room_indices(), byte_size, target);
2365 }
2366 }
2367
2368 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2369 target =
2370 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2371 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2372 }
2373 // @@protoc_insertion_point(serialize_to_array_end:operations_research.Course)
2374 return target;
2375}
2376
2377#if defined(PROTOBUF_CUSTOM_VTABLE)
2378::size_t Course::ByteSizeLong(const MessageLite& base) {
2379 const Course& this_ = static_cast<const Course&>(base);
2380#else // PROTOBUF_CUSTOM_VTABLE
2381::size_t Course::ByteSizeLong() const {
2382 const Course& this_ = *this;
2383#endif // PROTOBUF_CUSTOM_VTABLE
2384 // @@protoc_insertion_point(message_byte_size_start:operations_research.Course)
2385 ::size_t total_size = 0;
2387 ::uint32_t cached_has_bits = 0;
2388 // Prevent compiler warnings about cached_has_bits being unused
2389 (void)cached_has_bits;
2390
2391 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2392 {
2393 // repeated int32 teacher_indices = 6;
2394 {
2395 total_size +=
2396 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2397 this_._internal_teacher_indices(), 1,
2398 this_._impl_._teacher_indices_cached_byte_size_);
2399 }
2400 // repeated int32 teacher_section_counts = 7;
2401 {
2402 total_size +=
2403 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2404 this_._internal_teacher_section_counts(), 1,
2405 this_._impl_._teacher_section_counts_cached_byte_size_);
2406 }
2407 // repeated int32 room_indices = 8;
2408 {
2409 total_size +=
2410 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2411 this_._internal_room_indices(), 1,
2412 this_._impl_._room_indices_cached_byte_size_);
2413 }
2414 }
2415 cached_has_bits = this_._impl_._has_bits_[0];
2416 if ((cached_has_bits & 0x0000001fu) != 0) {
2417 // string display_name = 1;
2418 if ((cached_has_bits & 0x00000001u) != 0) {
2419 if (!this_._internal_display_name().empty()) {
2420 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
2421 this_._internal_display_name());
2422 }
2423 }
2424 // int32 meetings_count = 2;
2425 if ((cached_has_bits & 0x00000002u) != 0) {
2426 if (this_._internal_meetings_count() != 0) {
2427 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2428 this_._internal_meetings_count());
2429 }
2430 }
2431 // int32 max_capacity = 3;
2432 if ((cached_has_bits & 0x00000004u) != 0) {
2433 if (this_._internal_max_capacity() != 0) {
2434 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2435 this_._internal_max_capacity());
2436 }
2437 }
2438 // int32 min_capacity = 4;
2439 if ((cached_has_bits & 0x00000008u) != 0) {
2440 if (this_._internal_min_capacity() != 0) {
2441 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2442 this_._internal_min_capacity());
2443 }
2444 }
2445 // int32 consecutive_slots_count = 5;
2446 if ((cached_has_bits & 0x00000010u) != 0) {
2447 if (this_._internal_consecutive_slots_count() != 0) {
2448 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2449 this_._internal_consecutive_slots_count());
2450 }
2451 }
2452 }
2453 return this_.MaybeComputeUnknownFieldsSize(total_size,
2454 &this_._impl_._cached_size_);
2455}
2456
2457void Course::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
2458 auto* const _this = static_cast<Course*>(&to_msg);
2459 auto& from = static_cast<const Course&>(from_msg);
2460 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Course)
2461 ABSL_DCHECK_NE(&from, _this);
2462 ::uint32_t cached_has_bits = 0;
2463 (void) cached_has_bits;
2464
2465 _this->_internal_mutable_teacher_indices()->MergeFrom(from._internal_teacher_indices());
2466 _this->_internal_mutable_teacher_section_counts()->MergeFrom(from._internal_teacher_section_counts());
2467 _this->_internal_mutable_room_indices()->MergeFrom(from._internal_room_indices());
2468 cached_has_bits = from._impl_._has_bits_[0];
2469 if ((cached_has_bits & 0x0000001fu) != 0) {
2470 if ((cached_has_bits & 0x00000001u) != 0) {
2471 if (!from._internal_display_name().empty()) {
2472 _this->_internal_set_display_name(from._internal_display_name());
2473 } else {
2474 if (_this->_impl_.display_name_.IsDefault()) {
2475 _this->_internal_set_display_name("");
2476 }
2477 }
2478 }
2479 if ((cached_has_bits & 0x00000002u) != 0) {
2480 if (from._internal_meetings_count() != 0) {
2481 _this->_impl_.meetings_count_ = from._impl_.meetings_count_;
2482 }
2483 }
2484 if ((cached_has_bits & 0x00000004u) != 0) {
2485 if (from._internal_max_capacity() != 0) {
2486 _this->_impl_.max_capacity_ = from._impl_.max_capacity_;
2487 }
2488 }
2489 if ((cached_has_bits & 0x00000008u) != 0) {
2490 if (from._internal_min_capacity() != 0) {
2491 _this->_impl_.min_capacity_ = from._impl_.min_capacity_;
2492 }
2493 }
2494 if ((cached_has_bits & 0x00000010u) != 0) {
2495 if (from._internal_consecutive_slots_count() != 0) {
2496 _this->_impl_.consecutive_slots_count_ = from._impl_.consecutive_slots_count_;
2497 }
2498 }
2499 }
2500 _this->_impl_._has_bits_[0] |= cached_has_bits;
2501 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
2502}
2503
2504void Course::CopyFrom(const Course& from) {
2505// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Course)
2506 if (&from == this) return;
2507 Clear();
2508 MergeFrom(from);
2510
2511
2512void Course::InternalSwap(Course* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2513 using ::std::swap;
2514 auto* arena = GetArena();
2515 ABSL_DCHECK_EQ(arena, other->GetArena());
2516 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2517 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2518 _impl_.teacher_indices_.InternalSwap(&other->_impl_.teacher_indices_);
2519 _impl_.teacher_section_counts_.InternalSwap(&other->_impl_.teacher_section_counts_);
2520 _impl_.room_indices_.InternalSwap(&other->_impl_.room_indices_);
2521 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
2522 ::google::protobuf::internal::memswap<
2523 PROTOBUF_FIELD_OFFSET(Course, _impl_.consecutive_slots_count_)
2524 + sizeof(Course::_impl_.consecutive_slots_count_)
2525 - PROTOBUF_FIELD_OFFSET(Course, _impl_.meetings_count_)>(
2526 reinterpret_cast<char*>(&_impl_.meetings_count_),
2527 reinterpret_cast<char*>(&other->_impl_.meetings_count_));
2528}
2529
2530::google::protobuf::Metadata Course::GetMetadata() const {
2531 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2532}
2533// ===================================================================
2534
2536 public:
2537 using HasBits =
2538 decltype(::std::declval<Teacher>()._impl_._has_bits_);
2539 static constexpr ::int32_t kHasBitsOffset =
2540 8 * PROTOBUF_FIELD_OFFSET(Teacher, _impl_._has_bits_);
2542
2543Teacher::Teacher(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2544#if defined(PROTOBUF_CUSTOM_VTABLE)
2545 : ::google::protobuf::Message(arena, Teacher_class_data_.base()) {
2546#else // PROTOBUF_CUSTOM_VTABLE
2547 : ::google::protobuf::Message(arena) {
2548#endif // PROTOBUF_CUSTOM_VTABLE
2549 SharedCtor(arena);
2550 // @@protoc_insertion_point(arena_constructor:operations_research.Teacher)
2551}
2552PROTOBUF_NDEBUG_INLINE Teacher::Impl_::Impl_(
2553 ::google::protobuf::internal::InternalVisibility visibility,
2554 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2555 const ::operations_research::Teacher& from_msg)
2556 : _has_bits_{from._has_bits_},
2557 _cached_size_{0},
2558 restricted_time_slots_{visibility, arena, from.restricted_time_slots_},
2559 _restricted_time_slots_cached_byte_size_{0},
2560 display_name_(arena, from.display_name_) {}
2561
2563 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2564 const Teacher& from)
2565#if defined(PROTOBUF_CUSTOM_VTABLE)
2566 : ::google::protobuf::Message(arena, Teacher_class_data_.base()) {
2567#else // PROTOBUF_CUSTOM_VTABLE
2568 : ::google::protobuf::Message(arena) {
2569#endif // PROTOBUF_CUSTOM_VTABLE
2570 Teacher* const _this = this;
2571 (void)_this;
2572 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2573 from._internal_metadata_);
2574 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2575
2576 // @@protoc_insertion_point(copy_constructor:operations_research.Teacher)
2577}
2578PROTOBUF_NDEBUG_INLINE Teacher::Impl_::Impl_(
2579 ::google::protobuf::internal::InternalVisibility visibility,
2580 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2581 : _cached_size_{0},
2582 restricted_time_slots_{visibility, arena},
2583 _restricted_time_slots_cached_byte_size_{0},
2584 display_name_(arena) {}
2585
2586inline void Teacher::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2587 new (&_impl_) Impl_(internal_visibility(), arena);
2588}
2590 // @@protoc_insertion_point(destructor:operations_research.Teacher)
2591 SharedDtor(*this);
2592}
2593inline void Teacher::SharedDtor(MessageLite& self) {
2594 Teacher& this_ = static_cast<Teacher&>(self);
2595 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2596 ABSL_DCHECK(this_.GetArena() == nullptr);
2597 this_._impl_.display_name_.Destroy();
2598 this_._impl_.~Impl_();
2599}
2600
2601inline void* PROTOBUF_NONNULL Teacher::PlacementNew_(
2602 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2603 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2604 return ::new (mem) Teacher(arena);
2605}
2606constexpr auto Teacher::InternalNewImpl_() {
2607 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2608 PROTOBUF_FIELD_OFFSET(Teacher, _impl_.restricted_time_slots_) +
2609 decltype(Teacher::_impl_.restricted_time_slots_)::
2610 InternalGetArenaOffset(
2611 ::google::protobuf::Message::internal_visibility()),
2612 });
2613 if (arena_bits.has_value()) {
2614 return ::google::protobuf::internal::MessageCreator::CopyInit(
2615 sizeof(Teacher), alignof(Teacher), *arena_bits);
2616 } else {
2617 return ::google::protobuf::internal::MessageCreator(&Teacher::PlacementNew_,
2618 sizeof(Teacher),
2619 alignof(Teacher));
2620 }
2621}
2622constexpr auto Teacher::InternalGenerateClassData_() {
2623 return ::google::protobuf::internal::ClassDataFull{
2624 ::google::protobuf::internal::ClassData{
2626 &_table_.header,
2627 nullptr, // OnDemandRegisterArenaDtor
2628 nullptr, // IsInitialized
2629 &Teacher::MergeImpl,
2630 ::google::protobuf::Message::GetNewImpl<Teacher>(),
2631#if defined(PROTOBUF_CUSTOM_VTABLE)
2632 &Teacher::SharedDtor,
2633 ::google::protobuf::Message::GetClearImpl<Teacher>(), &Teacher::ByteSizeLong,
2635#endif // PROTOBUF_CUSTOM_VTABLE
2636 PROTOBUF_FIELD_OFFSET(Teacher, _impl_._cached_size_),
2637 false,
2638 },
2639 &Teacher::kDescriptorMethods,
2641 nullptr, // tracker
2642 };
2643}
2644
2645PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2646 ::google::protobuf::internal::ClassDataFull Teacher_class_data_ =
2648
2649PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2650Teacher::GetClassData() const {
2651 ::google::protobuf::internal::PrefetchToLocalCache(&Teacher_class_data_);
2652 ::google::protobuf::internal::PrefetchToLocalCache(Teacher_class_data_.tc_table);
2653 return Teacher_class_data_.base();
2654}
2655PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2656const ::_pbi::TcParseTable<1, 2, 0, 48, 2>
2657Teacher::_table_ = {
2658 {
2659 PROTOBUF_FIELD_OFFSET(Teacher, _impl_._has_bits_),
2660 0, // no _extensions_
2661 2, 8, // max_field_number, fast_idx_mask
2662 offsetof(decltype(_table_), field_lookup_table),
2663 4294967292, // skipmap
2664 offsetof(decltype(_table_), field_entries),
2665 2, // num_field_entries
2666 0, // num_aux_entries
2667 offsetof(decltype(_table_), field_names), // no aux_entries
2668 Teacher_class_data_.base(),
2669 nullptr, // post_loop_handler
2670 ::_pbi::TcParser::GenericFallback, // fallback
2671 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2672 ::_pbi::TcParser::GetTable<::operations_research::Teacher>(), // to_prefetch
2673 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2674 }, {{
2675 // repeated int32 restricted_time_slots = 2;
2676 {::_pbi::TcParser::FastV32P1,
2677 {18, 63, 0, PROTOBUF_FIELD_OFFSET(Teacher, _impl_.restricted_time_slots_)}},
2678 // string display_name = 1;
2679 {::_pbi::TcParser::FastUS1,
2680 {10, 0, 0, PROTOBUF_FIELD_OFFSET(Teacher, _impl_.display_name_)}},
2681 }}, {{
2682 65535, 65535
2683 }}, {{
2684 // string display_name = 1;
2685 {PROTOBUF_FIELD_OFFSET(Teacher, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0,
2686 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
2687 // repeated int32 restricted_time_slots = 2;
2688 {PROTOBUF_FIELD_OFFSET(Teacher, _impl_.restricted_time_slots_), -1, 0,
2689 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2690 }},
2691 // no aux_entries
2692 {{
2693 "\33\14\0\0\0\0\0\0"
2694 "operations_research.Teacher"
2695 "display_name"
2696 }},
2697};
2698PROTOBUF_NOINLINE void Teacher::Clear() {
2699// @@protoc_insertion_point(message_clear_start:operations_research.Teacher)
2700 ::google::protobuf::internal::TSanWrite(&_impl_);
2701 ::uint32_t cached_has_bits = 0;
2702 // Prevent compiler warnings about cached_has_bits being unused
2703 (void) cached_has_bits;
2705 _impl_.restricted_time_slots_.Clear();
2706 cached_has_bits = _impl_._has_bits_[0];
2707 if ((cached_has_bits & 0x00000001u) != 0) {
2708 _impl_.display_name_.ClearNonDefaultToEmpty();
2709 }
2710 _impl_._has_bits_.Clear();
2711 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2712}
2713
2714#if defined(PROTOBUF_CUSTOM_VTABLE)
2715::uint8_t* PROTOBUF_NONNULL Teacher::_InternalSerialize(
2716 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2717 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2718 const Teacher& this_ = static_cast<const Teacher&>(base);
2719#else // PROTOBUF_CUSTOM_VTABLE
2720::uint8_t* PROTOBUF_NONNULL Teacher::_InternalSerialize(
2721 ::uint8_t* PROTOBUF_NONNULL target,
2722 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2723 const Teacher& this_ = *this;
2724#endif // PROTOBUF_CUSTOM_VTABLE
2725 // @@protoc_insertion_point(serialize_to_array_start:operations_research.Teacher)
2726 ::uint32_t cached_has_bits = 0;
2727 (void)cached_has_bits;
2728
2729 // string display_name = 1;
2730 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
2731 if (!this_._internal_display_name().empty()) {
2732 const ::std::string& _s = this_._internal_display_name();
2733 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
2734 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.Teacher.display_name");
2735 target = stream->WriteStringMaybeAliased(1, _s, target);
2736 }
2737 }
2738
2739 // repeated int32 restricted_time_slots = 2;
2740 {
2741 int byte_size = this_._impl_._restricted_time_slots_cached_byte_size_.Get();
2742 if (byte_size > 0) {
2743 target = stream->WriteInt32Packed(
2744 2, this_._internal_restricted_time_slots(), byte_size, target);
2745 }
2746 }
2747
2748 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2749 target =
2750 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2751 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2752 }
2753 // @@protoc_insertion_point(serialize_to_array_end:operations_research.Teacher)
2754 return target;
2755}
2756
2757#if defined(PROTOBUF_CUSTOM_VTABLE)
2758::size_t Teacher::ByteSizeLong(const MessageLite& base) {
2759 const Teacher& this_ = static_cast<const Teacher&>(base);
2760#else // PROTOBUF_CUSTOM_VTABLE
2761::size_t Teacher::ByteSizeLong() const {
2762 const Teacher& this_ = *this;
2763#endif // PROTOBUF_CUSTOM_VTABLE
2764 // @@protoc_insertion_point(message_byte_size_start:operations_research.Teacher)
2765 ::size_t total_size = 0;
2766
2767 ::uint32_t cached_has_bits = 0;
2768 // Prevent compiler warnings about cached_has_bits being unused
2769 (void)cached_has_bits;
2770
2771 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2772 {
2773 // repeated int32 restricted_time_slots = 2;
2774 {
2775 total_size +=
2776 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2777 this_._internal_restricted_time_slots(), 1,
2778 this_._impl_._restricted_time_slots_cached_byte_size_);
2779 }
2780 }
2781 {
2782 // string display_name = 1;
2783 cached_has_bits = this_._impl_._has_bits_[0];
2784 if ((cached_has_bits & 0x00000001u) != 0) {
2785 if (!this_._internal_display_name().empty()) {
2786 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
2787 this_._internal_display_name());
2788 }
2789 }
2790 }
2791 return this_.MaybeComputeUnknownFieldsSize(total_size,
2792 &this_._impl_._cached_size_);
2793}
2794
2795void Teacher::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
2796 auto* const _this = static_cast<Teacher*>(&to_msg);
2797 auto& from = static_cast<const Teacher&>(from_msg);
2798 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Teacher)
2799 ABSL_DCHECK_NE(&from, _this);
2800 ::uint32_t cached_has_bits = 0;
2801 (void) cached_has_bits;
2802
2803 _this->_internal_mutable_restricted_time_slots()->MergeFrom(from._internal_restricted_time_slots());
2804 cached_has_bits = from._impl_._has_bits_[0];
2805 if ((cached_has_bits & 0x00000001u) != 0) {
2806 if (!from._internal_display_name().empty()) {
2807 _this->_internal_set_display_name(from._internal_display_name());
2808 } else {
2809 if (_this->_impl_.display_name_.IsDefault()) {
2810 _this->_internal_set_display_name("");
2811 }
2812 }
2813 }
2814 _this->_impl_._has_bits_[0] |= cached_has_bits;
2815 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
2816}
2817
2818void Teacher::CopyFrom(const Teacher& from) {
2819// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Teacher)
2820 if (&from == this) return;
2821 Clear();
2822 MergeFrom(from);
2823}
2825
2826void Teacher::InternalSwap(Teacher* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2827 using ::std::swap;
2828 auto* arena = GetArena();
2829 ABSL_DCHECK_EQ(arena, other->GetArena());
2830 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2831 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2832 _impl_.restricted_time_slots_.InternalSwap(&other->_impl_.restricted_time_slots_);
2833 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
2834}
2835
2836::google::protobuf::Metadata Teacher::GetMetadata() const {
2837 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2838}
2839// ===================================================================
2840
2841class Student::_Internal {
2842 public:
2843 using HasBits =
2844 decltype(::std::declval<Student>()._impl_._has_bits_);
2845 static constexpr ::int32_t kHasBitsOffset =
2846 8 * PROTOBUF_FIELD_OFFSET(Student, _impl_._has_bits_);
2847};
2849Student::Student(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2850#if defined(PROTOBUF_CUSTOM_VTABLE)
2851 : ::google::protobuf::Message(arena, Student_class_data_.base()) {
2852#else // PROTOBUF_CUSTOM_VTABLE
2853 : ::google::protobuf::Message(arena) {
2854#endif // PROTOBUF_CUSTOM_VTABLE
2855 SharedCtor(arena);
2856 // @@protoc_insertion_point(arena_constructor:operations_research.Student)
2857}
2858PROTOBUF_NDEBUG_INLINE Student::Impl_::Impl_(
2859 ::google::protobuf::internal::InternalVisibility visibility,
2860 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2861 const ::operations_research::Student& from_msg)
2862 : _has_bits_{from._has_bits_},
2863 _cached_size_{0},
2864 course_indices_{visibility, arena, from.course_indices_},
2865 _course_indices_cached_byte_size_{0},
2866 display_name_(arena, from.display_name_) {}
2867
2869 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2870 const Student& from)
2871#if defined(PROTOBUF_CUSTOM_VTABLE)
2872 : ::google::protobuf::Message(arena, Student_class_data_.base()) {
2873#else // PROTOBUF_CUSTOM_VTABLE
2874 : ::google::protobuf::Message(arena) {
2875#endif // PROTOBUF_CUSTOM_VTABLE
2876 Student* const _this = this;
2877 (void)_this;
2878 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2879 from._internal_metadata_);
2880 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2881
2882 // @@protoc_insertion_point(copy_constructor:operations_research.Student)
2883}
2884PROTOBUF_NDEBUG_INLINE Student::Impl_::Impl_(
2885 ::google::protobuf::internal::InternalVisibility visibility,
2886 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2887 : _cached_size_{0},
2888 course_indices_{visibility, arena},
2889 _course_indices_cached_byte_size_{0},
2890 display_name_(arena) {}
2891
2892inline void Student::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2893 new (&_impl_) Impl_(internal_visibility(), arena);
2894}
2896 // @@protoc_insertion_point(destructor:operations_research.Student)
2897 SharedDtor(*this);
2898}
2899inline void Student::SharedDtor(MessageLite& self) {
2900 Student& this_ = static_cast<Student&>(self);
2901 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2902 ABSL_DCHECK(this_.GetArena() == nullptr);
2903 this_._impl_.display_name_.Destroy();
2904 this_._impl_.~Impl_();
2905}
2906
2907inline void* PROTOBUF_NONNULL Student::PlacementNew_(
2908 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2909 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2910 return ::new (mem) Student(arena);
2911}
2912constexpr auto Student::InternalNewImpl_() {
2913 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2914 PROTOBUF_FIELD_OFFSET(Student, _impl_.course_indices_) +
2915 decltype(Student::_impl_.course_indices_)::
2916 InternalGetArenaOffset(
2917 ::google::protobuf::Message::internal_visibility()),
2918 });
2919 if (arena_bits.has_value()) {
2920 return ::google::protobuf::internal::MessageCreator::CopyInit(
2921 sizeof(Student), alignof(Student), *arena_bits);
2922 } else {
2923 return ::google::protobuf::internal::MessageCreator(&Student::PlacementNew_,
2924 sizeof(Student),
2925 alignof(Student));
2926 }
2927}
2928constexpr auto Student::InternalGenerateClassData_() {
2929 return ::google::protobuf::internal::ClassDataFull{
2930 ::google::protobuf::internal::ClassData{
2931 &_Student_default_instance_._instance,
2932 &_table_.header,
2933 nullptr, // OnDemandRegisterArenaDtor
2934 nullptr, // IsInitialized
2935 &Student::MergeImpl,
2936 ::google::protobuf::Message::GetNewImpl<Student>(),
2937#if defined(PROTOBUF_CUSTOM_VTABLE)
2938 &Student::SharedDtor,
2939 ::google::protobuf::Message::GetClearImpl<Student>(), &Student::ByteSizeLong,
2941#endif // PROTOBUF_CUSTOM_VTABLE
2942 PROTOBUF_FIELD_OFFSET(Student, _impl_._cached_size_),
2943 false,
2944 },
2945 &Student::kDescriptorMethods,
2947 nullptr, // tracker
2948 };
2949}
2950
2951PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2952 ::google::protobuf::internal::ClassDataFull Student_class_data_ =
2954
2955PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2956Student::GetClassData() const {
2957 ::google::protobuf::internal::PrefetchToLocalCache(&Student_class_data_);
2958 ::google::protobuf::internal::PrefetchToLocalCache(Student_class_data_.tc_table);
2959 return Student_class_data_.base();
2960}
2961PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2962const ::_pbi::TcParseTable<1, 2, 0, 48, 2>
2963Student::_table_ = {
2964 {
2965 PROTOBUF_FIELD_OFFSET(Student, _impl_._has_bits_),
2966 0, // no _extensions_
2967 2, 8, // max_field_number, fast_idx_mask
2968 offsetof(decltype(_table_), field_lookup_table),
2969 4294967292, // skipmap
2970 offsetof(decltype(_table_), field_entries),
2971 2, // num_field_entries
2972 0, // num_aux_entries
2973 offsetof(decltype(_table_), field_names), // no aux_entries
2974 Student_class_data_.base(),
2975 nullptr, // post_loop_handler
2976 ::_pbi::TcParser::GenericFallback, // fallback
2977 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2978 ::_pbi::TcParser::GetTable<::operations_research::Student>(), // to_prefetch
2979 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2980 }, {{
2981 // repeated int32 course_indices = 2;
2982 {::_pbi::TcParser::FastV32P1,
2983 {18, 63, 0, PROTOBUF_FIELD_OFFSET(Student, _impl_.course_indices_)}},
2984 // string display_name = 1;
2985 {::_pbi::TcParser::FastUS1,
2986 {10, 0, 0, PROTOBUF_FIELD_OFFSET(Student, _impl_.display_name_)}},
2987 }}, {{
2988 65535, 65535
2989 }}, {{
2990 // string display_name = 1;
2991 {PROTOBUF_FIELD_OFFSET(Student, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0,
2992 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
2993 // repeated int32 course_indices = 2;
2994 {PROTOBUF_FIELD_OFFSET(Student, _impl_.course_indices_), -1, 0,
2995 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2996 }},
2997 // no aux_entries
2998 {{
2999 "\33\14\0\0\0\0\0\0"
3000 "operations_research.Student"
3001 "display_name"
3002 }},
3003};
3004PROTOBUF_NOINLINE void Student::Clear() {
3005// @@protoc_insertion_point(message_clear_start:operations_research.Student)
3006 ::google::protobuf::internal::TSanWrite(&_impl_);
3007 ::uint32_t cached_has_bits = 0;
3008 // Prevent compiler warnings about cached_has_bits being unused
3009 (void) cached_has_bits;
3010
3011 _impl_.course_indices_.Clear();
3012 cached_has_bits = _impl_._has_bits_[0];
3013 if ((cached_has_bits & 0x00000001u) != 0) {
3014 _impl_.display_name_.ClearNonDefaultToEmpty();
3015 }
3016 _impl_._has_bits_.Clear();
3017 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3018}
3019
3020#if defined(PROTOBUF_CUSTOM_VTABLE)
3021::uint8_t* PROTOBUF_NONNULL Student::_InternalSerialize(
3022 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3023 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3024 const Student& this_ = static_cast<const Student&>(base);
3025#else // PROTOBUF_CUSTOM_VTABLE
3026::uint8_t* PROTOBUF_NONNULL Student::_InternalSerialize(
3027 ::uint8_t* PROTOBUF_NONNULL target,
3028 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3029 const Student& this_ = *this;
3030#endif // PROTOBUF_CUSTOM_VTABLE
3031 // @@protoc_insertion_point(serialize_to_array_start:operations_research.Student)
3032 ::uint32_t cached_has_bits = 0;
3033 (void)cached_has_bits;
3034
3035 // string display_name = 1;
3036 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
3037 if (!this_._internal_display_name().empty()) {
3038 const ::std::string& _s = this_._internal_display_name();
3039 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
3040 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.Student.display_name");
3041 target = stream->WriteStringMaybeAliased(1, _s, target);
3042 }
3043 }
3044
3045 // repeated int32 course_indices = 2;
3046 {
3047 int byte_size = this_._impl_._course_indices_cached_byte_size_.Get();
3048 if (byte_size > 0) {
3049 target = stream->WriteInt32Packed(
3050 2, this_._internal_course_indices(), byte_size, target);
3051 }
3052 }
3053
3054 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3055 target =
3056 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3057 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3058 }
3059 // @@protoc_insertion_point(serialize_to_array_end:operations_research.Student)
3060 return target;
3061}
3062
3063#if defined(PROTOBUF_CUSTOM_VTABLE)
3064::size_t Student::ByteSizeLong(const MessageLite& base) {
3065 const Student& this_ = static_cast<const Student&>(base);
3066#else // PROTOBUF_CUSTOM_VTABLE
3067::size_t Student::ByteSizeLong() const {
3068 const Student& this_ = *this;
3069#endif // PROTOBUF_CUSTOM_VTABLE
3070 // @@protoc_insertion_point(message_byte_size_start:operations_research.Student)
3071 ::size_t total_size = 0;
3072
3073 ::uint32_t cached_has_bits = 0;
3074 // Prevent compiler warnings about cached_has_bits being unused
3075 (void)cached_has_bits;
3076
3077 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3078 {
3079 // repeated int32 course_indices = 2;
3080 {
3081 total_size +=
3082 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
3083 this_._internal_course_indices(), 1,
3084 this_._impl_._course_indices_cached_byte_size_);
3085 }
3086 }
3087 {
3088 // string display_name = 1;
3089 cached_has_bits = this_._impl_._has_bits_[0];
3090 if ((cached_has_bits & 0x00000001u) != 0) {
3091 if (!this_._internal_display_name().empty()) {
3092 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
3093 this_._internal_display_name());
3094 }
3095 }
3096 }
3097 return this_.MaybeComputeUnknownFieldsSize(total_size,
3098 &this_._impl_._cached_size_);
3099}
3100
3101void Student::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
3102 auto* const _this = static_cast<Student*>(&to_msg);
3103 auto& from = static_cast<const Student&>(from_msg);
3104 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Student)
3105 ABSL_DCHECK_NE(&from, _this);
3106 ::uint32_t cached_has_bits = 0;
3107 (void) cached_has_bits;
3108
3109 _this->_internal_mutable_course_indices()->MergeFrom(from._internal_course_indices());
3110 cached_has_bits = from._impl_._has_bits_[0];
3111 if ((cached_has_bits & 0x00000001u) != 0) {
3112 if (!from._internal_display_name().empty()) {
3113 _this->_internal_set_display_name(from._internal_display_name());
3114 } else {
3115 if (_this->_impl_.display_name_.IsDefault()) {
3116 _this->_internal_set_display_name("");
3117 }
3118 }
3119 }
3120 _this->_impl_._has_bits_[0] |= cached_has_bits;
3121 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
3122}
3123
3124void Student::CopyFrom(const Student& from) {
3125// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Student)
3126 if (&from == this) return;
3127 Clear();
3128 MergeFrom(from);
3129}
3130
3132void Student::InternalSwap(Student* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3133 using ::std::swap;
3134 auto* arena = GetArena();
3135 ABSL_DCHECK_EQ(arena, other->GetArena());
3136 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3137 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3138 _impl_.course_indices_.InternalSwap(&other->_impl_.course_indices_);
3139 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
3140}
3141
3142::google::protobuf::Metadata Student::GetMetadata() const {
3143 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3144}
3145// ===================================================================
3146
3147class Room::_Internal {
3148 public:
3149 using HasBits =
3150 decltype(::std::declval<Room>()._impl_._has_bits_);
3151 static constexpr ::int32_t kHasBitsOffset =
3152 8 * PROTOBUF_FIELD_OFFSET(Room, _impl_._has_bits_);
3153};
3154
3155Room::Room(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3156#if defined(PROTOBUF_CUSTOM_VTABLE)
3157 : ::google::protobuf::Message(arena, Room_class_data_.base()) {
3158#else // PROTOBUF_CUSTOM_VTABLE
3159 : ::google::protobuf::Message(arena) {
3160#endif // PROTOBUF_CUSTOM_VTABLE
3161 SharedCtor(arena);
3162 // @@protoc_insertion_point(arena_constructor:operations_research.Room)
3164PROTOBUF_NDEBUG_INLINE Room::Impl_::Impl_(
3165 ::google::protobuf::internal::InternalVisibility visibility,
3166 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3167 const ::operations_research::Room& from_msg)
3168 : _has_bits_{from._has_bits_},
3169 _cached_size_{0},
3170 display_name_(arena, from.display_name_) {}
3171
3173 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3174 const Room& from)
3175#if defined(PROTOBUF_CUSTOM_VTABLE)
3176 : ::google::protobuf::Message(arena, Room_class_data_.base()) {
3177#else // PROTOBUF_CUSTOM_VTABLE
3178 : ::google::protobuf::Message(arena) {
3179#endif // PROTOBUF_CUSTOM_VTABLE
3180 Room* const _this = this;
3181 (void)_this;
3182 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3183 from._internal_metadata_);
3184 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
3185 _impl_.capacity_ = from._impl_.capacity_;
3186
3187 // @@protoc_insertion_point(copy_constructor:operations_research.Room)
3188}
3189PROTOBUF_NDEBUG_INLINE Room::Impl_::Impl_(
3190 ::google::protobuf::internal::InternalVisibility visibility,
3191 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3192 : _cached_size_{0},
3193 display_name_(arena) {}
3194
3195inline void Room::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3196 new (&_impl_) Impl_(internal_visibility(), arena);
3197 _impl_.capacity_ = {};
3198}
3199Room::~Room() {
3200 // @@protoc_insertion_point(destructor:operations_research.Room)
3201 SharedDtor(*this);
3202}
3203inline void Room::SharedDtor(MessageLite& self) {
3204 Room& this_ = static_cast<Room&>(self);
3205 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3206 ABSL_DCHECK(this_.GetArena() == nullptr);
3207 this_._impl_.display_name_.Destroy();
3208 this_._impl_.~Impl_();
3209}
3210
3211inline void* PROTOBUF_NONNULL Room::PlacementNew_(
3212 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3213 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3214 return ::new (mem) Room(arena);
3215}
3216constexpr auto Room::InternalNewImpl_() {
3217 return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Room),
3218 alignof(Room));
3220constexpr auto Room::InternalGenerateClassData_() {
3221 return ::google::protobuf::internal::ClassDataFull{
3222 ::google::protobuf::internal::ClassData{
3223 &_Room_default_instance_._instance,
3224 &_table_.header,
3225 nullptr, // OnDemandRegisterArenaDtor
3226 nullptr, // IsInitialized
3227 &Room::MergeImpl,
3228 ::google::protobuf::Message::GetNewImpl<Room>(),
3229#if defined(PROTOBUF_CUSTOM_VTABLE)
3230 &Room::SharedDtor,
3231 ::google::protobuf::Message::GetClearImpl<Room>(), &Room::ByteSizeLong,
3233#endif // PROTOBUF_CUSTOM_VTABLE
3234 PROTOBUF_FIELD_OFFSET(Room, _impl_._cached_size_),
3235 false,
3236 },
3237 &Room::kDescriptorMethods,
3239 nullptr, // tracker
3240 };
3241}
3242
3243PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3244 ::google::protobuf::internal::ClassDataFull Room_class_data_ =
3246
3247PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3248Room::GetClassData() const {
3249 ::google::protobuf::internal::PrefetchToLocalCache(&Room_class_data_);
3250 ::google::protobuf::internal::PrefetchToLocalCache(Room_class_data_.tc_table);
3251 return Room_class_data_.base();
3253PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3254const ::_pbi::TcParseTable<1, 2, 0, 45, 2>
3255Room::_table_ = {
3257 PROTOBUF_FIELD_OFFSET(Room, _impl_._has_bits_),
3258 0, // no _extensions_
3259 2, 8, // max_field_number, fast_idx_mask
3260 offsetof(decltype(_table_), field_lookup_table),
3261 4294967292, // skipmap
3262 offsetof(decltype(_table_), field_entries),
3263 2, // num_field_entries
3264 0, // num_aux_entries
3265 offsetof(decltype(_table_), field_names), // no aux_entries
3266 Room_class_data_.base(),
3267 nullptr, // post_loop_handler
3268 ::_pbi::TcParser::GenericFallback, // fallback
3269 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3270 ::_pbi::TcParser::GetTable<::operations_research::Room>(), // to_prefetch
3271 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3272 }, {{
3273 // int32 capacity = 2;
3274 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Room, _impl_.capacity_), 1>(),
3275 {16, 1, 0, PROTOBUF_FIELD_OFFSET(Room, _impl_.capacity_)}},
3276 // string display_name = 1;
3277 {::_pbi::TcParser::FastUS1,
3278 {10, 0, 0, PROTOBUF_FIELD_OFFSET(Room, _impl_.display_name_)}},
3279 }}, {{
3280 65535, 65535
3281 }}, {{
3282 // string display_name = 1;
3283 {PROTOBUF_FIELD_OFFSET(Room, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0,
3284 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
3285 // int32 capacity = 2;
3286 {PROTOBUF_FIELD_OFFSET(Room, _impl_.capacity_), _Internal::kHasBitsOffset + 1, 0,
3287 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
3288 }},
3289 // no aux_entries
3290 {{
3291 "\30\14\0\0\0\0\0\0"
3292 "operations_research.Room"
3293 "display_name"
3294 }},
3295};
3296PROTOBUF_NOINLINE void Room::Clear() {
3297// @@protoc_insertion_point(message_clear_start:operations_research.Room)
3298 ::google::protobuf::internal::TSanWrite(&_impl_);
3299 ::uint32_t cached_has_bits = 0;
3300 // Prevent compiler warnings about cached_has_bits being unused
3301 (void) cached_has_bits;
3302
3303 cached_has_bits = _impl_._has_bits_[0];
3304 if ((cached_has_bits & 0x00000001u) != 0) {
3305 _impl_.display_name_.ClearNonDefaultToEmpty();
3306 }
3307 _impl_.capacity_ = 0;
3308 _impl_._has_bits_.Clear();
3309 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3310}
3311
3312#if defined(PROTOBUF_CUSTOM_VTABLE)
3313::uint8_t* PROTOBUF_NONNULL Room::_InternalSerialize(
3314 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3315 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3316 const Room& this_ = static_cast<const Room&>(base);
3317#else // PROTOBUF_CUSTOM_VTABLE
3318::uint8_t* PROTOBUF_NONNULL Room::_InternalSerialize(
3319 ::uint8_t* PROTOBUF_NONNULL target,
3320 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3321 const Room& this_ = *this;
3322#endif // PROTOBUF_CUSTOM_VTABLE
3323 // @@protoc_insertion_point(serialize_to_array_start:operations_research.Room)
3324 ::uint32_t cached_has_bits = 0;
3325 (void)cached_has_bits;
3327 // string display_name = 1;
3328 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
3329 if (!this_._internal_display_name().empty()) {
3330 const ::std::string& _s = this_._internal_display_name();
3331 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
3332 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.Room.display_name");
3333 target = stream->WriteStringMaybeAliased(1, _s, target);
3334 }
3335 }
3336
3337 // int32 capacity = 2;
3338 if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
3339 if (this_._internal_capacity() != 0) {
3340 target =
3341 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
3342 stream, this_._internal_capacity(), target);
3343 }
3344 }
3345
3346 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3347 target =
3348 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3349 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3350 }
3351 // @@protoc_insertion_point(serialize_to_array_end:operations_research.Room)
3352 return target;
3353}
3354
3355#if defined(PROTOBUF_CUSTOM_VTABLE)
3356::size_t Room::ByteSizeLong(const MessageLite& base) {
3357 const Room& this_ = static_cast<const Room&>(base);
3358#else // PROTOBUF_CUSTOM_VTABLE
3359::size_t Room::ByteSizeLong() const {
3360 const Room& this_ = *this;
3361#endif // PROTOBUF_CUSTOM_VTABLE
3362 // @@protoc_insertion_point(message_byte_size_start:operations_research.Room)
3363 ::size_t total_size = 0;
3364
3365 ::uint32_t cached_has_bits = 0;
3366 // Prevent compiler warnings about cached_has_bits being unused
3367 (void)cached_has_bits;
3368
3369 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3370 cached_has_bits = this_._impl_._has_bits_[0];
3371 if ((cached_has_bits & 0x00000003u) != 0) {
3372 // string display_name = 1;
3373 if ((cached_has_bits & 0x00000001u) != 0) {
3374 if (!this_._internal_display_name().empty()) {
3375 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
3376 this_._internal_display_name());
3377 }
3378 }
3379 // int32 capacity = 2;
3380 if ((cached_has_bits & 0x00000002u) != 0) {
3381 if (this_._internal_capacity() != 0) {
3382 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3383 this_._internal_capacity());
3384 }
3385 }
3386 }
3387 return this_.MaybeComputeUnknownFieldsSize(total_size,
3388 &this_._impl_._cached_size_);
3389}
3390
3391void Room::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
3392 auto* const _this = static_cast<Room*>(&to_msg);
3393 auto& from = static_cast<const Room&>(from_msg);
3394 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Room)
3395 ABSL_DCHECK_NE(&from, _this);
3396 ::uint32_t cached_has_bits = 0;
3397 (void) cached_has_bits;
3398
3399 cached_has_bits = from._impl_._has_bits_[0];
3400 if ((cached_has_bits & 0x00000003u) != 0) {
3401 if ((cached_has_bits & 0x00000001u) != 0) {
3402 if (!from._internal_display_name().empty()) {
3403 _this->_internal_set_display_name(from._internal_display_name());
3404 } else {
3405 if (_this->_impl_.display_name_.IsDefault()) {
3406 _this->_internal_set_display_name("");
3407 }
3408 }
3409 }
3410 if ((cached_has_bits & 0x00000002u) != 0) {
3411 if (from._internal_capacity() != 0) {
3412 _this->_impl_.capacity_ = from._impl_.capacity_;
3413 }
3414 }
3415 }
3416 _this->_impl_._has_bits_[0] |= cached_has_bits;
3417 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
3418}
3419
3420void Room::CopyFrom(const Room& from) {
3421// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Room)
3422 if (&from == this) return;
3423 Clear();
3424 MergeFrom(from);
3425}
3426
3427
3428void Room::InternalSwap(Room* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3429 using ::std::swap;
3430 auto* arena = GetArena();
3431 ABSL_DCHECK_EQ(arena, other->GetArena());
3432 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3433 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3434 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
3435 swap(_impl_.capacity_, other->_impl_.capacity_);
3436}
3437
3438::google::protobuf::Metadata Room::GetMetadata() const {
3439 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3440}
3441// @@protoc_insertion_point(namespace_scope)
3442} // namespace operations_research
3443namespace google {
3444namespace protobuf {
3445} // namespace protobuf
3446} // namespace google
3447// @@protoc_insertion_point(global_scope)
3448PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
3449 _static_init2_ [[maybe_unused]] =
3451 ::std::false_type{});
3452#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
@protoc_insertion_point(global_scope)
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
friend class ::google::protobuf::MessageLite
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const ClassAssignment &from)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
friend void swap(ClassAssignment &a, ClassAssignment &b)
void MergeFrom(const ClassAssignment &from)
decltype(::std::declval< CourseSchedulingModel >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const CourseSchedulingModel &from)
friend void swap(CourseSchedulingModel &a, CourseSchedulingModel &b)
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const CourseSchedulingModel &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
decltype(::std::declval< CourseSchedulingResult >()._impl_._has_bits_) HasBits
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void MergeFrom(const CourseSchedulingResult &from)
void CopyFrom(const CourseSchedulingResult &from)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
static constexpr auto InternalGenerateClassData_()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::size_t ByteSizeLong() const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
static constexpr auto InternalNewImpl_()
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
void CopyFrom(const Course &from)
void MergeFrom(const Course &from)
friend void swap(Course &a, Course &b)
friend class ::google::protobuf::MessageLite
static constexpr auto InternalGenerateClassData_()
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static constexpr auto InternalNewImpl_()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
friend void swap(Room &a, Room &b)
::size_t ByteSizeLong() const final
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const Room &from)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
void MergeFrom(const Room &from)
friend class ::google::protobuf::MessageLite
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
friend void swap(StudentAssignment &a, StudentAssignment &b)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void MergeFrom(const StudentAssignment &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const StudentAssignment &from)
void CopyFrom(const Student &from)
friend class ::google::protobuf::MessageLite
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const Student &from)
friend void swap(Student &a, Student &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static constexpr auto InternalNewImpl_()
::google::protobuf::Metadata GetMetadata() const
static constexpr auto InternalGenerateClassData_()
friend class ::google::protobuf::MessageLite
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
friend void swap(Teacher &a, Teacher &b)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
static constexpr auto InternalGenerateClassData_()
void MergeFrom(const Teacher &from)
static constexpr auto InternalNewImpl_()
void CopyFrom(const Teacher &from)
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fscheduling_2fcourse_5fscheduling_2eproto[1]
::absl::once_flag descriptor_table_ortools_2fscheduling_2fcourse_5fscheduling_2eproto_once
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fscheduling_2fcourse_5fscheduling_2eproto
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fscheduling_2fcourse_5fscheduling_2eproto
const ::uint32_t TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
In SWIG mode, we don't want anything besides these top-level includes.
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoomDefaultTypeInternal _Room_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TeacherDefaultTypeInternal _Teacher_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL CourseSchedulingResultStatus_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StudentDefaultTypeInternal _Student_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CourseSchedulingResult_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ClassAssignment_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CourseSchedulingResultDefaultTypeInternal _CourseSchedulingResult_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CourseDefaultTypeInternal _Course_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CourseSchedulingModelDefaultTypeInternal _CourseSchedulingModel_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Student_class_data_
PROTOBUF_CONSTINIT const uint32_t CourseSchedulingResultStatus_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Teacher_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StudentAssignmentDefaultTypeInternal _StudentAssignment_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Room_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CourseSchedulingModel_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ClassAssignmentDefaultTypeInternal _ClassAssignment_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Course_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull StudentAssignment_class_data_
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas