Google OR-Tools v9.15
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.33.1
5
7
8#include <algorithm>
9#include <type_traits>
10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
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 4,
292 5,
293 6,
294 0,
295 1,
296 2,
297 3,
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 2,
306 3,
307 0,
308 1,
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 2,
317 3,
318 0,
319 1,
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 2,
327 0,
328 1,
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 3,
341 4,
342 5,
343 6,
344 7,
345 0,
346 1,
347 2,
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 1,
354 0,
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 1,
361 0,
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 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
475 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
476 [[maybe_unused]] 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 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
510 [[maybe_unused]] ::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 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
534 this_.CheckHasBitConsistency();
535 }
536 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
537 ABSL_DCHECK(this_.GetArena() == nullptr);
538 this_._impl_.display_name_.Destroy();
539 this_._impl_.~Impl_();
540}
541
542inline void* PROTOBUF_NONNULL CourseSchedulingModel::PlacementNew_(
543 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
544 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
545 return ::new (mem) CourseSchedulingModel(arena);
546}
547constexpr auto CourseSchedulingModel::InternalNewImpl_() {
548 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
549 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.courses_) +
550 decltype(CourseSchedulingModel::_impl_.courses_)::
551 InternalGetArenaOffset(
552 ::google::protobuf::Message::internal_visibility()),
553 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.teachers_) +
554 decltype(CourseSchedulingModel::_impl_.teachers_)::
555 InternalGetArenaOffset(
556 ::google::protobuf::Message::internal_visibility()),
557 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.students_) +
558 decltype(CourseSchedulingModel::_impl_.students_)::
559 InternalGetArenaOffset(
560 ::google::protobuf::Message::internal_visibility()),
561 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.rooms_) +
562 decltype(CourseSchedulingModel::_impl_.rooms_)::
563 InternalGetArenaOffset(
564 ::google::protobuf::Message::internal_visibility()),
565 });
566 if (arena_bits.has_value()) {
567 return ::google::protobuf::internal::MessageCreator::CopyInit(
568 sizeof(CourseSchedulingModel), alignof(CourseSchedulingModel), *arena_bits);
569 } else {
570 return ::google::protobuf::internal::MessageCreator(&CourseSchedulingModel::PlacementNew_,
571 sizeof(CourseSchedulingModel),
572 alignof(CourseSchedulingModel));
573 }
574}
576 return ::google::protobuf::internal::ClassDataFull{
577 ::google::protobuf::internal::ClassData{
579 &_table_.header,
580 nullptr, // OnDemandRegisterArenaDtor
581 nullptr, // IsInitialized
582 &CourseSchedulingModel::MergeImpl,
583 ::google::protobuf::Message::GetNewImpl<CourseSchedulingModel>(),
584#if defined(PROTOBUF_CUSTOM_VTABLE)
585 &CourseSchedulingModel::SharedDtor,
586 ::google::protobuf::Message::GetClearImpl<CourseSchedulingModel>(), &CourseSchedulingModel::ByteSizeLong,
588#endif // PROTOBUF_CUSTOM_VTABLE
589 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_._cached_size_),
590 false,
591 },
592 &CourseSchedulingModel::kDescriptorMethods,
594 nullptr, // tracker
595 };
596}
597
598PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
599 ::google::protobuf::internal::ClassDataFull CourseSchedulingModel_class_data_ =
601
602PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
603CourseSchedulingModel::GetClassData() const {
604 ::google::protobuf::internal::PrefetchToLocalCache(&CourseSchedulingModel_class_data_);
605 ::google::protobuf::internal::PrefetchToLocalCache(CourseSchedulingModel_class_data_.tc_table);
607}
608PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
609const ::_pbi::TcParseTable<3, 7, 4, 62, 2>
610CourseSchedulingModel::_table_ = {
611 {
612 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_._has_bits_),
613 0, // no _extensions_
614 7, 56, // max_field_number, fast_idx_mask
615 offsetof(decltype(_table_), field_lookup_table),
616 4294967168, // skipmap
617 offsetof(decltype(_table_), field_entries),
618 7, // num_field_entries
619 4, // num_aux_entries
620 offsetof(decltype(_table_), aux_entries),
622 nullptr, // post_loop_handler
623 ::_pbi::TcParser::GenericFallback, // fallback
624 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
625 ::_pbi::TcParser::GetTable<::operations_research::CourseSchedulingModel>(), // to_prefetch
626 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
627 }, {{
628 {::_pbi::TcParser::MiniParse, {}},
629 // string display_name = 1;
630 {::_pbi::TcParser::FastUS1,
631 {10, 4, 0,
632 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.display_name_)}},
633 // int32 days_count = 2;
634 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CourseSchedulingModel, _impl_.days_count_), 5>(),
635 {16, 5, 0,
636 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.days_count_)}},
637 // int32 daily_time_slot_count = 3;
638 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CourseSchedulingModel, _impl_.daily_time_slot_count_), 6>(),
639 {24, 6, 0,
640 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.daily_time_slot_count_)}},
641 // repeated .operations_research.Course courses = 4;
642 {::_pbi::TcParser::FastMtR1,
643 {34, 0, 0,
644 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.courses_)}},
645 // repeated .operations_research.Teacher teachers = 5;
646 {::_pbi::TcParser::FastMtR1,
647 {42, 1, 1,
648 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.teachers_)}},
649 // repeated .operations_research.Student students = 6;
650 {::_pbi::TcParser::FastMtR1,
651 {50, 2, 2,
652 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.students_)}},
653 // repeated .operations_research.Room rooms = 7;
654 {::_pbi::TcParser::FastMtR1,
655 {58, 3, 3,
656 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.rooms_)}},
657 }}, {{
658 65535, 65535
659 }}, {{
660 // string display_name = 1;
661 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.display_name_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
662 // int32 days_count = 2;
663 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.days_count_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
664 // int32 daily_time_slot_count = 3;
665 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.daily_time_slot_count_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
666 // repeated .operations_research.Course courses = 4;
667 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.courses_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
668 // repeated .operations_research.Teacher teachers = 5;
669 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.teachers_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
670 // repeated .operations_research.Student students = 6;
671 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.students_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
672 // repeated .operations_research.Room rooms = 7;
673 {PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.rooms_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
674 }},
675 {{
676 {::_pbi::TcParser::GetTable<::operations_research::Course>()},
677 {::_pbi::TcParser::GetTable<::operations_research::Teacher>()},
678 {::_pbi::TcParser::GetTable<::operations_research::Student>()},
679 {::_pbi::TcParser::GetTable<::operations_research::Room>()},
680 }},
681 {{
682 "\51\14\0\0\0\0\0\0"
683 "operations_research.CourseSchedulingModel"
684 "display_name"
685 }},
686};
687PROTOBUF_NOINLINE void CourseSchedulingModel::Clear() {
688// @@protoc_insertion_point(message_clear_start:operations_research.CourseSchedulingModel)
689 ::google::protobuf::internal::TSanWrite(&_impl_);
690 ::uint32_t cached_has_bits = 0;
691 // Prevent compiler warnings about cached_has_bits being unused
692 (void) cached_has_bits;
693
694 cached_has_bits = _impl_._has_bits_[0];
695 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
696 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
697 _impl_.courses_.Clear();
698 }
699 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
700 _impl_.teachers_.Clear();
701 }
702 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
703 _impl_.students_.Clear();
704 }
705 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
706 _impl_.rooms_.Clear();
707 }
708 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
709 _impl_.display_name_.ClearNonDefaultToEmpty();
710 }
711 }
712 if (BatchCheckHasBit(cached_has_bits, 0x00000060U)) {
713 ::memset(&_impl_.days_count_, 0, static_cast<::size_t>(
714 reinterpret_cast<char*>(&_impl_.daily_time_slot_count_) -
715 reinterpret_cast<char*>(&_impl_.days_count_)) + sizeof(_impl_.daily_time_slot_count_));
716 }
717 _impl_._has_bits_.Clear();
718 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
719}
720
721#if defined(PROTOBUF_CUSTOM_VTABLE)
722::uint8_t* PROTOBUF_NONNULL CourseSchedulingModel::_InternalSerialize(
723 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
724 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
725 const CourseSchedulingModel& this_ = static_cast<const CourseSchedulingModel&>(base);
726#else // PROTOBUF_CUSTOM_VTABLE
727::uint8_t* PROTOBUF_NONNULL CourseSchedulingModel::_InternalSerialize(
728 ::uint8_t* PROTOBUF_NONNULL target,
729 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
730 const CourseSchedulingModel& this_ = *this;
731#endif // PROTOBUF_CUSTOM_VTABLE
732 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
733 this_.CheckHasBitConsistency();
734 }
735 // @@protoc_insertion_point(serialize_to_array_start:operations_research.CourseSchedulingModel)
736 ::uint32_t cached_has_bits = 0;
737 (void)cached_has_bits;
738
739 cached_has_bits = this_._impl_._has_bits_[0];
740 // string display_name = 1;
741 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
742 if (!this_._internal_display_name().empty()) {
743 const ::std::string& _s = this_._internal_display_name();
744 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
745 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.CourseSchedulingModel.display_name");
746 target = stream->WriteStringMaybeAliased(1, _s, target);
747 }
748 }
749
750 // int32 days_count = 2;
751 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
752 if (this_._internal_days_count() != 0) {
753 target =
754 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
755 stream, this_._internal_days_count(), target);
756 }
757 }
758
759 // int32 daily_time_slot_count = 3;
760 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
761 if (this_._internal_daily_time_slot_count() != 0) {
762 target =
763 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
764 stream, this_._internal_daily_time_slot_count(), target);
765 }
766 }
767
768 // repeated .operations_research.Course courses = 4;
769 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
770 for (unsigned i = 0, n = static_cast<unsigned>(
771 this_._internal_courses_size());
772 i < n; i++) {
773 const auto& repfield = this_._internal_courses().Get(i);
774 target =
775 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
776 4, repfield, repfield.GetCachedSize(),
777 target, stream);
778 }
779 }
780
781 // repeated .operations_research.Teacher teachers = 5;
782 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
783 for (unsigned i = 0, n = static_cast<unsigned>(
784 this_._internal_teachers_size());
785 i < n; i++) {
786 const auto& repfield = this_._internal_teachers().Get(i);
787 target =
788 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
789 5, repfield, repfield.GetCachedSize(),
790 target, stream);
791 }
792 }
793
794 // repeated .operations_research.Student students = 6;
795 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
796 for (unsigned i = 0, n = static_cast<unsigned>(
797 this_._internal_students_size());
798 i < n; i++) {
799 const auto& repfield = this_._internal_students().Get(i);
800 target =
801 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
802 6, repfield, repfield.GetCachedSize(),
803 target, stream);
804 }
805 }
806
807 // repeated .operations_research.Room rooms = 7;
808 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
809 for (unsigned i = 0, n = static_cast<unsigned>(
810 this_._internal_rooms_size());
811 i < n; i++) {
812 const auto& repfield = this_._internal_rooms().Get(i);
813 target =
814 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
815 7, repfield, repfield.GetCachedSize(),
816 target, stream);
817 }
818 }
819
820 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
821 target =
822 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
823 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
824 }
825 // @@protoc_insertion_point(serialize_to_array_end:operations_research.CourseSchedulingModel)
826 return target;
827}
828
829#if defined(PROTOBUF_CUSTOM_VTABLE)
831 const CourseSchedulingModel& this_ = static_cast<const CourseSchedulingModel&>(base);
832#else // PROTOBUF_CUSTOM_VTABLE
834 const CourseSchedulingModel& this_ = *this;
835#endif // PROTOBUF_CUSTOM_VTABLE
836 // @@protoc_insertion_point(message_byte_size_start:operations_research.CourseSchedulingModel)
837 ::size_t total_size = 0;
838
839 ::uint32_t cached_has_bits = 0;
840 // Prevent compiler warnings about cached_has_bits being unused
841 (void)cached_has_bits;
842
843 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
844 cached_has_bits = this_._impl_._has_bits_[0];
845 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
846 // repeated .operations_research.Course courses = 4;
847 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
848 total_size += 1UL * this_._internal_courses_size();
849 for (const auto& msg : this_._internal_courses()) {
850 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
851 }
852 }
853 // repeated .operations_research.Teacher teachers = 5;
854 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
855 total_size += 1UL * this_._internal_teachers_size();
856 for (const auto& msg : this_._internal_teachers()) {
857 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
858 }
859 }
860 // repeated .operations_research.Student students = 6;
861 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
862 total_size += 1UL * this_._internal_students_size();
863 for (const auto& msg : this_._internal_students()) {
864 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
865 }
866 }
867 // repeated .operations_research.Room rooms = 7;
868 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
869 total_size += 1UL * this_._internal_rooms_size();
870 for (const auto& msg : this_._internal_rooms()) {
871 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
872 }
873 }
874 // string display_name = 1;
875 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
876 if (!this_._internal_display_name().empty()) {
877 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
878 this_._internal_display_name());
879 }
880 }
881 // int32 days_count = 2;
882 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
883 if (this_._internal_days_count() != 0) {
884 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
885 this_._internal_days_count());
886 }
887 }
888 // int32 daily_time_slot_count = 3;
889 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
890 if (this_._internal_daily_time_slot_count() != 0) {
891 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
892 this_._internal_daily_time_slot_count());
893 }
894 }
895 }
896 return this_.MaybeComputeUnknownFieldsSize(total_size,
897 &this_._impl_._cached_size_);
898}
899
900void CourseSchedulingModel::MergeImpl(::google::protobuf::MessageLite& to_msg,
901 const ::google::protobuf::MessageLite& from_msg) {
902 auto* const _this =
903 static_cast<CourseSchedulingModel*>(&to_msg);
904 auto& from = static_cast<const CourseSchedulingModel&>(from_msg);
905 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
906 from.CheckHasBitConsistency();
907 }
908 ::google::protobuf::Arena* arena = _this->GetArena();
909 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.CourseSchedulingModel)
910 ABSL_DCHECK_NE(&from, _this);
911 ::uint32_t cached_has_bits = 0;
912 (void)cached_has_bits;
913
914 cached_has_bits = from._impl_._has_bits_[0];
915 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
916 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
917 _this->_internal_mutable_courses()->InternalMergeFromWithArena(
918 ::google::protobuf::MessageLite::internal_visibility(), arena,
919 from._internal_courses());
920 }
921 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
922 _this->_internal_mutable_teachers()->InternalMergeFromWithArena(
923 ::google::protobuf::MessageLite::internal_visibility(), arena,
924 from._internal_teachers());
925 }
926 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
927 _this->_internal_mutable_students()->InternalMergeFromWithArena(
928 ::google::protobuf::MessageLite::internal_visibility(), arena,
929 from._internal_students());
930 }
931 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
932 _this->_internal_mutable_rooms()->InternalMergeFromWithArena(
933 ::google::protobuf::MessageLite::internal_visibility(), arena,
934 from._internal_rooms());
935 }
936 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
937 if (!from._internal_display_name().empty()) {
938 _this->_internal_set_display_name(from._internal_display_name());
939 } else {
940 if (_this->_impl_.display_name_.IsDefault()) {
941 _this->_internal_set_display_name("");
942 }
943 }
944 }
945 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
946 if (from._internal_days_count() != 0) {
947 _this->_impl_.days_count_ = from._impl_.days_count_;
948 }
949 }
950 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
951 if (from._internal_daily_time_slot_count() != 0) {
952 _this->_impl_.daily_time_slot_count_ = from._impl_.daily_time_slot_count_;
953 }
954 }
955 }
956 _this->_impl_._has_bits_[0] |= cached_has_bits;
957 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
958 from._internal_metadata_);
959}
960
962 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.CourseSchedulingModel)
963 if (&from == this) return;
964 Clear();
965 MergeFrom(from);
966}
967
968
969void CourseSchedulingModel::InternalSwap(CourseSchedulingModel* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
970 using ::std::swap;
971 auto* arena = GetArena();
972 ABSL_DCHECK_EQ(arena, other->GetArena());
973 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
974 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
975 _impl_.courses_.InternalSwap(&other->_impl_.courses_);
976 _impl_.teachers_.InternalSwap(&other->_impl_.teachers_);
977 _impl_.students_.InternalSwap(&other->_impl_.students_);
978 _impl_.rooms_.InternalSwap(&other->_impl_.rooms_);
979 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
980 ::google::protobuf::internal::memswap<
981 PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.daily_time_slot_count_)
982 + sizeof(CourseSchedulingModel::_impl_.daily_time_slot_count_)
983 - PROTOBUF_FIELD_OFFSET(CourseSchedulingModel, _impl_.days_count_)>(
984 reinterpret_cast<char*>(&_impl_.days_count_),
985 reinterpret_cast<char*>(&other->_impl_.days_count_));
986}
987
988::google::protobuf::Metadata CourseSchedulingModel::GetMetadata() const {
989 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
990}
991// ===================================================================
992
994 public:
995 using HasBits =
996 decltype(::std::declval<CourseSchedulingResult>()._impl_._has_bits_);
997 static constexpr ::int32_t kHasBitsOffset =
998 8 * PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_._has_bits_);
1000
1001CourseSchedulingResult::CourseSchedulingResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1002#if defined(PROTOBUF_CUSTOM_VTABLE)
1003 : ::google::protobuf::Message(arena, CourseSchedulingResult_class_data_.base()) {
1004#else // PROTOBUF_CUSTOM_VTABLE
1005 : ::google::protobuf::Message(arena) {
1006#endif // PROTOBUF_CUSTOM_VTABLE
1007 SharedCtor(arena);
1008 // @@protoc_insertion_point(arena_constructor:operations_research.CourseSchedulingResult)
1009}
1010PROTOBUF_NDEBUG_INLINE CourseSchedulingResult::Impl_::Impl_(
1011 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1012 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1013 [[maybe_unused]] const ::operations_research::CourseSchedulingResult& from_msg)
1014 : _has_bits_{from._has_bits_},
1015 _cached_size_{0},
1016 class_assignments_{visibility, arena, from.class_assignments_},
1017 student_assignments_{visibility, arena, from.student_assignments_},
1018 message_(arena, from.message_) {}
1019
1021 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1022 const CourseSchedulingResult& from)
1023#if defined(PROTOBUF_CUSTOM_VTABLE)
1024 : ::google::protobuf::Message(arena, CourseSchedulingResult_class_data_.base()) {
1025#else // PROTOBUF_CUSTOM_VTABLE
1026 : ::google::protobuf::Message(arena) {
1027#endif // PROTOBUF_CUSTOM_VTABLE
1028 CourseSchedulingResult* const _this = this;
1029 (void)_this;
1030 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1031 from._internal_metadata_);
1032 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1033 _impl_.solver_status_ = from._impl_.solver_status_;
1034
1035 // @@protoc_insertion_point(copy_constructor:operations_research.CourseSchedulingResult)
1036}
1037PROTOBUF_NDEBUG_INLINE CourseSchedulingResult::Impl_::Impl_(
1038 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1039 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1040 : _cached_size_{0},
1041 class_assignments_{visibility, arena},
1042 student_assignments_{visibility, arena},
1043 message_(arena) {}
1044
1045inline void CourseSchedulingResult::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1046 new (&_impl_) Impl_(internal_visibility(), arena);
1047 _impl_.solver_status_ = {};
1048}
1050 // @@protoc_insertion_point(destructor:operations_research.CourseSchedulingResult)
1051 SharedDtor(*this);
1052}
1053inline void CourseSchedulingResult::SharedDtor(MessageLite& self) {
1054 CourseSchedulingResult& this_ = static_cast<CourseSchedulingResult&>(self);
1055 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1056 this_.CheckHasBitConsistency();
1057 }
1058 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1059 ABSL_DCHECK(this_.GetArena() == nullptr);
1060 this_._impl_.message_.Destroy();
1061 this_._impl_.~Impl_();
1062}
1063
1064inline void* PROTOBUF_NONNULL CourseSchedulingResult::PlacementNew_(
1065 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1066 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1067 return ::new (mem) CourseSchedulingResult(arena);
1068}
1069constexpr auto CourseSchedulingResult::InternalNewImpl_() {
1070 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1071 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.class_assignments_) +
1072 decltype(CourseSchedulingResult::_impl_.class_assignments_)::
1073 InternalGetArenaOffset(
1074 ::google::protobuf::Message::internal_visibility()),
1075 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.student_assignments_) +
1076 decltype(CourseSchedulingResult::_impl_.student_assignments_)::
1077 InternalGetArenaOffset(
1078 ::google::protobuf::Message::internal_visibility()),
1079 });
1080 if (arena_bits.has_value()) {
1081 return ::google::protobuf::internal::MessageCreator::CopyInit(
1082 sizeof(CourseSchedulingResult), alignof(CourseSchedulingResult), *arena_bits);
1083 } else {
1084 return ::google::protobuf::internal::MessageCreator(&CourseSchedulingResult::PlacementNew_,
1085 sizeof(CourseSchedulingResult),
1086 alignof(CourseSchedulingResult));
1087 }
1088}
1090 return ::google::protobuf::internal::ClassDataFull{
1091 ::google::protobuf::internal::ClassData{
1093 &_table_.header,
1094 nullptr, // OnDemandRegisterArenaDtor
1095 nullptr, // IsInitialized
1096 &CourseSchedulingResult::MergeImpl,
1097 ::google::protobuf::Message::GetNewImpl<CourseSchedulingResult>(),
1098#if defined(PROTOBUF_CUSTOM_VTABLE)
1099 &CourseSchedulingResult::SharedDtor,
1100 ::google::protobuf::Message::GetClearImpl<CourseSchedulingResult>(), &CourseSchedulingResult::ByteSizeLong,
1102#endif // PROTOBUF_CUSTOM_VTABLE
1103 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_._cached_size_),
1104 false,
1105 },
1106 &CourseSchedulingResult::kDescriptorMethods,
1108 nullptr, // tracker
1109 };
1110}
1111
1112PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1113 ::google::protobuf::internal::ClassDataFull CourseSchedulingResult_class_data_ =
1116PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1117CourseSchedulingResult::GetClassData() const {
1118 ::google::protobuf::internal::PrefetchToLocalCache(&CourseSchedulingResult_class_data_);
1119 ::google::protobuf::internal::PrefetchToLocalCache(CourseSchedulingResult_class_data_.tc_table);
1121}
1122PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1123const ::_pbi::TcParseTable<2, 4, 2, 58, 2>
1124CourseSchedulingResult::_table_ = {
1125 {
1126 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_._has_bits_),
1127 0, // no _extensions_
1128 4, 24, // max_field_number, fast_idx_mask
1129 offsetof(decltype(_table_), field_lookup_table),
1130 4294967280, // skipmap
1131 offsetof(decltype(_table_), field_entries),
1132 4, // num_field_entries
1133 2, // num_aux_entries
1134 offsetof(decltype(_table_), aux_entries),
1136 nullptr, // post_loop_handler
1137 ::_pbi::TcParser::GenericFallback, // fallback
1138 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1139 ::_pbi::TcParser::GetTable<::operations_research::CourseSchedulingResult>(), // to_prefetch
1140 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1141 }, {{
1142 // repeated .operations_research.StudentAssignment student_assignments = 4;
1143 {::_pbi::TcParser::FastMtR1,
1144 {34, 1, 1,
1145 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.student_assignments_)}},
1146 // string message = 1;
1147 {::_pbi::TcParser::FastUS1,
1148 {10, 2, 0,
1149 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.message_)}},
1150 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1151 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CourseSchedulingResult, _impl_.solver_status_), 3>(),
1152 {16, 3, 0,
1153 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.solver_status_)}},
1154 // repeated .operations_research.ClassAssignment class_assignments = 3;
1155 {::_pbi::TcParser::FastMtR1,
1156 {26, 0, 0,
1157 PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.class_assignments_)}},
1158 }}, {{
1159 65535, 65535
1160 }}, {{
1161 // string message = 1;
1162 {PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.message_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
1163 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1164 {PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.solver_status_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1165 // repeated .operations_research.ClassAssignment class_assignments = 3;
1166 {PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.class_assignments_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1167 // repeated .operations_research.StudentAssignment student_assignments = 4;
1168 {PROTOBUF_FIELD_OFFSET(CourseSchedulingResult, _impl_.student_assignments_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1169 }},
1170 {{
1171 {::_pbi::TcParser::GetTable<::operations_research::ClassAssignment>()},
1172 {::_pbi::TcParser::GetTable<::operations_research::StudentAssignment>()},
1173 }},
1174 {{
1175 "\52\7\0\0\0\0\0\0"
1176 "operations_research.CourseSchedulingResult"
1177 "message"
1178 }},
1179};
1180PROTOBUF_NOINLINE void CourseSchedulingResult::Clear() {
1181// @@protoc_insertion_point(message_clear_start:operations_research.CourseSchedulingResult)
1182 ::google::protobuf::internal::TSanWrite(&_impl_);
1183 ::uint32_t cached_has_bits = 0;
1184 // Prevent compiler warnings about cached_has_bits being unused
1185 (void) cached_has_bits;
1186
1187 cached_has_bits = _impl_._has_bits_[0];
1188 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1189 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1190 _impl_.class_assignments_.Clear();
1191 }
1192 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1193 _impl_.student_assignments_.Clear();
1194 }
1195 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1196 _impl_.message_.ClearNonDefaultToEmpty();
1197 }
1198 }
1199 _impl_.solver_status_ = 0;
1200 _impl_._has_bits_.Clear();
1201 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1202}
1203
1204#if defined(PROTOBUF_CUSTOM_VTABLE)
1205::uint8_t* PROTOBUF_NONNULL CourseSchedulingResult::_InternalSerialize(
1206 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1207 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1208 const CourseSchedulingResult& this_ = static_cast<const CourseSchedulingResult&>(base);
1209#else // PROTOBUF_CUSTOM_VTABLE
1210::uint8_t* PROTOBUF_NONNULL CourseSchedulingResult::_InternalSerialize(
1211 ::uint8_t* PROTOBUF_NONNULL target,
1212 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1213 const CourseSchedulingResult& this_ = *this;
1214#endif // PROTOBUF_CUSTOM_VTABLE
1215 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1216 this_.CheckHasBitConsistency();
1217 }
1218 // @@protoc_insertion_point(serialize_to_array_start:operations_research.CourseSchedulingResult)
1219 ::uint32_t cached_has_bits = 0;
1220 (void)cached_has_bits;
1221
1222 cached_has_bits = this_._impl_._has_bits_[0];
1223 // string message = 1;
1224 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1225 if (!this_._internal_message().empty()) {
1226 const ::std::string& _s = this_._internal_message();
1227 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
1228 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.CourseSchedulingResult.message");
1229 target = stream->WriteStringMaybeAliased(1, _s, target);
1230 }
1231 }
1232
1233 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1234 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1235 if (this_._internal_solver_status() != 0) {
1236 target = stream->EnsureSpace(target);
1237 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1238 2, this_._internal_solver_status(), target);
1239 }
1240 }
1241
1242 // repeated .operations_research.ClassAssignment class_assignments = 3;
1243 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1244 for (unsigned i = 0, n = static_cast<unsigned>(
1245 this_._internal_class_assignments_size());
1246 i < n; i++) {
1247 const auto& repfield = this_._internal_class_assignments().Get(i);
1248 target =
1249 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1250 3, repfield, repfield.GetCachedSize(),
1251 target, stream);
1252 }
1253 }
1254
1255 // repeated .operations_research.StudentAssignment student_assignments = 4;
1256 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1257 for (unsigned i = 0, n = static_cast<unsigned>(
1258 this_._internal_student_assignments_size());
1259 i < n; i++) {
1260 const auto& repfield = this_._internal_student_assignments().Get(i);
1261 target =
1262 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1263 4, repfield, repfield.GetCachedSize(),
1264 target, stream);
1265 }
1266 }
1267
1268 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1269 target =
1270 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1271 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1272 }
1273 // @@protoc_insertion_point(serialize_to_array_end:operations_research.CourseSchedulingResult)
1274 return target;
1275}
1276
1277#if defined(PROTOBUF_CUSTOM_VTABLE)
1279 const CourseSchedulingResult& this_ = static_cast<const CourseSchedulingResult&>(base);
1280#else // PROTOBUF_CUSTOM_VTABLE
1281::size_t CourseSchedulingResult::ByteSizeLong() const {
1282 const CourseSchedulingResult& this_ = *this;
1283#endif // PROTOBUF_CUSTOM_VTABLE
1284 // @@protoc_insertion_point(message_byte_size_start:operations_research.CourseSchedulingResult)
1285 ::size_t total_size = 0;
1286
1287 ::uint32_t cached_has_bits = 0;
1288 // Prevent compiler warnings about cached_has_bits being unused
1289 (void)cached_has_bits;
1290
1291 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1292 cached_has_bits = this_._impl_._has_bits_[0];
1293 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
1294 // repeated .operations_research.ClassAssignment class_assignments = 3;
1295 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1296 total_size += 1UL * this_._internal_class_assignments_size();
1297 for (const auto& msg : this_._internal_class_assignments()) {
1298 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1299 }
1300 }
1301 // repeated .operations_research.StudentAssignment student_assignments = 4;
1302 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1303 total_size += 1UL * this_._internal_student_assignments_size();
1304 for (const auto& msg : this_._internal_student_assignments()) {
1305 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1306 }
1307 }
1308 // string message = 1;
1309 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1310 if (!this_._internal_message().empty()) {
1311 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
1312 this_._internal_message());
1313 }
1314 }
1315 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1316 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1317 if (this_._internal_solver_status() != 0) {
1318 total_size += 1 +
1319 ::_pbi::WireFormatLite::EnumSize(this_._internal_solver_status());
1320 }
1321 }
1322 }
1323 return this_.MaybeComputeUnknownFieldsSize(total_size,
1324 &this_._impl_._cached_size_);
1325}
1326
1327void CourseSchedulingResult::MergeImpl(::google::protobuf::MessageLite& to_msg,
1328 const ::google::protobuf::MessageLite& from_msg) {
1329 auto* const _this =
1330 static_cast<CourseSchedulingResult*>(&to_msg);
1331 auto& from = static_cast<const CourseSchedulingResult&>(from_msg);
1332 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1333 from.CheckHasBitConsistency();
1334 }
1335 ::google::protobuf::Arena* arena = _this->GetArena();
1336 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.CourseSchedulingResult)
1337 ABSL_DCHECK_NE(&from, _this);
1338 ::uint32_t cached_has_bits = 0;
1339 (void)cached_has_bits;
1340
1341 cached_has_bits = from._impl_._has_bits_[0];
1342 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
1343 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1344 _this->_internal_mutable_class_assignments()->InternalMergeFromWithArena(
1345 ::google::protobuf::MessageLite::internal_visibility(), arena,
1346 from._internal_class_assignments());
1347 }
1348 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1349 _this->_internal_mutable_student_assignments()->InternalMergeFromWithArena(
1350 ::google::protobuf::MessageLite::internal_visibility(), arena,
1351 from._internal_student_assignments());
1352 }
1353 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1354 if (!from._internal_message().empty()) {
1355 _this->_internal_set_message(from._internal_message());
1356 } else {
1357 if (_this->_impl_.message_.IsDefault()) {
1358 _this->_internal_set_message("");
1359 }
1360 }
1361 }
1362 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1363 if (from._internal_solver_status() != 0) {
1364 _this->_impl_.solver_status_ = from._impl_.solver_status_;
1365 }
1366 }
1367 }
1368 _this->_impl_._has_bits_[0] |= cached_has_bits;
1369 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1370 from._internal_metadata_);
1371}
1372
1374 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.CourseSchedulingResult)
1375 if (&from == this) return;
1376 Clear();
1377 MergeFrom(from);
1378}
1379
1380
1381void CourseSchedulingResult::InternalSwap(CourseSchedulingResult* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1382 using ::std::swap;
1383 auto* arena = GetArena();
1384 ABSL_DCHECK_EQ(arena, other->GetArena());
1385 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1386 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1387 _impl_.class_assignments_.InternalSwap(&other->_impl_.class_assignments_);
1388 _impl_.student_assignments_.InternalSwap(&other->_impl_.student_assignments_);
1389 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.message_, &other->_impl_.message_, arena);
1390 swap(_impl_.solver_status_, other->_impl_.solver_status_);
1391}
1392
1393::google::protobuf::Metadata CourseSchedulingResult::GetMetadata() const {
1394 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1396// ===================================================================
1397
1399 public:
1400 using HasBits =
1401 decltype(::std::declval<ClassAssignment>()._impl_._has_bits_);
1402 static constexpr ::int32_t kHasBitsOffset =
1403 8 * PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_._has_bits_);
1404};
1406ClassAssignment::ClassAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1407#if defined(PROTOBUF_CUSTOM_VTABLE)
1408 : ::google::protobuf::Message(arena, ClassAssignment_class_data_.base()) {
1409#else // PROTOBUF_CUSTOM_VTABLE
1410 : ::google::protobuf::Message(arena) {
1411#endif // PROTOBUF_CUSTOM_VTABLE
1412 SharedCtor(arena);
1413 // @@protoc_insertion_point(arena_constructor:operations_research.ClassAssignment)
1414}
1415PROTOBUF_NDEBUG_INLINE ClassAssignment::Impl_::Impl_(
1416 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1417 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1418 [[maybe_unused]] const ::operations_research::ClassAssignment& from_msg)
1419 : _has_bits_{from._has_bits_},
1420 _cached_size_{0},
1421 time_slots_{visibility, arena, from.time_slots_},
1422 _time_slots_cached_byte_size_{0},
1423 room_indices_{visibility, arena, from.room_indices_},
1424 _room_indices_cached_byte_size_{0} {}
1425
1427 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1428 const ClassAssignment& from)
1429#if defined(PROTOBUF_CUSTOM_VTABLE)
1430 : ::google::protobuf::Message(arena, ClassAssignment_class_data_.base()) {
1431#else // PROTOBUF_CUSTOM_VTABLE
1432 : ::google::protobuf::Message(arena) {
1433#endif // PROTOBUF_CUSTOM_VTABLE
1434 ClassAssignment* const _this = this;
1435 (void)_this;
1436 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1437 from._internal_metadata_);
1438 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1439 ::memcpy(reinterpret_cast<char*>(&_impl_) +
1440 offsetof(Impl_, course_index_),
1441 reinterpret_cast<const char*>(&from._impl_) +
1442 offsetof(Impl_, course_index_),
1443 offsetof(Impl_, section_number_) -
1444 offsetof(Impl_, course_index_) +
1445 sizeof(Impl_::section_number_));
1446
1447 // @@protoc_insertion_point(copy_constructor:operations_research.ClassAssignment)
1448}
1449PROTOBUF_NDEBUG_INLINE ClassAssignment::Impl_::Impl_(
1450 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1451 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1452 : _cached_size_{0},
1453 time_slots_{visibility, arena},
1454 _time_slots_cached_byte_size_{0},
1455 room_indices_{visibility, arena},
1456 _room_indices_cached_byte_size_{0} {}
1457
1458inline void ClassAssignment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1459 new (&_impl_) Impl_(internal_visibility(), arena);
1460 ::memset(reinterpret_cast<char*>(&_impl_) +
1461 offsetof(Impl_, course_index_),
1462 0,
1463 offsetof(Impl_, section_number_) -
1464 offsetof(Impl_, course_index_) +
1465 sizeof(Impl_::section_number_));
1466}
1468 // @@protoc_insertion_point(destructor:operations_research.ClassAssignment)
1469 SharedDtor(*this);
1471inline void ClassAssignment::SharedDtor(MessageLite& self) {
1472 ClassAssignment& this_ = static_cast<ClassAssignment&>(self);
1473 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1474 this_.CheckHasBitConsistency();
1475 }
1476 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1477 ABSL_DCHECK(this_.GetArena() == nullptr);
1478 this_._impl_.~Impl_();
1479}
1480
1481inline void* PROTOBUF_NONNULL ClassAssignment::PlacementNew_(
1482 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1483 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1484 return ::new (mem) ClassAssignment(arena);
1485}
1486constexpr auto ClassAssignment::InternalNewImpl_() {
1487 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1488 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.time_slots_) +
1489 decltype(ClassAssignment::_impl_.time_slots_)::
1490 InternalGetArenaOffset(
1491 ::google::protobuf::Message::internal_visibility()),
1492 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.room_indices_) +
1493 decltype(ClassAssignment::_impl_.room_indices_)::
1494 InternalGetArenaOffset(
1495 ::google::protobuf::Message::internal_visibility()),
1496 });
1497 if (arena_bits.has_value()) {
1498 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1499 sizeof(ClassAssignment), alignof(ClassAssignment), *arena_bits);
1500 } else {
1501 return ::google::protobuf::internal::MessageCreator(&ClassAssignment::PlacementNew_,
1502 sizeof(ClassAssignment),
1503 alignof(ClassAssignment));
1504 }
1505}
1507 return ::google::protobuf::internal::ClassDataFull{
1508 ::google::protobuf::internal::ClassData{
1510 &_table_.header,
1511 nullptr, // OnDemandRegisterArenaDtor
1512 nullptr, // IsInitialized
1513 &ClassAssignment::MergeImpl,
1514 ::google::protobuf::Message::GetNewImpl<ClassAssignment>(),
1515#if defined(PROTOBUF_CUSTOM_VTABLE)
1516 &ClassAssignment::SharedDtor,
1517 ::google::protobuf::Message::GetClearImpl<ClassAssignment>(), &ClassAssignment::ByteSizeLong,
1519#endif // PROTOBUF_CUSTOM_VTABLE
1520 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_._cached_size_),
1521 false,
1522 },
1523 &ClassAssignment::kDescriptorMethods,
1525 nullptr, // tracker
1526 };
1527}
1528
1529PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1530 ::google::protobuf::internal::ClassDataFull ClassAssignment_class_data_ =
1532
1533PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1534ClassAssignment::GetClassData() const {
1535 ::google::protobuf::internal::PrefetchToLocalCache(&ClassAssignment_class_data_);
1536 ::google::protobuf::internal::PrefetchToLocalCache(ClassAssignment_class_data_.tc_table);
1537 return ClassAssignment_class_data_.base();
1538}
1539PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1540const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
1541ClassAssignment::_table_ = {
1542 {
1543 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_._has_bits_),
1544 0, // no _extensions_
1545 4, 24, // max_field_number, fast_idx_mask
1546 offsetof(decltype(_table_), field_lookup_table),
1547 4294967280, // skipmap
1548 offsetof(decltype(_table_), field_entries),
1549 4, // num_field_entries
1550 0, // num_aux_entries
1551 offsetof(decltype(_table_), field_names), // no aux_entries
1553 nullptr, // post_loop_handler
1554 ::_pbi::TcParser::GenericFallback, // fallback
1555 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1556 ::_pbi::TcParser::GetTable<::operations_research::ClassAssignment>(), // to_prefetch
1557 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1558 }, {{
1559 // repeated int32 room_indices = 4;
1560 {::_pbi::TcParser::FastV32P1,
1561 {34, 1, 0,
1562 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.room_indices_)}},
1563 // int32 course_index = 1;
1564 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ClassAssignment, _impl_.course_index_), 2>(),
1565 {8, 2, 0,
1566 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.course_index_)}},
1567 // int32 section_number = 2;
1568 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ClassAssignment, _impl_.section_number_), 3>(),
1569 {16, 3, 0,
1570 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.section_number_)}},
1571 // repeated int32 time_slots = 3;
1572 {::_pbi::TcParser::FastV32P1,
1573 {26, 0, 0,
1574 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.time_slots_)}},
1575 }}, {{
1576 65535, 65535
1577 }}, {{
1578 // int32 course_index = 1;
1579 {PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.course_index_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1580 // int32 section_number = 2;
1581 {PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.section_number_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1582 // repeated int32 time_slots = 3;
1583 {PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.time_slots_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1584 // repeated int32 room_indices = 4;
1585 {PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.room_indices_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1586 }},
1587 // no aux_entries
1588 {{
1589 }},
1590};
1591PROTOBUF_NOINLINE void ClassAssignment::Clear() {
1592// @@protoc_insertion_point(message_clear_start:operations_research.ClassAssignment)
1593 ::google::protobuf::internal::TSanWrite(&_impl_);
1594 ::uint32_t cached_has_bits = 0;
1595 // Prevent compiler warnings about cached_has_bits being unused
1596 (void) cached_has_bits;
1597
1598 cached_has_bits = _impl_._has_bits_[0];
1599 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1600 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1601 _impl_.time_slots_.Clear();
1602 }
1603 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1604 _impl_.room_indices_.Clear();
1605 }
1606 }
1607 if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
1608 ::memset(&_impl_.course_index_, 0, static_cast<::size_t>(
1609 reinterpret_cast<char*>(&_impl_.section_number_) -
1610 reinterpret_cast<char*>(&_impl_.course_index_)) + sizeof(_impl_.section_number_));
1611 }
1612 _impl_._has_bits_.Clear();
1613 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1614}
1615
1616#if defined(PROTOBUF_CUSTOM_VTABLE)
1617::uint8_t* PROTOBUF_NONNULL ClassAssignment::_InternalSerialize(
1618 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1619 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1620 const ClassAssignment& this_ = static_cast<const ClassAssignment&>(base);
1621#else // PROTOBUF_CUSTOM_VTABLE
1622::uint8_t* PROTOBUF_NONNULL ClassAssignment::_InternalSerialize(
1623 ::uint8_t* PROTOBUF_NONNULL target,
1624 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1625 const ClassAssignment& this_ = *this;
1626#endif // PROTOBUF_CUSTOM_VTABLE
1627 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1628 this_.CheckHasBitConsistency();
1629 }
1630 // @@protoc_insertion_point(serialize_to_array_start:operations_research.ClassAssignment)
1631 ::uint32_t cached_has_bits = 0;
1632 (void)cached_has_bits;
1633
1634 cached_has_bits = this_._impl_._has_bits_[0];
1635 // int32 course_index = 1;
1636 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1637 if (this_._internal_course_index() != 0) {
1638 target =
1639 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
1640 stream, this_._internal_course_index(), target);
1641 }
1642 }
1643
1644 // int32 section_number = 2;
1645 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1646 if (this_._internal_section_number() != 0) {
1647 target =
1648 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
1649 stream, this_._internal_section_number(), target);
1650 }
1651 }
1652
1653 // repeated int32 time_slots = 3;
1654 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1655 {
1656 int byte_size = this_._impl_._time_slots_cached_byte_size_.Get();
1657 if (byte_size > 0) {
1658 target = stream->WriteInt32Packed(
1659 3, this_._internal_time_slots(), byte_size, target);
1660 }
1661 }
1662 }
1663
1664 // repeated int32 room_indices = 4;
1665 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1666 {
1667 int byte_size = this_._impl_._room_indices_cached_byte_size_.Get();
1668 if (byte_size > 0) {
1669 target = stream->WriteInt32Packed(
1670 4, this_._internal_room_indices(), byte_size, target);
1671 }
1672 }
1673 }
1674
1675 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1676 target =
1677 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1678 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1679 }
1680 // @@protoc_insertion_point(serialize_to_array_end:operations_research.ClassAssignment)
1681 return target;
1682}
1683
1684#if defined(PROTOBUF_CUSTOM_VTABLE)
1685::size_t ClassAssignment::ByteSizeLong(const MessageLite& base) {
1686 const ClassAssignment& this_ = static_cast<const ClassAssignment&>(base);
1687#else // PROTOBUF_CUSTOM_VTABLE
1688::size_t ClassAssignment::ByteSizeLong() const {
1689 const ClassAssignment& this_ = *this;
1690#endif // PROTOBUF_CUSTOM_VTABLE
1691 // @@protoc_insertion_point(message_byte_size_start:operations_research.ClassAssignment)
1692 ::size_t total_size = 0;
1693
1694 ::uint32_t cached_has_bits = 0;
1695 // Prevent compiler warnings about cached_has_bits being unused
1696 (void)cached_has_bits;
1697
1698 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1699 cached_has_bits = this_._impl_._has_bits_[0];
1700 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
1701 // repeated int32 time_slots = 3;
1702 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1703 total_size +=
1704 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1705 this_._internal_time_slots(), 1,
1706 this_._impl_._time_slots_cached_byte_size_);
1707 }
1708 // repeated int32 room_indices = 4;
1709 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1710 total_size +=
1711 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1712 this_._internal_room_indices(), 1,
1713 this_._impl_._room_indices_cached_byte_size_);
1714 }
1715 // int32 course_index = 1;
1716 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1717 if (this_._internal_course_index() != 0) {
1718 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1719 this_._internal_course_index());
1720 }
1721 }
1722 // int32 section_number = 2;
1723 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1724 if (this_._internal_section_number() != 0) {
1725 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1726 this_._internal_section_number());
1727 }
1728 }
1729 }
1730 return this_.MaybeComputeUnknownFieldsSize(total_size,
1731 &this_._impl_._cached_size_);
1732}
1733
1734void ClassAssignment::MergeImpl(::google::protobuf::MessageLite& to_msg,
1735 const ::google::protobuf::MessageLite& from_msg) {
1736 auto* const _this =
1737 static_cast<ClassAssignment*>(&to_msg);
1738 auto& from = static_cast<const ClassAssignment&>(from_msg);
1739 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1740 from.CheckHasBitConsistency();
1741 }
1742 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.ClassAssignment)
1743 ABSL_DCHECK_NE(&from, _this);
1744 ::uint32_t cached_has_bits = 0;
1745 (void)cached_has_bits;
1746
1747 cached_has_bits = from._impl_._has_bits_[0];
1748 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
1749 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1750 _this->_internal_mutable_time_slots()->MergeFrom(from._internal_time_slots());
1751 }
1752 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1753 _this->_internal_mutable_room_indices()->MergeFrom(from._internal_room_indices());
1754 }
1755 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1756 if (from._internal_course_index() != 0) {
1757 _this->_impl_.course_index_ = from._impl_.course_index_;
1758 }
1759 }
1760 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1761 if (from._internal_section_number() != 0) {
1762 _this->_impl_.section_number_ = from._impl_.section_number_;
1763 }
1764 }
1765 }
1766 _this->_impl_._has_bits_[0] |= cached_has_bits;
1767 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1768 from._internal_metadata_);
1769}
1770
1771void ClassAssignment::CopyFrom(const ClassAssignment& from) {
1772 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.ClassAssignment)
1773 if (&from == this) return;
1775 MergeFrom(from);
1776}
1777
1778
1779void ClassAssignment::InternalSwap(ClassAssignment* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1780 using ::std::swap;
1781 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1782 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1783 _impl_.time_slots_.InternalSwap(&other->_impl_.time_slots_);
1784 _impl_.room_indices_.InternalSwap(&other->_impl_.room_indices_);
1785 ::google::protobuf::internal::memswap<
1786 PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.section_number_)
1787 + sizeof(ClassAssignment::_impl_.section_number_)
1788 - PROTOBUF_FIELD_OFFSET(ClassAssignment, _impl_.course_index_)>(
1789 reinterpret_cast<char*>(&_impl_.course_index_),
1790 reinterpret_cast<char*>(&other->_impl_.course_index_));
1791}
1792
1793::google::protobuf::Metadata ClassAssignment::GetMetadata() const {
1794 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1795}
1796// ===================================================================
1797
1799 public:
1800 using HasBits =
1801 decltype(::std::declval<StudentAssignment>()._impl_._has_bits_);
1802 static constexpr ::int32_t kHasBitsOffset =
1803 8 * PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_._has_bits_);
1805
1806StudentAssignment::StudentAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1807#if defined(PROTOBUF_CUSTOM_VTABLE)
1808 : ::google::protobuf::Message(arena, StudentAssignment_class_data_.base()) {
1809#else // PROTOBUF_CUSTOM_VTABLE
1810 : ::google::protobuf::Message(arena) {
1811#endif // PROTOBUF_CUSTOM_VTABLE
1812 SharedCtor(arena);
1813 // @@protoc_insertion_point(arena_constructor:operations_research.StudentAssignment)
1814}
1815PROTOBUF_NDEBUG_INLINE StudentAssignment::Impl_::Impl_(
1816 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1817 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1818 [[maybe_unused]] const ::operations_research::StudentAssignment& from_msg)
1819 : _has_bits_{from._has_bits_},
1820 _cached_size_{0},
1821 course_indices_{visibility, arena, from.course_indices_},
1822 _course_indices_cached_byte_size_{0},
1823 section_indices_{visibility, arena, from.section_indices_},
1824 _section_indices_cached_byte_size_{0} {}
1825
1827 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1828 const StudentAssignment& from)
1829#if defined(PROTOBUF_CUSTOM_VTABLE)
1830 : ::google::protobuf::Message(arena, StudentAssignment_class_data_.base()) {
1831#else // PROTOBUF_CUSTOM_VTABLE
1832 : ::google::protobuf::Message(arena) {
1833#endif // PROTOBUF_CUSTOM_VTABLE
1834 StudentAssignment* const _this = this;
1835 (void)_this;
1836 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1837 from._internal_metadata_);
1838 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1839 _impl_.student_index_ = from._impl_.student_index_;
1840
1841 // @@protoc_insertion_point(copy_constructor:operations_research.StudentAssignment)
1842}
1843PROTOBUF_NDEBUG_INLINE StudentAssignment::Impl_::Impl_(
1844 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1845 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1846 : _cached_size_{0},
1847 course_indices_{visibility, arena},
1848 _course_indices_cached_byte_size_{0},
1849 section_indices_{visibility, arena},
1850 _section_indices_cached_byte_size_{0} {}
1851
1852inline void StudentAssignment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1853 new (&_impl_) Impl_(internal_visibility(), arena);
1854 _impl_.student_index_ = {};
1855}
1857 // @@protoc_insertion_point(destructor:operations_research.StudentAssignment)
1858 SharedDtor(*this);
1859}
1860inline void StudentAssignment::SharedDtor(MessageLite& self) {
1861 StudentAssignment& this_ = static_cast<StudentAssignment&>(self);
1862 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1863 this_.CheckHasBitConsistency();
1864 }
1865 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1866 ABSL_DCHECK(this_.GetArena() == nullptr);
1867 this_._impl_.~Impl_();
1868}
1869
1870inline void* PROTOBUF_NONNULL StudentAssignment::PlacementNew_(
1871 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1872 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1873 return ::new (mem) StudentAssignment(arena);
1874}
1875constexpr auto StudentAssignment::InternalNewImpl_() {
1876 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1877 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.course_indices_) +
1878 decltype(StudentAssignment::_impl_.course_indices_)::
1879 InternalGetArenaOffset(
1880 ::google::protobuf::Message::internal_visibility()),
1881 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.section_indices_) +
1882 decltype(StudentAssignment::_impl_.section_indices_)::
1883 InternalGetArenaOffset(
1884 ::google::protobuf::Message::internal_visibility()),
1885 });
1886 if (arena_bits.has_value()) {
1887 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1888 sizeof(StudentAssignment), alignof(StudentAssignment), *arena_bits);
1889 } else {
1890 return ::google::protobuf::internal::MessageCreator(&StudentAssignment::PlacementNew_,
1891 sizeof(StudentAssignment),
1892 alignof(StudentAssignment));
1893 }
1894}
1896 return ::google::protobuf::internal::ClassDataFull{
1897 ::google::protobuf::internal::ClassData{
1899 &_table_.header,
1900 nullptr, // OnDemandRegisterArenaDtor
1901 nullptr, // IsInitialized
1902 &StudentAssignment::MergeImpl,
1903 ::google::protobuf::Message::GetNewImpl<StudentAssignment>(),
1904#if defined(PROTOBUF_CUSTOM_VTABLE)
1905 &StudentAssignment::SharedDtor,
1906 ::google::protobuf::Message::GetClearImpl<StudentAssignment>(), &StudentAssignment::ByteSizeLong,
1908#endif // PROTOBUF_CUSTOM_VTABLE
1909 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_._cached_size_),
1910 false,
1911 },
1912 &StudentAssignment::kDescriptorMethods,
1914 nullptr, // tracker
1915 };
1916}
1917
1918PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1919 ::google::protobuf::internal::ClassDataFull StudentAssignment_class_data_ =
1921
1922PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1923StudentAssignment::GetClassData() const {
1924 ::google::protobuf::internal::PrefetchToLocalCache(&StudentAssignment_class_data_);
1925 ::google::protobuf::internal::PrefetchToLocalCache(StudentAssignment_class_data_.tc_table);
1926 return StudentAssignment_class_data_.base();
1927}
1928PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1929const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
1930StudentAssignment::_table_ = {
1931 {
1932 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_._has_bits_),
1933 0, // no _extensions_
1934 3, 24, // max_field_number, fast_idx_mask
1935 offsetof(decltype(_table_), field_lookup_table),
1936 4294967288, // skipmap
1937 offsetof(decltype(_table_), field_entries),
1938 3, // num_field_entries
1939 0, // num_aux_entries
1940 offsetof(decltype(_table_), field_names), // no aux_entries
1942 nullptr, // post_loop_handler
1943 ::_pbi::TcParser::GenericFallback, // fallback
1944 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1945 ::_pbi::TcParser::GetTable<::operations_research::StudentAssignment>(), // to_prefetch
1946 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1947 }, {{
1948 {::_pbi::TcParser::MiniParse, {}},
1949 // int32 student_index = 1;
1950 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(StudentAssignment, _impl_.student_index_), 2>(),
1951 {8, 2, 0,
1952 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.student_index_)}},
1953 // repeated int32 course_indices = 2;
1954 {::_pbi::TcParser::FastV32P1,
1955 {18, 0, 0,
1956 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.course_indices_)}},
1957 // repeated int32 section_indices = 3;
1958 {::_pbi::TcParser::FastV32P1,
1959 {26, 1, 0,
1960 PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.section_indices_)}},
1961 }}, {{
1962 65535, 65535
1963 }}, {{
1964 // int32 student_index = 1;
1965 {PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.student_index_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1966 // repeated int32 course_indices = 2;
1967 {PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.course_indices_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1968 // repeated int32 section_indices = 3;
1969 {PROTOBUF_FIELD_OFFSET(StudentAssignment, _impl_.section_indices_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1970 }},
1971 // no aux_entries
1972 {{
1973 }},
1974};
1975PROTOBUF_NOINLINE void StudentAssignment::Clear() {
1976// @@protoc_insertion_point(message_clear_start:operations_research.StudentAssignment)
1977 ::google::protobuf::internal::TSanWrite(&_impl_);
1978 ::uint32_t cached_has_bits = 0;
1979 // Prevent compiler warnings about cached_has_bits being unused
1980 (void) cached_has_bits;
1981
1982 cached_has_bits = _impl_._has_bits_[0];
1983 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1984 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1985 _impl_.course_indices_.Clear();
1986 }
1987 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1988 _impl_.section_indices_.Clear();
1989 }
1990 }
1991 _impl_.student_index_ = 0;
1992 _impl_._has_bits_.Clear();
1993 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1994}
1995
1996#if defined(PROTOBUF_CUSTOM_VTABLE)
1997::uint8_t* PROTOBUF_NONNULL StudentAssignment::_InternalSerialize(
1998 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1999 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2000 const StudentAssignment& this_ = static_cast<const StudentAssignment&>(base);
2001#else // PROTOBUF_CUSTOM_VTABLE
2002::uint8_t* PROTOBUF_NONNULL StudentAssignment::_InternalSerialize(
2003 ::uint8_t* PROTOBUF_NONNULL target,
2004 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2005 const StudentAssignment& this_ = *this;
2006#endif // PROTOBUF_CUSTOM_VTABLE
2007 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2008 this_.CheckHasBitConsistency();
2009 }
2010 // @@protoc_insertion_point(serialize_to_array_start:operations_research.StudentAssignment)
2011 ::uint32_t cached_has_bits = 0;
2012 (void)cached_has_bits;
2013
2014 cached_has_bits = this_._impl_._has_bits_[0];
2015 // int32 student_index = 1;
2016 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2017 if (this_._internal_student_index() != 0) {
2018 target =
2019 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
2020 stream, this_._internal_student_index(), target);
2021 }
2022 }
2023
2024 // repeated int32 course_indices = 2;
2025 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2026 {
2027 int byte_size = this_._impl_._course_indices_cached_byte_size_.Get();
2028 if (byte_size > 0) {
2029 target = stream->WriteInt32Packed(
2030 2, this_._internal_course_indices(), byte_size, target);
2031 }
2032 }
2033 }
2034
2035 // repeated int32 section_indices = 3;
2036 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2037 {
2038 int byte_size = this_._impl_._section_indices_cached_byte_size_.Get();
2039 if (byte_size > 0) {
2040 target = stream->WriteInt32Packed(
2041 3, this_._internal_section_indices(), byte_size, target);
2042 }
2043 }
2044 }
2045
2046 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2047 target =
2048 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2049 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2050 }
2051 // @@protoc_insertion_point(serialize_to_array_end:operations_research.StudentAssignment)
2052 return target;
2053}
2054
2055#if defined(PROTOBUF_CUSTOM_VTABLE)
2056::size_t StudentAssignment::ByteSizeLong(const MessageLite& base) {
2057 const StudentAssignment& this_ = static_cast<const StudentAssignment&>(base);
2058#else // PROTOBUF_CUSTOM_VTABLE
2059::size_t StudentAssignment::ByteSizeLong() const {
2060 const StudentAssignment& this_ = *this;
2061#endif // PROTOBUF_CUSTOM_VTABLE
2062 // @@protoc_insertion_point(message_byte_size_start:operations_research.StudentAssignment)
2063 ::size_t total_size = 0;
2064
2065 ::uint32_t cached_has_bits = 0;
2066 // Prevent compiler warnings about cached_has_bits being unused
2067 (void)cached_has_bits;
2068
2069 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2070 cached_has_bits = this_._impl_._has_bits_[0];
2071 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
2072 // repeated int32 course_indices = 2;
2073 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2074 total_size +=
2075 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2076 this_._internal_course_indices(), 1,
2077 this_._impl_._course_indices_cached_byte_size_);
2078 }
2079 // repeated int32 section_indices = 3;
2080 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2081 total_size +=
2082 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2083 this_._internal_section_indices(), 1,
2084 this_._impl_._section_indices_cached_byte_size_);
2085 }
2086 // int32 student_index = 1;
2087 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2088 if (this_._internal_student_index() != 0) {
2089 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2090 this_._internal_student_index());
2091 }
2092 }
2093 }
2094 return this_.MaybeComputeUnknownFieldsSize(total_size,
2095 &this_._impl_._cached_size_);
2096}
2097
2098void StudentAssignment::MergeImpl(::google::protobuf::MessageLite& to_msg,
2099 const ::google::protobuf::MessageLite& from_msg) {
2100 auto* const _this =
2101 static_cast<StudentAssignment*>(&to_msg);
2102 auto& from = static_cast<const StudentAssignment&>(from_msg);
2103 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2104 from.CheckHasBitConsistency();
2105 }
2106 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.StudentAssignment)
2107 ABSL_DCHECK_NE(&from, _this);
2108 ::uint32_t cached_has_bits = 0;
2109 (void)cached_has_bits;
2110
2111 cached_has_bits = from._impl_._has_bits_[0];
2112 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
2113 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2114 _this->_internal_mutable_course_indices()->MergeFrom(from._internal_course_indices());
2115 }
2116 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2117 _this->_internal_mutable_section_indices()->MergeFrom(from._internal_section_indices());
2118 }
2119 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2120 if (from._internal_student_index() != 0) {
2121 _this->_impl_.student_index_ = from._impl_.student_index_;
2122 }
2123 }
2124 }
2125 _this->_impl_._has_bits_[0] |= cached_has_bits;
2126 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2127 from._internal_metadata_);
2128}
2129
2130void StudentAssignment::CopyFrom(const StudentAssignment& from) {
2131 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.StudentAssignment)
2132 if (&from == this) return;
2133 Clear();
2135}
2136
2137
2138void StudentAssignment::InternalSwap(StudentAssignment* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2139 using ::std::swap;
2140 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2141 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2142 _impl_.course_indices_.InternalSwap(&other->_impl_.course_indices_);
2143 _impl_.section_indices_.InternalSwap(&other->_impl_.section_indices_);
2144 swap(_impl_.student_index_, other->_impl_.student_index_);
2145}
2146
2147::google::protobuf::Metadata StudentAssignment::GetMetadata() const {
2148 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2149}
2150// ===================================================================
2152class Course::_Internal {
2153 public:
2154 using HasBits =
2155 decltype(::std::declval<Course>()._impl_._has_bits_);
2156 static constexpr ::int32_t kHasBitsOffset =
2157 8 * PROTOBUF_FIELD_OFFSET(Course, _impl_._has_bits_);
2158};
2160Course::Course(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2161#if defined(PROTOBUF_CUSTOM_VTABLE)
2162 : ::google::protobuf::Message(arena, Course_class_data_.base()) {
2163#else // PROTOBUF_CUSTOM_VTABLE
2164 : ::google::protobuf::Message(arena) {
2165#endif // PROTOBUF_CUSTOM_VTABLE
2166 SharedCtor(arena);
2167 // @@protoc_insertion_point(arena_constructor:operations_research.Course)
2168}
2169PROTOBUF_NDEBUG_INLINE Course::Impl_::Impl_(
2170 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2171 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2172 [[maybe_unused]] const ::operations_research::Course& from_msg)
2173 : _has_bits_{from._has_bits_},
2174 _cached_size_{0},
2175 teacher_indices_{visibility, arena, from.teacher_indices_},
2176 _teacher_indices_cached_byte_size_{0},
2177 teacher_section_counts_{visibility, arena, from.teacher_section_counts_},
2178 _teacher_section_counts_cached_byte_size_{0},
2179 room_indices_{visibility, arena, from.room_indices_},
2180 _room_indices_cached_byte_size_{0},
2181 display_name_(arena, from.display_name_) {}
2182
2184 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2185 const Course& from)
2186#if defined(PROTOBUF_CUSTOM_VTABLE)
2187 : ::google::protobuf::Message(arena, Course_class_data_.base()) {
2188#else // PROTOBUF_CUSTOM_VTABLE
2189 : ::google::protobuf::Message(arena) {
2190#endif // PROTOBUF_CUSTOM_VTABLE
2191 Course* const _this = this;
2192 (void)_this;
2193 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2194 from._internal_metadata_);
2195 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2196 ::memcpy(reinterpret_cast<char*>(&_impl_) +
2197 offsetof(Impl_, meetings_count_),
2198 reinterpret_cast<const char*>(&from._impl_) +
2199 offsetof(Impl_, meetings_count_),
2200 offsetof(Impl_, consecutive_slots_count_) -
2201 offsetof(Impl_, meetings_count_) +
2202 sizeof(Impl_::consecutive_slots_count_));
2203
2204 // @@protoc_insertion_point(copy_constructor:operations_research.Course)
2205}
2206PROTOBUF_NDEBUG_INLINE Course::Impl_::Impl_(
2207 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2208 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2209 : _cached_size_{0},
2210 teacher_indices_{visibility, arena},
2211 _teacher_indices_cached_byte_size_{0},
2212 teacher_section_counts_{visibility, arena},
2213 _teacher_section_counts_cached_byte_size_{0},
2214 room_indices_{visibility, arena},
2215 _room_indices_cached_byte_size_{0},
2216 display_name_(arena) {}
2217
2218inline void Course::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2219 new (&_impl_) Impl_(internal_visibility(), arena);
2220 ::memset(reinterpret_cast<char*>(&_impl_) +
2221 offsetof(Impl_, meetings_count_),
2222 0,
2223 offsetof(Impl_, consecutive_slots_count_) -
2224 offsetof(Impl_, meetings_count_) +
2225 sizeof(Impl_::consecutive_slots_count_));
2226}
2228 // @@protoc_insertion_point(destructor:operations_research.Course)
2229 SharedDtor(*this);
2230}
2231inline void Course::SharedDtor(MessageLite& self) {
2232 Course& this_ = static_cast<Course&>(self);
2233 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2234 this_.CheckHasBitConsistency();
2235 }
2236 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2237 ABSL_DCHECK(this_.GetArena() == nullptr);
2238 this_._impl_.display_name_.Destroy();
2239 this_._impl_.~Impl_();
2240}
2241
2242inline void* PROTOBUF_NONNULL Course::PlacementNew_(
2243 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2244 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2245 return ::new (mem) Course(arena);
2246}
2247constexpr auto Course::InternalNewImpl_() {
2248 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2249 PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_indices_) +
2250 decltype(Course::_impl_.teacher_indices_)::
2251 InternalGetArenaOffset(
2252 ::google::protobuf::Message::internal_visibility()),
2253 PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_section_counts_) +
2254 decltype(Course::_impl_.teacher_section_counts_)::
2255 InternalGetArenaOffset(
2256 ::google::protobuf::Message::internal_visibility()),
2257 PROTOBUF_FIELD_OFFSET(Course, _impl_.room_indices_) +
2258 decltype(Course::_impl_.room_indices_)::
2259 InternalGetArenaOffset(
2260 ::google::protobuf::Message::internal_visibility()),
2261 });
2262 if (arena_bits.has_value()) {
2263 return ::google::protobuf::internal::MessageCreator::CopyInit(
2264 sizeof(Course), alignof(Course), *arena_bits);
2265 } else {
2266 return ::google::protobuf::internal::MessageCreator(&Course::PlacementNew_,
2267 sizeof(Course),
2268 alignof(Course));
2269 }
2270}
2271constexpr auto Course::InternalGenerateClassData_() {
2272 return ::google::protobuf::internal::ClassDataFull{
2273 ::google::protobuf::internal::ClassData{
2275 &_table_.header,
2276 nullptr, // OnDemandRegisterArenaDtor
2277 nullptr, // IsInitialized
2278 &Course::MergeImpl,
2279 ::google::protobuf::Message::GetNewImpl<Course>(),
2280#if defined(PROTOBUF_CUSTOM_VTABLE)
2281 &Course::SharedDtor,
2282 ::google::protobuf::Message::GetClearImpl<Course>(), &Course::ByteSizeLong,
2284#endif // PROTOBUF_CUSTOM_VTABLE
2285 PROTOBUF_FIELD_OFFSET(Course, _impl_._cached_size_),
2286 false,
2287 },
2288 &Course::kDescriptorMethods,
2290 nullptr, // tracker
2291 };
2292}
2293
2294PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2295 ::google::protobuf::internal::ClassDataFull Course_class_data_ =
2297
2298PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2299Course::GetClassData() const {
2300 ::google::protobuf::internal::PrefetchToLocalCache(&Course_class_data_);
2301 ::google::protobuf::internal::PrefetchToLocalCache(Course_class_data_.tc_table);
2302 return Course_class_data_.base();
2303}
2304PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2305const ::_pbi::TcParseTable<3, 8, 0, 55, 2>
2306Course::_table_ = {
2307 {
2308 PROTOBUF_FIELD_OFFSET(Course, _impl_._has_bits_),
2309 0, // no _extensions_
2310 8, 56, // max_field_number, fast_idx_mask
2311 offsetof(decltype(_table_), field_lookup_table),
2312 4294967040, // skipmap
2313 offsetof(decltype(_table_), field_entries),
2314 8, // num_field_entries
2315 0, // num_aux_entries
2316 offsetof(decltype(_table_), field_names), // no aux_entries
2317 Course_class_data_.base(),
2318 nullptr, // post_loop_handler
2319 ::_pbi::TcParser::GenericFallback, // fallback
2320 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2321 ::_pbi::TcParser::GetTable<::operations_research::Course>(), // to_prefetch
2322 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2323 }, {{
2324 // repeated int32 room_indices = 8;
2325 {::_pbi::TcParser::FastV32P1,
2326 {66, 2, 0,
2327 PROTOBUF_FIELD_OFFSET(Course, _impl_.room_indices_)}},
2328 // string display_name = 1;
2329 {::_pbi::TcParser::FastUS1,
2330 {10, 3, 0,
2331 PROTOBUF_FIELD_OFFSET(Course, _impl_.display_name_)}},
2332 // int32 meetings_count = 2;
2333 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Course, _impl_.meetings_count_), 4>(),
2334 {16, 4, 0,
2335 PROTOBUF_FIELD_OFFSET(Course, _impl_.meetings_count_)}},
2336 // int32 max_capacity = 3;
2337 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Course, _impl_.max_capacity_), 5>(),
2338 {24, 5, 0,
2339 PROTOBUF_FIELD_OFFSET(Course, _impl_.max_capacity_)}},
2340 // int32 min_capacity = 4;
2341 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Course, _impl_.min_capacity_), 6>(),
2342 {32, 6, 0,
2343 PROTOBUF_FIELD_OFFSET(Course, _impl_.min_capacity_)}},
2344 // int32 consecutive_slots_count = 5;
2345 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Course, _impl_.consecutive_slots_count_), 7>(),
2346 {40, 7, 0,
2347 PROTOBUF_FIELD_OFFSET(Course, _impl_.consecutive_slots_count_)}},
2348 // repeated int32 teacher_indices = 6;
2349 {::_pbi::TcParser::FastV32P1,
2350 {50, 0, 0,
2351 PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_indices_)}},
2352 // repeated int32 teacher_section_counts = 7;
2353 {::_pbi::TcParser::FastV32P1,
2354 {58, 1, 0,
2355 PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_section_counts_)}},
2356 }}, {{
2357 65535, 65535
2358 }}, {{
2359 // string display_name = 1;
2360 {PROTOBUF_FIELD_OFFSET(Course, _impl_.display_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
2361 // int32 meetings_count = 2;
2362 {PROTOBUF_FIELD_OFFSET(Course, _impl_.meetings_count_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2363 // int32 max_capacity = 3;
2364 {PROTOBUF_FIELD_OFFSET(Course, _impl_.max_capacity_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2365 // int32 min_capacity = 4;
2366 {PROTOBUF_FIELD_OFFSET(Course, _impl_.min_capacity_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2367 // int32 consecutive_slots_count = 5;
2368 {PROTOBUF_FIELD_OFFSET(Course, _impl_.consecutive_slots_count_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2369 // repeated int32 teacher_indices = 6;
2370 {PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_indices_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2371 // repeated int32 teacher_section_counts = 7;
2372 {PROTOBUF_FIELD_OFFSET(Course, _impl_.teacher_section_counts_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2373 // repeated int32 room_indices = 8;
2374 {PROTOBUF_FIELD_OFFSET(Course, _impl_.room_indices_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2375 }},
2376 // no aux_entries
2377 {{
2378 "\32\14\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
2379 "operations_research.Course"
2380 "display_name"
2381 }},
2382};
2383PROTOBUF_NOINLINE void Course::Clear() {
2384// @@protoc_insertion_point(message_clear_start:operations_research.Course)
2385 ::google::protobuf::internal::TSanWrite(&_impl_);
2386 ::uint32_t cached_has_bits = 0;
2387 // Prevent compiler warnings about cached_has_bits being unused
2388 (void) cached_has_bits;
2389
2390 cached_has_bits = _impl_._has_bits_[0];
2391 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
2392 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2393 _impl_.teacher_indices_.Clear();
2394 }
2395 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2396 _impl_.teacher_section_counts_.Clear();
2397 }
2398 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
2399 _impl_.room_indices_.Clear();
2400 }
2401 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2402 _impl_.display_name_.ClearNonDefaultToEmpty();
2403 }
2404 }
2405 if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
2406 ::memset(&_impl_.meetings_count_, 0, static_cast<::size_t>(
2407 reinterpret_cast<char*>(&_impl_.consecutive_slots_count_) -
2408 reinterpret_cast<char*>(&_impl_.meetings_count_)) + sizeof(_impl_.consecutive_slots_count_));
2409 }
2410 _impl_._has_bits_.Clear();
2411 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2412}
2413
2414#if defined(PROTOBUF_CUSTOM_VTABLE)
2415::uint8_t* PROTOBUF_NONNULL Course::_InternalSerialize(
2416 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2417 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2418 const Course& this_ = static_cast<const Course&>(base);
2419#else // PROTOBUF_CUSTOM_VTABLE
2420::uint8_t* PROTOBUF_NONNULL Course::_InternalSerialize(
2421 ::uint8_t* PROTOBUF_NONNULL target,
2422 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2423 const Course& this_ = *this;
2424#endif // PROTOBUF_CUSTOM_VTABLE
2425 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2426 this_.CheckHasBitConsistency();
2427 }
2428 // @@protoc_insertion_point(serialize_to_array_start:operations_research.Course)
2429 ::uint32_t cached_has_bits = 0;
2430 (void)cached_has_bits;
2431
2432 cached_has_bits = this_._impl_._has_bits_[0];
2433 // string display_name = 1;
2434 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2435 if (!this_._internal_display_name().empty()) {
2436 const ::std::string& _s = this_._internal_display_name();
2437 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
2438 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.Course.display_name");
2439 target = stream->WriteStringMaybeAliased(1, _s, target);
2440 }
2441 }
2442
2443 // int32 meetings_count = 2;
2444 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2445 if (this_._internal_meetings_count() != 0) {
2446 target =
2447 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
2448 stream, this_._internal_meetings_count(), target);
2449 }
2450 }
2451
2452 // int32 max_capacity = 3;
2453 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2454 if (this_._internal_max_capacity() != 0) {
2455 target =
2456 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
2457 stream, this_._internal_max_capacity(), target);
2458 }
2459 }
2460
2461 // int32 min_capacity = 4;
2462 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2463 if (this_._internal_min_capacity() != 0) {
2464 target =
2465 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
2466 stream, this_._internal_min_capacity(), target);
2467 }
2468 }
2469
2470 // int32 consecutive_slots_count = 5;
2471 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
2472 if (this_._internal_consecutive_slots_count() != 0) {
2473 target =
2474 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
2475 stream, this_._internal_consecutive_slots_count(), target);
2476 }
2477 }
2478
2479 // repeated int32 teacher_indices = 6;
2480 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2481 {
2482 int byte_size = this_._impl_._teacher_indices_cached_byte_size_.Get();
2483 if (byte_size > 0) {
2484 target = stream->WriteInt32Packed(
2485 6, this_._internal_teacher_indices(), byte_size, target);
2486 }
2487 }
2488 }
2489
2490 // repeated int32 teacher_section_counts = 7;
2491 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2492 {
2493 int byte_size = this_._impl_._teacher_section_counts_cached_byte_size_.Get();
2494 if (byte_size > 0) {
2495 target = stream->WriteInt32Packed(
2496 7, this_._internal_teacher_section_counts(), byte_size, target);
2497 }
2498 }
2499 }
2500
2501 // repeated int32 room_indices = 8;
2502 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
2503 {
2504 int byte_size = this_._impl_._room_indices_cached_byte_size_.Get();
2505 if (byte_size > 0) {
2506 target = stream->WriteInt32Packed(
2507 8, this_._internal_room_indices(), byte_size, target);
2508 }
2509 }
2510 }
2511
2512 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2513 target =
2514 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2515 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2516 }
2517 // @@protoc_insertion_point(serialize_to_array_end:operations_research.Course)
2518 return target;
2519}
2520
2521#if defined(PROTOBUF_CUSTOM_VTABLE)
2522::size_t Course::ByteSizeLong(const MessageLite& base) {
2523 const Course& this_ = static_cast<const Course&>(base);
2524#else // PROTOBUF_CUSTOM_VTABLE
2525::size_t Course::ByteSizeLong() const {
2526 const Course& this_ = *this;
2527#endif // PROTOBUF_CUSTOM_VTABLE
2528 // @@protoc_insertion_point(message_byte_size_start:operations_research.Course)
2529 ::size_t total_size = 0;
2531 ::uint32_t cached_has_bits = 0;
2532 // Prevent compiler warnings about cached_has_bits being unused
2533 (void)cached_has_bits;
2534
2535 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2536 cached_has_bits = this_._impl_._has_bits_[0];
2537 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
2538 // repeated int32 teacher_indices = 6;
2539 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2540 total_size +=
2541 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2542 this_._internal_teacher_indices(), 1,
2543 this_._impl_._teacher_indices_cached_byte_size_);
2544 }
2545 // repeated int32 teacher_section_counts = 7;
2546 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2547 total_size +=
2548 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2549 this_._internal_teacher_section_counts(), 1,
2550 this_._impl_._teacher_section_counts_cached_byte_size_);
2551 }
2552 // repeated int32 room_indices = 8;
2553 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
2554 total_size +=
2555 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2556 this_._internal_room_indices(), 1,
2557 this_._impl_._room_indices_cached_byte_size_);
2558 }
2559 // string display_name = 1;
2560 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2561 if (!this_._internal_display_name().empty()) {
2562 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
2563 this_._internal_display_name());
2564 }
2565 }
2566 // int32 meetings_count = 2;
2567 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2568 if (this_._internal_meetings_count() != 0) {
2569 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2570 this_._internal_meetings_count());
2571 }
2572 }
2573 // int32 max_capacity = 3;
2574 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2575 if (this_._internal_max_capacity() != 0) {
2576 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2577 this_._internal_max_capacity());
2578 }
2579 }
2580 // int32 min_capacity = 4;
2581 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2582 if (this_._internal_min_capacity() != 0) {
2583 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2584 this_._internal_min_capacity());
2585 }
2586 }
2587 // int32 consecutive_slots_count = 5;
2588 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
2589 if (this_._internal_consecutive_slots_count() != 0) {
2590 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2591 this_._internal_consecutive_slots_count());
2592 }
2593 }
2594 }
2595 return this_.MaybeComputeUnknownFieldsSize(total_size,
2596 &this_._impl_._cached_size_);
2597}
2598
2599void Course::MergeImpl(::google::protobuf::MessageLite& to_msg,
2600 const ::google::protobuf::MessageLite& from_msg) {
2601 auto* const _this =
2602 static_cast<Course*>(&to_msg);
2603 auto& from = static_cast<const Course&>(from_msg);
2604 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2605 from.CheckHasBitConsistency();
2606 }
2607 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Course)
2608 ABSL_DCHECK_NE(&from, _this);
2609 ::uint32_t cached_has_bits = 0;
2610 (void)cached_has_bits;
2611
2612 cached_has_bits = from._impl_._has_bits_[0];
2613 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
2614 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2615 _this->_internal_mutable_teacher_indices()->MergeFrom(from._internal_teacher_indices());
2616 }
2617 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2618 _this->_internal_mutable_teacher_section_counts()->MergeFrom(from._internal_teacher_section_counts());
2619 }
2620 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
2621 _this->_internal_mutable_room_indices()->MergeFrom(from._internal_room_indices());
2622 }
2623 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2624 if (!from._internal_display_name().empty()) {
2625 _this->_internal_set_display_name(from._internal_display_name());
2626 } else {
2627 if (_this->_impl_.display_name_.IsDefault()) {
2628 _this->_internal_set_display_name("");
2629 }
2630 }
2631 }
2632 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2633 if (from._internal_meetings_count() != 0) {
2634 _this->_impl_.meetings_count_ = from._impl_.meetings_count_;
2635 }
2636 }
2637 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2638 if (from._internal_max_capacity() != 0) {
2639 _this->_impl_.max_capacity_ = from._impl_.max_capacity_;
2640 }
2641 }
2642 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2643 if (from._internal_min_capacity() != 0) {
2644 _this->_impl_.min_capacity_ = from._impl_.min_capacity_;
2645 }
2646 }
2647 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
2648 if (from._internal_consecutive_slots_count() != 0) {
2649 _this->_impl_.consecutive_slots_count_ = from._impl_.consecutive_slots_count_;
2650 }
2651 }
2652 }
2653 _this->_impl_._has_bits_[0] |= cached_has_bits;
2654 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2655 from._internal_metadata_);
2656}
2657
2658void Course::CopyFrom(const Course& from) {
2659 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Course)
2660 if (&from == this) return;
2661 Clear();
2662 MergeFrom(from);
2664
2665
2666void Course::InternalSwap(Course* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2667 using ::std::swap;
2668 auto* arena = GetArena();
2669 ABSL_DCHECK_EQ(arena, other->GetArena());
2670 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2671 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2672 _impl_.teacher_indices_.InternalSwap(&other->_impl_.teacher_indices_);
2673 _impl_.teacher_section_counts_.InternalSwap(&other->_impl_.teacher_section_counts_);
2674 _impl_.room_indices_.InternalSwap(&other->_impl_.room_indices_);
2675 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
2676 ::google::protobuf::internal::memswap<
2677 PROTOBUF_FIELD_OFFSET(Course, _impl_.consecutive_slots_count_)
2678 + sizeof(Course::_impl_.consecutive_slots_count_)
2679 - PROTOBUF_FIELD_OFFSET(Course, _impl_.meetings_count_)>(
2680 reinterpret_cast<char*>(&_impl_.meetings_count_),
2681 reinterpret_cast<char*>(&other->_impl_.meetings_count_));
2682}
2683
2684::google::protobuf::Metadata Course::GetMetadata() const {
2685 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2686}
2687// ===================================================================
2688
2690 public:
2691 using HasBits =
2692 decltype(::std::declval<Teacher>()._impl_._has_bits_);
2693 static constexpr ::int32_t kHasBitsOffset =
2694 8 * PROTOBUF_FIELD_OFFSET(Teacher, _impl_._has_bits_);
2696
2697Teacher::Teacher(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2698#if defined(PROTOBUF_CUSTOM_VTABLE)
2699 : ::google::protobuf::Message(arena, Teacher_class_data_.base()) {
2700#else // PROTOBUF_CUSTOM_VTABLE
2701 : ::google::protobuf::Message(arena) {
2702#endif // PROTOBUF_CUSTOM_VTABLE
2703 SharedCtor(arena);
2704 // @@protoc_insertion_point(arena_constructor:operations_research.Teacher)
2705}
2706PROTOBUF_NDEBUG_INLINE Teacher::Impl_::Impl_(
2707 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2708 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2709 [[maybe_unused]] const ::operations_research::Teacher& from_msg)
2710 : _has_bits_{from._has_bits_},
2711 _cached_size_{0},
2712 restricted_time_slots_{visibility, arena, from.restricted_time_slots_},
2713 _restricted_time_slots_cached_byte_size_{0},
2714 display_name_(arena, from.display_name_) {}
2715
2717 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2718 const Teacher& from)
2719#if defined(PROTOBUF_CUSTOM_VTABLE)
2720 : ::google::protobuf::Message(arena, Teacher_class_data_.base()) {
2721#else // PROTOBUF_CUSTOM_VTABLE
2722 : ::google::protobuf::Message(arena) {
2723#endif // PROTOBUF_CUSTOM_VTABLE
2724 Teacher* const _this = this;
2725 (void)_this;
2726 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2727 from._internal_metadata_);
2728 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2729
2730 // @@protoc_insertion_point(copy_constructor:operations_research.Teacher)
2731}
2732PROTOBUF_NDEBUG_INLINE Teacher::Impl_::Impl_(
2733 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2734 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2735 : _cached_size_{0},
2736 restricted_time_slots_{visibility, arena},
2737 _restricted_time_slots_cached_byte_size_{0},
2738 display_name_(arena) {}
2739
2740inline void Teacher::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2741 new (&_impl_) Impl_(internal_visibility(), arena);
2742}
2744 // @@protoc_insertion_point(destructor:operations_research.Teacher)
2745 SharedDtor(*this);
2746}
2747inline void Teacher::SharedDtor(MessageLite& self) {
2748 Teacher& this_ = static_cast<Teacher&>(self);
2749 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2750 this_.CheckHasBitConsistency();
2751 }
2752 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2753 ABSL_DCHECK(this_.GetArena() == nullptr);
2754 this_._impl_.display_name_.Destroy();
2755 this_._impl_.~Impl_();
2756}
2757
2758inline void* PROTOBUF_NONNULL Teacher::PlacementNew_(
2759 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2760 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2761 return ::new (mem) Teacher(arena);
2762}
2763constexpr auto Teacher::InternalNewImpl_() {
2764 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2765 PROTOBUF_FIELD_OFFSET(Teacher, _impl_.restricted_time_slots_) +
2766 decltype(Teacher::_impl_.restricted_time_slots_)::
2767 InternalGetArenaOffset(
2768 ::google::protobuf::Message::internal_visibility()),
2769 });
2770 if (arena_bits.has_value()) {
2771 return ::google::protobuf::internal::MessageCreator::CopyInit(
2772 sizeof(Teacher), alignof(Teacher), *arena_bits);
2773 } else {
2774 return ::google::protobuf::internal::MessageCreator(&Teacher::PlacementNew_,
2775 sizeof(Teacher),
2776 alignof(Teacher));
2777 }
2778}
2779constexpr auto Teacher::InternalGenerateClassData_() {
2780 return ::google::protobuf::internal::ClassDataFull{
2781 ::google::protobuf::internal::ClassData{
2783 &_table_.header,
2784 nullptr, // OnDemandRegisterArenaDtor
2785 nullptr, // IsInitialized
2786 &Teacher::MergeImpl,
2787 ::google::protobuf::Message::GetNewImpl<Teacher>(),
2788#if defined(PROTOBUF_CUSTOM_VTABLE)
2789 &Teacher::SharedDtor,
2790 ::google::protobuf::Message::GetClearImpl<Teacher>(), &Teacher::ByteSizeLong,
2792#endif // PROTOBUF_CUSTOM_VTABLE
2793 PROTOBUF_FIELD_OFFSET(Teacher, _impl_._cached_size_),
2794 false,
2795 },
2796 &Teacher::kDescriptorMethods,
2798 nullptr, // tracker
2799 };
2800}
2801
2802PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2803 ::google::protobuf::internal::ClassDataFull Teacher_class_data_ =
2805
2806PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2807Teacher::GetClassData() const {
2808 ::google::protobuf::internal::PrefetchToLocalCache(&Teacher_class_data_);
2809 ::google::protobuf::internal::PrefetchToLocalCache(Teacher_class_data_.tc_table);
2810 return Teacher_class_data_.base();
2811}
2812PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2813const ::_pbi::TcParseTable<1, 2, 0, 48, 2>
2814Teacher::_table_ = {
2815 {
2816 PROTOBUF_FIELD_OFFSET(Teacher, _impl_._has_bits_),
2817 0, // no _extensions_
2818 2, 8, // max_field_number, fast_idx_mask
2819 offsetof(decltype(_table_), field_lookup_table),
2820 4294967292, // skipmap
2821 offsetof(decltype(_table_), field_entries),
2822 2, // num_field_entries
2823 0, // num_aux_entries
2824 offsetof(decltype(_table_), field_names), // no aux_entries
2825 Teacher_class_data_.base(),
2826 nullptr, // post_loop_handler
2827 ::_pbi::TcParser::GenericFallback, // fallback
2828 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2829 ::_pbi::TcParser::GetTable<::operations_research::Teacher>(), // to_prefetch
2830 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2831 }, {{
2832 // repeated int32 restricted_time_slots = 2;
2833 {::_pbi::TcParser::FastV32P1,
2834 {18, 0, 0,
2835 PROTOBUF_FIELD_OFFSET(Teacher, _impl_.restricted_time_slots_)}},
2836 // string display_name = 1;
2837 {::_pbi::TcParser::FastUS1,
2838 {10, 1, 0,
2839 PROTOBUF_FIELD_OFFSET(Teacher, _impl_.display_name_)}},
2840 }}, {{
2841 65535, 65535
2842 }}, {{
2843 // string display_name = 1;
2844 {PROTOBUF_FIELD_OFFSET(Teacher, _impl_.display_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
2845 // repeated int32 restricted_time_slots = 2;
2846 {PROTOBUF_FIELD_OFFSET(Teacher, _impl_.restricted_time_slots_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2847 }},
2848 // no aux_entries
2849 {{
2850 "\33\14\0\0\0\0\0\0"
2851 "operations_research.Teacher"
2852 "display_name"
2853 }},
2854};
2855PROTOBUF_NOINLINE void Teacher::Clear() {
2856// @@protoc_insertion_point(message_clear_start:operations_research.Teacher)
2857 ::google::protobuf::internal::TSanWrite(&_impl_);
2858 ::uint32_t cached_has_bits = 0;
2859 // Prevent compiler warnings about cached_has_bits being unused
2860 (void) cached_has_bits;
2862 cached_has_bits = _impl_._has_bits_[0];
2863 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2864 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2865 _impl_.restricted_time_slots_.Clear();
2866 }
2867 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2868 _impl_.display_name_.ClearNonDefaultToEmpty();
2869 }
2870 }
2871 _impl_._has_bits_.Clear();
2872 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2873}
2874
2875#if defined(PROTOBUF_CUSTOM_VTABLE)
2876::uint8_t* PROTOBUF_NONNULL Teacher::_InternalSerialize(
2877 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2878 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2879 const Teacher& this_ = static_cast<const Teacher&>(base);
2880#else // PROTOBUF_CUSTOM_VTABLE
2881::uint8_t* PROTOBUF_NONNULL Teacher::_InternalSerialize(
2882 ::uint8_t* PROTOBUF_NONNULL target,
2883 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2884 const Teacher& this_ = *this;
2885#endif // PROTOBUF_CUSTOM_VTABLE
2886 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2887 this_.CheckHasBitConsistency();
2888 }
2889 // @@protoc_insertion_point(serialize_to_array_start:operations_research.Teacher)
2890 ::uint32_t cached_has_bits = 0;
2891 (void)cached_has_bits;
2892
2893 cached_has_bits = this_._impl_._has_bits_[0];
2894 // string display_name = 1;
2895 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2896 if (!this_._internal_display_name().empty()) {
2897 const ::std::string& _s = this_._internal_display_name();
2898 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
2899 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.Teacher.display_name");
2900 target = stream->WriteStringMaybeAliased(1, _s, target);
2901 }
2902 }
2903
2904 // repeated int32 restricted_time_slots = 2;
2905 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2906 {
2907 int byte_size = this_._impl_._restricted_time_slots_cached_byte_size_.Get();
2908 if (byte_size > 0) {
2909 target = stream->WriteInt32Packed(
2910 2, this_._internal_restricted_time_slots(), byte_size, target);
2911 }
2912 }
2913 }
2914
2915 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2916 target =
2917 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2918 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2919 }
2920 // @@protoc_insertion_point(serialize_to_array_end:operations_research.Teacher)
2921 return target;
2922}
2923
2924#if defined(PROTOBUF_CUSTOM_VTABLE)
2925::size_t Teacher::ByteSizeLong(const MessageLite& base) {
2926 const Teacher& this_ = static_cast<const Teacher&>(base);
2927#else // PROTOBUF_CUSTOM_VTABLE
2928::size_t Teacher::ByteSizeLong() const {
2929 const Teacher& this_ = *this;
2930#endif // PROTOBUF_CUSTOM_VTABLE
2931 // @@protoc_insertion_point(message_byte_size_start:operations_research.Teacher)
2932 ::size_t total_size = 0;
2933
2934 ::uint32_t cached_has_bits = 0;
2935 // Prevent compiler warnings about cached_has_bits being unused
2936 (void)cached_has_bits;
2937
2938 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2939 cached_has_bits = this_._impl_._has_bits_[0];
2940 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2941 // repeated int32 restricted_time_slots = 2;
2942 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2943 total_size +=
2944 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2945 this_._internal_restricted_time_slots(), 1,
2946 this_._impl_._restricted_time_slots_cached_byte_size_);
2947 }
2948 // string display_name = 1;
2949 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2950 if (!this_._internal_display_name().empty()) {
2951 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
2952 this_._internal_display_name());
2953 }
2954 }
2955 }
2956 return this_.MaybeComputeUnknownFieldsSize(total_size,
2957 &this_._impl_._cached_size_);
2958}
2959
2960void Teacher::MergeImpl(::google::protobuf::MessageLite& to_msg,
2961 const ::google::protobuf::MessageLite& from_msg) {
2962 auto* const _this =
2963 static_cast<Teacher*>(&to_msg);
2964 auto& from = static_cast<const Teacher&>(from_msg);
2965 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2966 from.CheckHasBitConsistency();
2967 }
2968 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Teacher)
2969 ABSL_DCHECK_NE(&from, _this);
2970 ::uint32_t cached_has_bits = 0;
2971 (void)cached_has_bits;
2972
2973 cached_has_bits = from._impl_._has_bits_[0];
2974 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2975 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2976 _this->_internal_mutable_restricted_time_slots()->MergeFrom(from._internal_restricted_time_slots());
2977 }
2978 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2979 if (!from._internal_display_name().empty()) {
2980 _this->_internal_set_display_name(from._internal_display_name());
2981 } else {
2982 if (_this->_impl_.display_name_.IsDefault()) {
2983 _this->_internal_set_display_name("");
2984 }
2985 }
2986 }
2987 }
2988 _this->_impl_._has_bits_[0] |= cached_has_bits;
2989 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2990 from._internal_metadata_);
2991}
2992
2993void Teacher::CopyFrom(const Teacher& from) {
2994 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Teacher)
2995 if (&from == this) return;
2996 Clear();
2997 MergeFrom(from);
2998}
3000
3001void Teacher::InternalSwap(Teacher* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3002 using ::std::swap;
3003 auto* arena = GetArena();
3004 ABSL_DCHECK_EQ(arena, other->GetArena());
3005 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3006 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3007 _impl_.restricted_time_slots_.InternalSwap(&other->_impl_.restricted_time_slots_);
3008 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
3009}
3010
3011::google::protobuf::Metadata Teacher::GetMetadata() const {
3012 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3013}
3014// ===================================================================
3015
3016class Student::_Internal {
3017 public:
3018 using HasBits =
3019 decltype(::std::declval<Student>()._impl_._has_bits_);
3020 static constexpr ::int32_t kHasBitsOffset =
3021 8 * PROTOBUF_FIELD_OFFSET(Student, _impl_._has_bits_);
3022};
3024Student::Student(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3025#if defined(PROTOBUF_CUSTOM_VTABLE)
3026 : ::google::protobuf::Message(arena, Student_class_data_.base()) {
3027#else // PROTOBUF_CUSTOM_VTABLE
3028 : ::google::protobuf::Message(arena) {
3029#endif // PROTOBUF_CUSTOM_VTABLE
3030 SharedCtor(arena);
3031 // @@protoc_insertion_point(arena_constructor:operations_research.Student)
3032}
3033PROTOBUF_NDEBUG_INLINE Student::Impl_::Impl_(
3034 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3035 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3036 [[maybe_unused]] const ::operations_research::Student& from_msg)
3037 : _has_bits_{from._has_bits_},
3038 _cached_size_{0},
3039 course_indices_{visibility, arena, from.course_indices_},
3040 _course_indices_cached_byte_size_{0},
3041 display_name_(arena, from.display_name_) {}
3042
3044 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3045 const Student& from)
3046#if defined(PROTOBUF_CUSTOM_VTABLE)
3047 : ::google::protobuf::Message(arena, Student_class_data_.base()) {
3048#else // PROTOBUF_CUSTOM_VTABLE
3049 : ::google::protobuf::Message(arena) {
3050#endif // PROTOBUF_CUSTOM_VTABLE
3051 Student* const _this = this;
3052 (void)_this;
3053 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3054 from._internal_metadata_);
3055 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
3056
3057 // @@protoc_insertion_point(copy_constructor:operations_research.Student)
3058}
3059PROTOBUF_NDEBUG_INLINE Student::Impl_::Impl_(
3060 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3061 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3062 : _cached_size_{0},
3063 course_indices_{visibility, arena},
3064 _course_indices_cached_byte_size_{0},
3065 display_name_(arena) {}
3066
3067inline void Student::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3068 new (&_impl_) Impl_(internal_visibility(), arena);
3069}
3071 // @@protoc_insertion_point(destructor:operations_research.Student)
3072 SharedDtor(*this);
3073}
3074inline void Student::SharedDtor(MessageLite& self) {
3075 Student& this_ = static_cast<Student&>(self);
3076 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3077 this_.CheckHasBitConsistency();
3078 }
3079 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3080 ABSL_DCHECK(this_.GetArena() == nullptr);
3081 this_._impl_.display_name_.Destroy();
3082 this_._impl_.~Impl_();
3083}
3084
3085inline void* PROTOBUF_NONNULL Student::PlacementNew_(
3086 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3087 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3088 return ::new (mem) Student(arena);
3089}
3090constexpr auto Student::InternalNewImpl_() {
3091 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
3092 PROTOBUF_FIELD_OFFSET(Student, _impl_.course_indices_) +
3093 decltype(Student::_impl_.course_indices_)::
3094 InternalGetArenaOffset(
3095 ::google::protobuf::Message::internal_visibility()),
3096 });
3097 if (arena_bits.has_value()) {
3098 return ::google::protobuf::internal::MessageCreator::CopyInit(
3099 sizeof(Student), alignof(Student), *arena_bits);
3100 } else {
3101 return ::google::protobuf::internal::MessageCreator(&Student::PlacementNew_,
3102 sizeof(Student),
3103 alignof(Student));
3104 }
3105}
3106constexpr auto Student::InternalGenerateClassData_() {
3107 return ::google::protobuf::internal::ClassDataFull{
3108 ::google::protobuf::internal::ClassData{
3110 &_table_.header,
3111 nullptr, // OnDemandRegisterArenaDtor
3112 nullptr, // IsInitialized
3113 &Student::MergeImpl,
3114 ::google::protobuf::Message::GetNewImpl<Student>(),
3115#if defined(PROTOBUF_CUSTOM_VTABLE)
3116 &Student::SharedDtor,
3117 ::google::protobuf::Message::GetClearImpl<Student>(), &Student::ByteSizeLong,
3119#endif // PROTOBUF_CUSTOM_VTABLE
3120 PROTOBUF_FIELD_OFFSET(Student, _impl_._cached_size_),
3121 false,
3122 },
3123 &Student::kDescriptorMethods,
3125 nullptr, // tracker
3126 };
3127}
3128
3129PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3130 ::google::protobuf::internal::ClassDataFull Student_class_data_ =
3132
3133PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3134Student::GetClassData() const {
3135 ::google::protobuf::internal::PrefetchToLocalCache(&Student_class_data_);
3136 ::google::protobuf::internal::PrefetchToLocalCache(Student_class_data_.tc_table);
3137 return Student_class_data_.base();
3138}
3139PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3140const ::_pbi::TcParseTable<1, 2, 0, 48, 2>
3141Student::_table_ = {
3142 {
3143 PROTOBUF_FIELD_OFFSET(Student, _impl_._has_bits_),
3144 0, // no _extensions_
3145 2, 8, // max_field_number, fast_idx_mask
3146 offsetof(decltype(_table_), field_lookup_table),
3147 4294967292, // skipmap
3148 offsetof(decltype(_table_), field_entries),
3149 2, // num_field_entries
3150 0, // num_aux_entries
3151 offsetof(decltype(_table_), field_names), // no aux_entries
3152 Student_class_data_.base(),
3153 nullptr, // post_loop_handler
3154 ::_pbi::TcParser::GenericFallback, // fallback
3155 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3156 ::_pbi::TcParser::GetTable<::operations_research::Student>(), // to_prefetch
3157 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3158 }, {{
3159 // repeated int32 course_indices = 2;
3160 {::_pbi::TcParser::FastV32P1,
3161 {18, 0, 0,
3162 PROTOBUF_FIELD_OFFSET(Student, _impl_.course_indices_)}},
3163 // string display_name = 1;
3164 {::_pbi::TcParser::FastUS1,
3165 {10, 1, 0,
3166 PROTOBUF_FIELD_OFFSET(Student, _impl_.display_name_)}},
3167 }}, {{
3168 65535, 65535
3169 }}, {{
3170 // string display_name = 1;
3171 {PROTOBUF_FIELD_OFFSET(Student, _impl_.display_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
3172 // repeated int32 course_indices = 2;
3173 {PROTOBUF_FIELD_OFFSET(Student, _impl_.course_indices_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
3174 }},
3175 // no aux_entries
3176 {{
3177 "\33\14\0\0\0\0\0\0"
3178 "operations_research.Student"
3179 "display_name"
3180 }},
3181};
3182PROTOBUF_NOINLINE void Student::Clear() {
3183// @@protoc_insertion_point(message_clear_start:operations_research.Student)
3184 ::google::protobuf::internal::TSanWrite(&_impl_);
3185 ::uint32_t cached_has_bits = 0;
3186 // Prevent compiler warnings about cached_has_bits being unused
3187 (void) cached_has_bits;
3188
3189 cached_has_bits = _impl_._has_bits_[0];
3190 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3191 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3192 _impl_.course_indices_.Clear();
3193 }
3194 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3195 _impl_.display_name_.ClearNonDefaultToEmpty();
3196 }
3197 }
3198 _impl_._has_bits_.Clear();
3199 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3200}
3201
3202#if defined(PROTOBUF_CUSTOM_VTABLE)
3203::uint8_t* PROTOBUF_NONNULL Student::_InternalSerialize(
3204 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3205 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3206 const Student& this_ = static_cast<const Student&>(base);
3207#else // PROTOBUF_CUSTOM_VTABLE
3208::uint8_t* PROTOBUF_NONNULL Student::_InternalSerialize(
3209 ::uint8_t* PROTOBUF_NONNULL target,
3210 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3211 const Student& this_ = *this;
3212#endif // PROTOBUF_CUSTOM_VTABLE
3213 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3214 this_.CheckHasBitConsistency();
3216 // @@protoc_insertion_point(serialize_to_array_start:operations_research.Student)
3217 ::uint32_t cached_has_bits = 0;
3218 (void)cached_has_bits;
3219
3220 cached_has_bits = this_._impl_._has_bits_[0];
3221 // string display_name = 1;
3222 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3223 if (!this_._internal_display_name().empty()) {
3224 const ::std::string& _s = this_._internal_display_name();
3225 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
3226 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.Student.display_name");
3227 target = stream->WriteStringMaybeAliased(1, _s, target);
3228 }
3229 }
3230
3231 // repeated int32 course_indices = 2;
3232 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3233 {
3234 int byte_size = this_._impl_._course_indices_cached_byte_size_.Get();
3235 if (byte_size > 0) {
3236 target = stream->WriteInt32Packed(
3237 2, this_._internal_course_indices(), byte_size, target);
3238 }
3239 }
3240 }
3241
3242 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3243 target =
3244 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3245 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3246 }
3247 // @@protoc_insertion_point(serialize_to_array_end:operations_research.Student)
3248 return target;
3249}
3250
3251#if defined(PROTOBUF_CUSTOM_VTABLE)
3252::size_t Student::ByteSizeLong(const MessageLite& base) {
3253 const Student& this_ = static_cast<const Student&>(base);
3254#else // PROTOBUF_CUSTOM_VTABLE
3255::size_t Student::ByteSizeLong() const {
3256 const Student& this_ = *this;
3257#endif // PROTOBUF_CUSTOM_VTABLE
3258 // @@protoc_insertion_point(message_byte_size_start:operations_research.Student)
3259 ::size_t total_size = 0;
3260
3261 ::uint32_t cached_has_bits = 0;
3262 // Prevent compiler warnings about cached_has_bits being unused
3263 (void)cached_has_bits;
3264
3265 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3266 cached_has_bits = this_._impl_._has_bits_[0];
3267 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3268 // repeated int32 course_indices = 2;
3269 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3270 total_size +=
3271 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
3272 this_._internal_course_indices(), 1,
3273 this_._impl_._course_indices_cached_byte_size_);
3274 }
3275 // string display_name = 1;
3276 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3277 if (!this_._internal_display_name().empty()) {
3278 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
3279 this_._internal_display_name());
3280 }
3281 }
3282 }
3283 return this_.MaybeComputeUnknownFieldsSize(total_size,
3284 &this_._impl_._cached_size_);
3285}
3286
3287void Student::MergeImpl(::google::protobuf::MessageLite& to_msg,
3288 const ::google::protobuf::MessageLite& from_msg) {
3289 auto* const _this =
3290 static_cast<Student*>(&to_msg);
3291 auto& from = static_cast<const Student&>(from_msg);
3292 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3293 from.CheckHasBitConsistency();
3294 }
3295 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Student)
3296 ABSL_DCHECK_NE(&from, _this);
3297 ::uint32_t cached_has_bits = 0;
3298 (void)cached_has_bits;
3299
3300 cached_has_bits = from._impl_._has_bits_[0];
3301 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3302 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3303 _this->_internal_mutable_course_indices()->MergeFrom(from._internal_course_indices());
3304 }
3305 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3306 if (!from._internal_display_name().empty()) {
3307 _this->_internal_set_display_name(from._internal_display_name());
3308 } else {
3309 if (_this->_impl_.display_name_.IsDefault()) {
3310 _this->_internal_set_display_name("");
3311 }
3312 }
3313 }
3314 }
3315 _this->_impl_._has_bits_[0] |= cached_has_bits;
3316 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3317 from._internal_metadata_);
3318}
3319
3320void Student::CopyFrom(const Student& from) {
3321 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Student)
3322 if (&from == this) return;
3323 Clear();
3324 MergeFrom(from);
3325}
3326
3328void Student::InternalSwap(Student* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3329 using ::std::swap;
3330 auto* arena = GetArena();
3331 ABSL_DCHECK_EQ(arena, other->GetArena());
3332 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3333 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3334 _impl_.course_indices_.InternalSwap(&other->_impl_.course_indices_);
3335 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
3336}
3337
3338::google::protobuf::Metadata Student::GetMetadata() const {
3339 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3340}
3341// ===================================================================
3342
3343class Room::_Internal {
3344 public:
3345 using HasBits =
3346 decltype(::std::declval<Room>()._impl_._has_bits_);
3347 static constexpr ::int32_t kHasBitsOffset =
3348 8 * PROTOBUF_FIELD_OFFSET(Room, _impl_._has_bits_);
3349};
3350
3351Room::Room(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3352#if defined(PROTOBUF_CUSTOM_VTABLE)
3353 : ::google::protobuf::Message(arena, Room_class_data_.base()) {
3354#else // PROTOBUF_CUSTOM_VTABLE
3355 : ::google::protobuf::Message(arena) {
3356#endif // PROTOBUF_CUSTOM_VTABLE
3357 SharedCtor(arena);
3358 // @@protoc_insertion_point(arena_constructor:operations_research.Room)
3359}
3360PROTOBUF_NDEBUG_INLINE Room::Impl_::Impl_(
3361 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3362 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3363 [[maybe_unused]] const ::operations_research::Room& from_msg)
3364 : _has_bits_{from._has_bits_},
3365 _cached_size_{0},
3366 display_name_(arena, from.display_name_) {}
3367
3369 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3370 const Room& from)
3371#if defined(PROTOBUF_CUSTOM_VTABLE)
3372 : ::google::protobuf::Message(arena, Room_class_data_.base()) {
3373#else // PROTOBUF_CUSTOM_VTABLE
3374 : ::google::protobuf::Message(arena) {
3375#endif // PROTOBUF_CUSTOM_VTABLE
3376 Room* const _this = this;
3377 (void)_this;
3378 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3379 from._internal_metadata_);
3380 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
3381 _impl_.capacity_ = from._impl_.capacity_;
3382
3383 // @@protoc_insertion_point(copy_constructor:operations_research.Room)
3384}
3385PROTOBUF_NDEBUG_INLINE Room::Impl_::Impl_(
3386 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3387 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3388 : _cached_size_{0},
3389 display_name_(arena) {}
3390
3391inline void Room::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3392 new (&_impl_) Impl_(internal_visibility(), arena);
3393 _impl_.capacity_ = {};
3394}
3395Room::~Room() {
3396 // @@protoc_insertion_point(destructor:operations_research.Room)
3397 SharedDtor(*this);
3398}
3399inline void Room::SharedDtor(MessageLite& self) {
3400 Room& this_ = static_cast<Room&>(self);
3401 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3402 this_.CheckHasBitConsistency();
3404 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3405 ABSL_DCHECK(this_.GetArena() == nullptr);
3406 this_._impl_.display_name_.Destroy();
3407 this_._impl_.~Impl_();
3408}
3409
3410inline void* PROTOBUF_NONNULL Room::PlacementNew_(
3411 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3412 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3413 return ::new (mem) Room(arena);
3414}
3415constexpr auto Room::InternalNewImpl_() {
3416 return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Room),
3417 alignof(Room));
3418}
3419constexpr auto Room::InternalGenerateClassData_() {
3420 return ::google::protobuf::internal::ClassDataFull{
3421 ::google::protobuf::internal::ClassData{
3423 &_table_.header,
3424 nullptr, // OnDemandRegisterArenaDtor
3425 nullptr, // IsInitialized
3426 &Room::MergeImpl,
3427 ::google::protobuf::Message::GetNewImpl<Room>(),
3428#if defined(PROTOBUF_CUSTOM_VTABLE)
3429 &Room::SharedDtor,
3430 ::google::protobuf::Message::GetClearImpl<Room>(), &Room::ByteSizeLong,
3432#endif // PROTOBUF_CUSTOM_VTABLE
3433 PROTOBUF_FIELD_OFFSET(Room, _impl_._cached_size_),
3434 false,
3435 },
3436 &Room::kDescriptorMethods,
3438 nullptr, // tracker
3439 };
3440}
3441
3442PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3443 ::google::protobuf::internal::ClassDataFull Room_class_data_ =
3445
3446PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3447Room::GetClassData() const {
3448 ::google::protobuf::internal::PrefetchToLocalCache(&Room_class_data_);
3449 ::google::protobuf::internal::PrefetchToLocalCache(Room_class_data_.tc_table);
3450 return Room_class_data_.base();
3452PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3453const ::_pbi::TcParseTable<1, 2, 0, 45, 2>
3454Room::_table_ = {
3455 {
3456 PROTOBUF_FIELD_OFFSET(Room, _impl_._has_bits_),
3457 0, // no _extensions_
3458 2, 8, // max_field_number, fast_idx_mask
3459 offsetof(decltype(_table_), field_lookup_table),
3460 4294967292, // skipmap
3461 offsetof(decltype(_table_), field_entries),
3462 2, // num_field_entries
3463 0, // num_aux_entries
3464 offsetof(decltype(_table_), field_names), // no aux_entries
3465 Room_class_data_.base(),
3466 nullptr, // post_loop_handler
3467 ::_pbi::TcParser::GenericFallback, // fallback
3468 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3469 ::_pbi::TcParser::GetTable<::operations_research::Room>(), // to_prefetch
3470 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3471 }, {{
3472 // int32 capacity = 2;
3473 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Room, _impl_.capacity_), 1>(),
3474 {16, 1, 0,
3475 PROTOBUF_FIELD_OFFSET(Room, _impl_.capacity_)}},
3476 // string display_name = 1;
3477 {::_pbi::TcParser::FastUS1,
3478 {10, 0, 0,
3479 PROTOBUF_FIELD_OFFSET(Room, _impl_.display_name_)}},
3480 }}, {{
3481 65535, 65535
3482 }}, {{
3483 // string display_name = 1;
3484 {PROTOBUF_FIELD_OFFSET(Room, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
3485 // int32 capacity = 2;
3486 {PROTOBUF_FIELD_OFFSET(Room, _impl_.capacity_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
3487 }},
3488 // no aux_entries
3489 {{
3490 "\30\14\0\0\0\0\0\0"
3491 "operations_research.Room"
3492 "display_name"
3493 }},
3494};
3495PROTOBUF_NOINLINE void Room::Clear() {
3496// @@protoc_insertion_point(message_clear_start:operations_research.Room)
3497 ::google::protobuf::internal::TSanWrite(&_impl_);
3498 ::uint32_t cached_has_bits = 0;
3499 // Prevent compiler warnings about cached_has_bits being unused
3500 (void) cached_has_bits;
3501
3502 cached_has_bits = _impl_._has_bits_[0];
3503 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3504 _impl_.display_name_.ClearNonDefaultToEmpty();
3505 }
3506 _impl_.capacity_ = 0;
3507 _impl_._has_bits_.Clear();
3508 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3509}
3510
3511#if defined(PROTOBUF_CUSTOM_VTABLE)
3512::uint8_t* PROTOBUF_NONNULL Room::_InternalSerialize(
3513 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3514 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3515 const Room& this_ = static_cast<const Room&>(base);
3516#else // PROTOBUF_CUSTOM_VTABLE
3517::uint8_t* PROTOBUF_NONNULL Room::_InternalSerialize(
3518 ::uint8_t* PROTOBUF_NONNULL target,
3519 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3520 const Room& this_ = *this;
3521#endif // PROTOBUF_CUSTOM_VTABLE
3522 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3523 this_.CheckHasBitConsistency();
3524 }
3525 // @@protoc_insertion_point(serialize_to_array_start:operations_research.Room)
3526 ::uint32_t cached_has_bits = 0;
3527 (void)cached_has_bits;
3528
3529 cached_has_bits = this_._impl_._has_bits_[0];
3530 // string display_name = 1;
3531 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3532 if (!this_._internal_display_name().empty()) {
3533 const ::std::string& _s = this_._internal_display_name();
3534 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
3535 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.Room.display_name");
3536 target = stream->WriteStringMaybeAliased(1, _s, target);
3537 }
3538 }
3539
3540 // int32 capacity = 2;
3541 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3542 if (this_._internal_capacity() != 0) {
3543 target =
3544 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
3545 stream, this_._internal_capacity(), target);
3546 }
3547 }
3548
3549 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3550 target =
3551 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3552 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3553 }
3554 // @@protoc_insertion_point(serialize_to_array_end:operations_research.Room)
3555 return target;
3556}
3557
3558#if defined(PROTOBUF_CUSTOM_VTABLE)
3559::size_t Room::ByteSizeLong(const MessageLite& base) {
3560 const Room& this_ = static_cast<const Room&>(base);
3561#else // PROTOBUF_CUSTOM_VTABLE
3562::size_t Room::ByteSizeLong() const {
3563 const Room& this_ = *this;
3564#endif // PROTOBUF_CUSTOM_VTABLE
3565 // @@protoc_insertion_point(message_byte_size_start:operations_research.Room)
3566 ::size_t total_size = 0;
3567
3568 ::uint32_t cached_has_bits = 0;
3569 // Prevent compiler warnings about cached_has_bits being unused
3570 (void)cached_has_bits;
3571
3572 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3573 cached_has_bits = this_._impl_._has_bits_[0];
3574 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3575 // string display_name = 1;
3576 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3577 if (!this_._internal_display_name().empty()) {
3578 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
3579 this_._internal_display_name());
3580 }
3581 }
3582 // int32 capacity = 2;
3583 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3584 if (this_._internal_capacity() != 0) {
3585 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3586 this_._internal_capacity());
3587 }
3588 }
3589 }
3590 return this_.MaybeComputeUnknownFieldsSize(total_size,
3591 &this_._impl_._cached_size_);
3592}
3593
3594void Room::MergeImpl(::google::protobuf::MessageLite& to_msg,
3595 const ::google::protobuf::MessageLite& from_msg) {
3596 auto* const _this =
3597 static_cast<Room*>(&to_msg);
3598 auto& from = static_cast<const Room&>(from_msg);
3599 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3600 from.CheckHasBitConsistency();
3601 }
3602 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Room)
3603 ABSL_DCHECK_NE(&from, _this);
3604 ::uint32_t cached_has_bits = 0;
3605 (void)cached_has_bits;
3606
3607 cached_has_bits = from._impl_._has_bits_[0];
3608 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3609 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3610 if (!from._internal_display_name().empty()) {
3611 _this->_internal_set_display_name(from._internal_display_name());
3612 } else {
3613 if (_this->_impl_.display_name_.IsDefault()) {
3614 _this->_internal_set_display_name("");
3615 }
3616 }
3617 }
3618 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3619 if (from._internal_capacity() != 0) {
3620 _this->_impl_.capacity_ = from._impl_.capacity_;
3621 }
3622 }
3623 }
3624 _this->_impl_._has_bits_[0] |= cached_has_bits;
3625 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3626 from._internal_metadata_);
3627}
3628
3629void Room::CopyFrom(const Room& from) {
3630 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Room)
3631 if (&from == this) return;
3632 Clear();
3633 MergeFrom(from);
3634}
3635
3636
3637void Room::InternalSwap(Room* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3638 using ::std::swap;
3639 auto* arena = GetArena();
3640 ABSL_DCHECK_EQ(arena, other->GetArena());
3641 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3642 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3643 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
3644 swap(_impl_.capacity_, other->_impl_.capacity_);
3645}
3646
3647::google::protobuf::Metadata Room::GetMetadata() const {
3648 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3649}
3650// @@protoc_insertion_point(namespace_scope)
3651} // namespace operations_research
3652namespace google {
3653namespace protobuf {
3654} // namespace protobuf
3655} // namespace google
3656// @@protoc_insertion_point(global_scope)
3657PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
3658 _static_init2_ [[maybe_unused]] =
3660 ::std::false_type{});
3661#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
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
void MergeFrom(const ClassAssignment &from)
decltype(::std::declval< CourseSchedulingModel >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
::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
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)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(CourseSchedulingResult &a, CourseSchedulingResult &b)
::google::protobuf::Metadata GetMetadata() const
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
void CopyFrom(const Course &from)
void MergeFrom(const Course &from)
friend class ::google::protobuf::MessageLite
static constexpr auto InternalGenerateClassData_()
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)
void MergeFrom(const Room &from)
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
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
::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
::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
static constexpr auto InternalGenerateClassData_()
void MergeFrom(const Teacher &from)
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)
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
OR-Tools root namespace.
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_