Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
course_scheduling.pb.h
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
6#ifndef ortools_2fscheduling_2fcourse_5fscheduling_2eproto_2epb_2eh
7#define ortools_2fscheduling_2fcourse_5fscheduling_2eproto_2epb_2eh
8
9#include <limits>
10#include <string>
11#include <type_traits>
12#include <utility>
13
14#include "google/protobuf/runtime_version.h"
15#if PROTOBUF_VERSION != 6033001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
19#endif
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_tctable_decl.h"
24#include "google/protobuf/generated_message_util.h"
25#include "google/protobuf/metadata_lite.h"
26#include "google/protobuf/generated_message_reflection.h"
27#include "google/protobuf/message.h"
28#include "google/protobuf/message_lite.h"
29#include "google/protobuf/repeated_field.h" // IWYU pragma: export
30#include "google/protobuf/extension_set.h" // IWYU pragma: export
31#include "google/protobuf/generated_enum_reflection.h"
32#include "google/protobuf/unknown_field_set.h"
33// @@protoc_insertion_point(includes)
34
35// Must be included last.
36#include "google/protobuf/port_def.inc"
37
38#define PROTOBUF_INTERNAL_EXPORT_ortools_2fscheduling_2fcourse_5fscheduling_2eproto OR_PROTO_DLL
39
40namespace google {
41namespace protobuf {
42namespace internal {
43template <typename T>
44::absl::string_view GetAnyMessageName();
45} // namespace internal
46} // namespace protobuf
47} // namespace google
48
49// Internal implementation detail -- do not use these members.
51 static const ::uint32_t offsets[];
52};
53extern "C" {
54OR_PROTO_DLL extern const ::google::protobuf::internal::DescriptorTable descriptor_table_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
55} // extern "C"
56namespace operations_research {
58OR_PROTO_DLL extern const uint32_t CourseSchedulingResultStatus_internal_data_[];
59class ClassAssignment;
62OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ClassAssignment_class_data_;
63class Course;
66OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull Course_class_data_;
70OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CourseSchedulingModel_class_data_;
74OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CourseSchedulingResult_class_data_;
75class Room;
78OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull Room_class_data_;
79class Student;
82OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull Student_class_data_;
86OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull StudentAssignment_class_data_;
87class Teacher;
90OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull Teacher_class_data_;
91} // namespace operations_research
92namespace google {
93namespace protobuf {
94template <>
95internal::EnumTraitsT<::operations_research::CourseSchedulingResultStatus_internal_data_>
96 internal::EnumTraitsImpl::value<::operations_research::CourseSchedulingResultStatus>;
97} // namespace protobuf
98} // namespace google
99
100namespace operations_research {
114
115OR_PROTO_DLL extern const uint32_t CourseSchedulingResultStatus_internal_data_[];
117 static_cast<CourseSchedulingResultStatus>(0);
119 static_cast<CourseSchedulingResultStatus>(6);
121 return 0 <= value && value <= 6;
122}
123inline constexpr int CourseSchedulingResultStatus_ARRAYSIZE = 6 + 1;
124OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CourseSchedulingResultStatus_descriptor();
125template <typename T>
126const ::std::string& CourseSchedulingResultStatus_Name(T value) {
127 static_assert(::std::is_same<T, CourseSchedulingResultStatus>::value ||
128 ::std::is_integral<T>::value,
129 "Incorrect type passed to CourseSchedulingResultStatus_Name().");
131}
132template <>
134 return ::google::protobuf::internal::NameOfDenseEnum<CourseSchedulingResultStatus_descriptor, 0, 6>(
135 static_cast<int>(value));
136}
138 ::absl::string_view name, CourseSchedulingResultStatus* PROTOBUF_NONNULL value) {
139 return ::google::protobuf::internal::ParseNamedEnum<CourseSchedulingResultStatus>(CourseSchedulingResultStatus_descriptor(), name,
140 value);
141}
142
143// ===================================================================
144
145
146// -------------------------------------------------------------------
147
148class OR_PROTO_DLL Teacher final : public ::google::protobuf::Message
149/* @@protoc_insertion_point(class_definition:operations_research.Teacher) */ {
150 public:
151 inline Teacher() : Teacher(nullptr) {}
152 ~Teacher() PROTOBUF_FINAL;
154#if defined(PROTOBUF_CUSTOM_VTABLE)
155 void operator delete(Teacher* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
156 SharedDtor(*msg);
157 ::google::protobuf::internal::SizedDelete(msg, sizeof(Teacher));
158 }
159#endif
160
161 template <typename = void>
162 explicit PROTOBUF_CONSTEXPR Teacher(::google::protobuf::internal::ConstantInitialized);
163
164 inline Teacher(const Teacher& from) : Teacher(nullptr, from) {}
165 inline Teacher(Teacher&& from) noexcept
166 : Teacher(nullptr, ::std::move(from)) {}
167 inline Teacher& operator=(const Teacher& from) {
168 CopyFrom(from);
169 return *this;
170 }
171 inline Teacher& operator=(Teacher&& from) noexcept {
172 if (this == &from) return *this;
173 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
174 InternalSwap(&from);
175 } else {
176 CopyFrom(from);
177 }
178 return *this;
179 }
180
181 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
182 ABSL_ATTRIBUTE_LIFETIME_BOUND {
183 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
184 }
185 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
186 ABSL_ATTRIBUTE_LIFETIME_BOUND {
187 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
188 }
189
190 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
191 return GetDescriptor();
193 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
194 return default_instance().GetMetadata().descriptor;
196 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
197 return default_instance().GetMetadata().reflection;
199 static const Teacher& default_instance() {
200 return *reinterpret_cast<const Teacher*>(
202 }
203 static constexpr int kIndexInFileMessages = 5;
204 friend void swap(Teacher& a, Teacher& b) { a.Swap(&b); }
205 inline void Swap(Teacher* PROTOBUF_NONNULL other) {
206 if (other == this) return;
207 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
208 InternalSwap(other);
209 } else {
210 ::google::protobuf::internal::GenericSwap(this, other);
211 }
212 }
213 void UnsafeArenaSwap(Teacher* PROTOBUF_NONNULL other) {
214 if (other == this) return;
215 ABSL_DCHECK(GetArena() == other->GetArena());
216 InternalSwap(other);
217 }
218
219 // implements Message ----------------------------------------------
220
221 Teacher* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
222 return ::google::protobuf::Message::DefaultConstruct<Teacher>(arena);
224 using ::google::protobuf::Message::CopyFrom;
225 void CopyFrom(const Teacher& from);
226 using ::google::protobuf::Message::MergeFrom;
227 void MergeFrom(const Teacher& from) { Teacher::MergeImpl(*this, from); }
228
229 private:
230 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
231 const ::google::protobuf::MessageLite& from_msg);
232
233 public:
234 bool IsInitialized() const {
235 return true;
237 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
238 #if defined(PROTOBUF_CUSTOM_VTABLE)
239 private:
240 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
241 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
242 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
243 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
244
245 public:
246 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
247 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
248 ::uint8_t* PROTOBUF_NONNULL target,
249 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
250 return _InternalSerialize(*this, target, stream);
251 }
252 #else // PROTOBUF_CUSTOM_VTABLE
253 ::size_t ByteSizeLong() const final;
254 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
255 ::uint8_t* PROTOBUF_NONNULL target,
256 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
257 #endif // PROTOBUF_CUSTOM_VTABLE
258 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
259
260 private:
261 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
262 static void SharedDtor(MessageLite& self);
263 void InternalSwap(Teacher* PROTOBUF_NONNULL other);
264 private:
265 template <typename T>
266 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
267 static ::absl::string_view FullMessageName() { return "operations_research.Teacher"; }
268
269 explicit Teacher(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
270 Teacher(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Teacher& from);
271 Teacher(
272 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Teacher&& from) noexcept
273 : Teacher(arena) {
274 *this = ::std::move(from);
275 }
276 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
277 static void* PROTOBUF_NONNULL PlacementNew_(
278 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
279 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
280 static constexpr auto InternalNewImpl_();
281
282 public:
283 static constexpr auto InternalGenerateClassData_();
284
285 ::google::protobuf::Metadata GetMetadata() const;
286 // nested types ----------------------------------------------------
287
288 // accessors -------------------------------------------------------
289 enum : int {
290 kRestrictedTimeSlotsFieldNumber = 2,
291 kDisplayNameFieldNumber = 1,
292 };
293 // repeated int32 restricted_time_slots = 2;
294 int restricted_time_slots_size() const;
295 private:
296 int _internal_restricted_time_slots_size() const;
297
298 public:
300 ::int32_t restricted_time_slots(int index) const;
301 void set_restricted_time_slots(int index, ::int32_t value);
302 void add_restricted_time_slots(::int32_t value);
303 const ::google::protobuf::RepeatedField<::int32_t>& restricted_time_slots() const;
304 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_restricted_time_slots();
305
306 private:
307 const ::google::protobuf::RepeatedField<::int32_t>& _internal_restricted_time_slots() const;
308 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_restricted_time_slots();
309
310 public:
311 // string display_name = 1;
312 void clear_display_name() ;
313 const ::std::string& display_name() const;
314 template <typename Arg_ = const ::std::string&, typename... Args_>
315 void set_display_name(Arg_&& arg, Args_... args);
316 ::std::string* PROTOBUF_NONNULL mutable_display_name();
317 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_display_name();
318 void set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value);
319
320 private:
321 const ::std::string& _internal_display_name() const;
322 PROTOBUF_ALWAYS_INLINE void _internal_set_display_name(const ::std::string& value);
323 ::std::string* PROTOBUF_NONNULL _internal_mutable_display_name();
324
325 public:
326 // @@protoc_insertion_point(class_scope:operations_research.Teacher)
327 private:
328 class _Internal;
329 friend class ::google::protobuf::internal::TcParser;
330 static const ::google::protobuf::internal::TcParseTable<1, 2,
331 0, 48,
332 2>
333 _table_;
334
335 friend class ::google::protobuf::MessageLite;
336 friend class ::google::protobuf::Arena;
337 template <typename T>
338 friend class ::google::protobuf::Arena::InternalHelper;
339 using InternalArenaConstructable_ = void;
340 using DestructorSkippable_ = void;
341 struct Impl_ {
342 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
343 inline explicit Impl_(
344 ::google::protobuf::internal::InternalVisibility visibility,
345 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
346 inline explicit Impl_(
347 ::google::protobuf::internal::InternalVisibility visibility,
348 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
349 const Teacher& from_msg);
350 ::google::protobuf::internal::HasBits<1> _has_bits_;
351 ::google::protobuf::internal::CachedSize _cached_size_;
352 ::google::protobuf::RepeatedField<::int32_t> restricted_time_slots_;
353 ::google::protobuf::internal::CachedSize _restricted_time_slots_cached_byte_size_;
354 ::google::protobuf::internal::ArenaStringPtr display_name_;
355 PROTOBUF_TSAN_DECLARE_MEMBER
356 };
357 union { Impl_ _impl_; };
358 friend struct ::TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
361OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull Teacher_class_data_;
362// -------------------------------------------------------------------
363
364class OR_PROTO_DLL StudentAssignment final : public ::google::protobuf::Message
365/* @@protoc_insertion_point(class_definition:operations_research.StudentAssignment) */ {
366 public:
368 ~StudentAssignment() PROTOBUF_FINAL;
369
370#if defined(PROTOBUF_CUSTOM_VTABLE)
371 void operator delete(StudentAssignment* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
372 SharedDtor(*msg);
373 ::google::protobuf::internal::SizedDelete(msg, sizeof(StudentAssignment));
374 }
375#endif
376
377 template <typename = void>
378 explicit PROTOBUF_CONSTEXPR StudentAssignment(::google::protobuf::internal::ConstantInitialized);
379
380 inline StudentAssignment(const StudentAssignment& from) : StudentAssignment(nullptr, from) {}
381 inline StudentAssignment(StudentAssignment&& from) noexcept
382 : StudentAssignment(nullptr, ::std::move(from)) {}
384 CopyFrom(from);
385 return *this;
387 inline StudentAssignment& operator=(StudentAssignment&& from) noexcept {
388 if (this == &from) return *this;
389 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
390 InternalSwap(&from);
391 } else {
392 CopyFrom(from);
393 }
394 return *this;
395 }
396
397 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
398 ABSL_ATTRIBUTE_LIFETIME_BOUND {
399 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
401 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
402 ABSL_ATTRIBUTE_LIFETIME_BOUND {
403 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
405
406 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
407 return GetDescriptor();
408 }
409 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
410 return default_instance().GetMetadata().descriptor;
411 }
412 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
413 return default_instance().GetMetadata().reflection;
414 }
416 return *reinterpret_cast<const StudentAssignment*>(
419 static constexpr int kIndexInFileMessages = 3;
420 friend void swap(StudentAssignment& a, StudentAssignment& b) { a.Swap(&b); }
421 inline void Swap(StudentAssignment* PROTOBUF_NONNULL other) {
422 if (other == this) return;
423 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
424 InternalSwap(other);
425 } else {
426 ::google::protobuf::internal::GenericSwap(this, other);
427 }
428 }
429 void UnsafeArenaSwap(StudentAssignment* PROTOBUF_NONNULL other) {
430 if (other == this) return;
431 ABSL_DCHECK(GetArena() == other->GetArena());
432 InternalSwap(other);
433 }
434
435 // implements Message ----------------------------------------------
436
437 StudentAssignment* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
438 return ::google::protobuf::Message::DefaultConstruct<StudentAssignment>(arena);
439 }
440 using ::google::protobuf::Message::CopyFrom;
441 void CopyFrom(const StudentAssignment& from);
442 using ::google::protobuf::Message::MergeFrom;
443 void MergeFrom(const StudentAssignment& from) { StudentAssignment::MergeImpl(*this, from); }
444
445 private:
446 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
447 const ::google::protobuf::MessageLite& from_msg);
448
449 public:
450 bool IsInitialized() const {
451 return true;
452 }
453 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
454 #if defined(PROTOBUF_CUSTOM_VTABLE)
455 private:
456 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
457 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
458 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
459 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
460
461 public:
462 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
463 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
464 ::uint8_t* PROTOBUF_NONNULL target,
465 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
466 return _InternalSerialize(*this, target, stream);
467 }
468 #else // PROTOBUF_CUSTOM_VTABLE
469 ::size_t ByteSizeLong() const final;
470 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
471 ::uint8_t* PROTOBUF_NONNULL target,
472 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
473 #endif // PROTOBUF_CUSTOM_VTABLE
474 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
475
476 private:
477 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
478 static void SharedDtor(MessageLite& self);
479 void InternalSwap(StudentAssignment* PROTOBUF_NONNULL other);
480 private:
481 template <typename T>
482 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
483 static ::absl::string_view FullMessageName() { return "operations_research.StudentAssignment"; }
484
485 explicit StudentAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
486 StudentAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const StudentAssignment& from);
488 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, StudentAssignment&& from) noexcept
489 : StudentAssignment(arena) {
490 *this = ::std::move(from);
491 }
492 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
493 static void* PROTOBUF_NONNULL PlacementNew_(
494 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
495 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
496 static constexpr auto InternalNewImpl_();
497
498 public:
499 static constexpr auto InternalGenerateClassData_();
500
501 ::google::protobuf::Metadata GetMetadata() const;
502 // nested types ----------------------------------------------------
503
504 // accessors -------------------------------------------------------
505 enum : int {
506 kCourseIndicesFieldNumber = 2,
507 kSectionIndicesFieldNumber = 3,
508 kStudentIndexFieldNumber = 1,
509 };
510 // repeated int32 course_indices = 2;
512 private:
513 int _internal_course_indices_size() const;
514
515 public:
516 void clear_course_indices() ;
517 ::int32_t course_indices(int index) const;
518 void set_course_indices(int index, ::int32_t value);
519 void add_course_indices(::int32_t value);
520 const ::google::protobuf::RepeatedField<::int32_t>& course_indices() const;
521 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_course_indices();
522
523 private:
524 const ::google::protobuf::RepeatedField<::int32_t>& _internal_course_indices() const;
525 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_course_indices();
526
527 public:
528 // repeated int32 section_indices = 3;
529 int section_indices_size() const;
530 private:
531 int _internal_section_indices_size() const;
532
533 public:
534 void clear_section_indices() ;
535 ::int32_t section_indices(int index) const;
536 void set_section_indices(int index, ::int32_t value);
537 void add_section_indices(::int32_t value);
538 const ::google::protobuf::RepeatedField<::int32_t>& section_indices() const;
539 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_section_indices();
540
541 private:
542 const ::google::protobuf::RepeatedField<::int32_t>& _internal_section_indices() const;
543 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_section_indices();
544
545 public:
546 // int32 student_index = 1;
547 void clear_student_index() ;
548 ::int32_t student_index() const;
549 void set_student_index(::int32_t value);
550
551 private:
552 ::int32_t _internal_student_index() const;
553 void _internal_set_student_index(::int32_t value);
554
555 public:
556 // @@protoc_insertion_point(class_scope:operations_research.StudentAssignment)
557 private:
558 class _Internal;
559 friend class ::google::protobuf::internal::TcParser;
560 static const ::google::protobuf::internal::TcParseTable<2, 3,
561 0, 0,
562 2>
563 _table_;
564
565 friend class ::google::protobuf::MessageLite;
566 friend class ::google::protobuf::Arena;
567 template <typename T>
568 friend class ::google::protobuf::Arena::InternalHelper;
569 using InternalArenaConstructable_ = void;
570 using DestructorSkippable_ = void;
571 struct Impl_ {
572 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
573 inline explicit Impl_(
574 ::google::protobuf::internal::InternalVisibility visibility,
575 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
576 inline explicit Impl_(
577 ::google::protobuf::internal::InternalVisibility visibility,
578 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
579 const StudentAssignment& from_msg);
580 ::google::protobuf::internal::HasBits<1> _has_bits_;
581 ::google::protobuf::internal::CachedSize _cached_size_;
582 ::google::protobuf::RepeatedField<::int32_t> course_indices_;
583 ::google::protobuf::internal::CachedSize _course_indices_cached_byte_size_;
584 ::google::protobuf::RepeatedField<::int32_t> section_indices_;
585 ::google::protobuf::internal::CachedSize _section_indices_cached_byte_size_;
586 ::int32_t student_index_;
587 PROTOBUF_TSAN_DECLARE_MEMBER
588 };
589 union { Impl_ _impl_; };
590 friend struct ::TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
591};
593OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull StudentAssignment_class_data_;
594// -------------------------------------------------------------------
595
596class OR_PROTO_DLL Student final : public ::google::protobuf::Message
597/* @@protoc_insertion_point(class_definition:operations_research.Student) */ {
598 public:
599 inline Student() : Student(nullptr) {}
600 ~Student() PROTOBUF_FINAL;
601
602#if defined(PROTOBUF_CUSTOM_VTABLE)
603 void operator delete(Student* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
604 SharedDtor(*msg);
605 ::google::protobuf::internal::SizedDelete(msg, sizeof(Student));
606 }
607#endif
608
609 template <typename = void>
610 explicit PROTOBUF_CONSTEXPR Student(::google::protobuf::internal::ConstantInitialized);
611
612 inline Student(const Student& from) : Student(nullptr, from) {}
613 inline Student(Student&& from) noexcept
614 : Student(nullptr, ::std::move(from)) {}
615 inline Student& operator=(const Student& from) {
616 CopyFrom(from);
617 return *this;
618 }
619 inline Student& operator=(Student&& from) noexcept {
620 if (this == &from) return *this;
621 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
622 InternalSwap(&from);
623 } else {
624 CopyFrom(from);
625 }
626 return *this;
627 }
628
629 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
630 ABSL_ATTRIBUTE_LIFETIME_BOUND {
631 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
632 }
633 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
634 ABSL_ATTRIBUTE_LIFETIME_BOUND {
635 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
636 }
638 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
639 return GetDescriptor();
640 }
641 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
642 return default_instance().GetMetadata().descriptor;
643 }
644 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
645 return default_instance().GetMetadata().reflection;
646 }
647 static const Student& default_instance() {
648 return *reinterpret_cast<const Student*>(
650 }
651 static constexpr int kIndexInFileMessages = 6;
652 friend void swap(Student& a, Student& b) { a.Swap(&b); }
653 inline void Swap(Student* PROTOBUF_NONNULL other) {
654 if (other == this) return;
655 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
656 InternalSwap(other);
657 } else {
658 ::google::protobuf::internal::GenericSwap(this, other);
659 }
660 }
661 void UnsafeArenaSwap(Student* PROTOBUF_NONNULL other) {
662 if (other == this) return;
663 ABSL_DCHECK(GetArena() == other->GetArena());
664 InternalSwap(other);
666
667 // implements Message ----------------------------------------------
668
669 Student* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
670 return ::google::protobuf::Message::DefaultConstruct<Student>(arena);
671 }
672 using ::google::protobuf::Message::CopyFrom;
673 void CopyFrom(const Student& from);
674 using ::google::protobuf::Message::MergeFrom;
675 void MergeFrom(const Student& from) { Student::MergeImpl(*this, from); }
676
677 private:
678 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
679 const ::google::protobuf::MessageLite& from_msg);
680
681 public:
682 bool IsInitialized() const {
683 return true;
684 }
685 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
686 #if defined(PROTOBUF_CUSTOM_VTABLE)
687 private:
688 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
689 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
690 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
691 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
692
693 public:
694 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
695 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
696 ::uint8_t* PROTOBUF_NONNULL target,
697 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
698 return _InternalSerialize(*this, target, stream);
699 }
700 #else // PROTOBUF_CUSTOM_VTABLE
701 ::size_t ByteSizeLong() const final;
702 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
703 ::uint8_t* PROTOBUF_NONNULL target,
704 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
705 #endif // PROTOBUF_CUSTOM_VTABLE
706 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
707
708 private:
709 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
710 static void SharedDtor(MessageLite& self);
711 void InternalSwap(Student* PROTOBUF_NONNULL other);
712 private:
713 template <typename T>
714 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
715 static ::absl::string_view FullMessageName() { return "operations_research.Student"; }
716
717 explicit Student(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
718 Student(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Student& from);
719 Student(
720 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Student&& from) noexcept
721 : Student(arena) {
722 *this = ::std::move(from);
723 }
724 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
725 static void* PROTOBUF_NONNULL PlacementNew_(
726 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
727 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
728 static constexpr auto InternalNewImpl_();
729
730 public:
731 static constexpr auto InternalGenerateClassData_();
732
733 ::google::protobuf::Metadata GetMetadata() const;
734 // nested types ----------------------------------------------------
735
736 // accessors -------------------------------------------------------
737 enum : int {
738 kCourseIndicesFieldNumber = 2,
739 kDisplayNameFieldNumber = 1,
740 };
741 // repeated int32 course_indices = 2;
743 private:
744 int _internal_course_indices_size() const;
745
746 public:
747 void clear_course_indices() ;
748 ::int32_t course_indices(int index) const;
749 void set_course_indices(int index, ::int32_t value);
750 void add_course_indices(::int32_t value);
751 const ::google::protobuf::RepeatedField<::int32_t>& course_indices() const;
752 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_course_indices();
753
754 private:
755 const ::google::protobuf::RepeatedField<::int32_t>& _internal_course_indices() const;
756 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_course_indices();
757
758 public:
759 // string display_name = 1;
760 void clear_display_name() ;
761 const ::std::string& display_name() const;
762 template <typename Arg_ = const ::std::string&, typename... Args_>
763 void set_display_name(Arg_&& arg, Args_... args);
764 ::std::string* PROTOBUF_NONNULL mutable_display_name();
765 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_display_name();
766 void set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value);
768 private:
769 const ::std::string& _internal_display_name() const;
770 PROTOBUF_ALWAYS_INLINE void _internal_set_display_name(const ::std::string& value);
771 ::std::string* PROTOBUF_NONNULL _internal_mutable_display_name();
772
773 public:
774 // @@protoc_insertion_point(class_scope:operations_research.Student)
775 private:
776 class _Internal;
777 friend class ::google::protobuf::internal::TcParser;
778 static const ::google::protobuf::internal::TcParseTable<1, 2,
779 0, 48,
780 2>
781 _table_;
782
783 friend class ::google::protobuf::MessageLite;
784 friend class ::google::protobuf::Arena;
785 template <typename T>
786 friend class ::google::protobuf::Arena::InternalHelper;
787 using InternalArenaConstructable_ = void;
788 using DestructorSkippable_ = void;
789 struct Impl_ {
790 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
791 inline explicit Impl_(
792 ::google::protobuf::internal::InternalVisibility visibility,
793 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
794 inline explicit Impl_(
795 ::google::protobuf::internal::InternalVisibility visibility,
796 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
797 const Student& from_msg);
798 ::google::protobuf::internal::HasBits<1> _has_bits_;
799 ::google::protobuf::internal::CachedSize _cached_size_;
800 ::google::protobuf::RepeatedField<::int32_t> course_indices_;
801 ::google::protobuf::internal::CachedSize _course_indices_cached_byte_size_;
802 ::google::protobuf::internal::ArenaStringPtr display_name_;
803 PROTOBUF_TSAN_DECLARE_MEMBER
804 };
805 union { Impl_ _impl_; };
806 friend struct ::TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
807};
808
809OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull Student_class_data_;
810// -------------------------------------------------------------------
811
812class OR_PROTO_DLL Room final : public ::google::protobuf::Message
813/* @@protoc_insertion_point(class_definition:operations_research.Room) */ {
814 public:
815 inline Room() : Room(nullptr) {}
816 ~Room() PROTOBUF_FINAL;
818#if defined(PROTOBUF_CUSTOM_VTABLE)
819 void operator delete(Room* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
820 SharedDtor(*msg);
821 ::google::protobuf::internal::SizedDelete(msg, sizeof(Room));
822 }
823#endif
824
825 template <typename = void>
826 explicit PROTOBUF_CONSTEXPR Room(::google::protobuf::internal::ConstantInitialized);
827
828 inline Room(const Room& from) : Room(nullptr, from) {}
829 inline Room(Room&& from) noexcept
830 : Room(nullptr, ::std::move(from)) {}
831 inline Room& operator=(const Room& from) {
832 CopyFrom(from);
833 return *this;
835 inline Room& operator=(Room&& from) noexcept {
836 if (this == &from) return *this;
837 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
838 InternalSwap(&from);
839 } else {
840 CopyFrom(from);
841 }
842 return *this;
843 }
844
845 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
846 ABSL_ATTRIBUTE_LIFETIME_BOUND {
847 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
848 }
849 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
850 ABSL_ATTRIBUTE_LIFETIME_BOUND {
851 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
852 }
853
854 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
855 return GetDescriptor();
856 }
857 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
858 return default_instance().GetMetadata().descriptor;
860 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
861 return default_instance().GetMetadata().reflection;
863 static const Room& default_instance() {
864 return *reinterpret_cast<const Room*>(
866 }
867 static constexpr int kIndexInFileMessages = 7;
868 friend void swap(Room& a, Room& b) { a.Swap(&b); }
869 inline void Swap(Room* PROTOBUF_NONNULL other) {
870 if (other == this) return;
871 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
872 InternalSwap(other);
873 } else {
874 ::google::protobuf::internal::GenericSwap(this, other);
875 }
876 }
877 void UnsafeArenaSwap(Room* PROTOBUF_NONNULL other) {
878 if (other == this) return;
879 ABSL_DCHECK(GetArena() == other->GetArena());
880 InternalSwap(other);
881 }
883 // implements Message ----------------------------------------------
884
885 Room* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
886 return ::google::protobuf::Message::DefaultConstruct<Room>(arena);
887 }
888 using ::google::protobuf::Message::CopyFrom;
889 void CopyFrom(const Room& from);
890 using ::google::protobuf::Message::MergeFrom;
891 void MergeFrom(const Room& from) { Room::MergeImpl(*this, from); }
892
893 private:
894 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
895 const ::google::protobuf::MessageLite& from_msg);
897 public:
898 bool IsInitialized() const {
899 return true;
900 }
901 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
902 #if defined(PROTOBUF_CUSTOM_VTABLE)
903 private:
904 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
905 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
906 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
907 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
908
909 public:
910 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
911 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
912 ::uint8_t* PROTOBUF_NONNULL target,
913 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
914 return _InternalSerialize(*this, target, stream);
915 }
916 #else // PROTOBUF_CUSTOM_VTABLE
917 ::size_t ByteSizeLong() const final;
918 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
919 ::uint8_t* PROTOBUF_NONNULL target,
920 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
921 #endif // PROTOBUF_CUSTOM_VTABLE
922 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
923
924 private:
925 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
926 static void SharedDtor(MessageLite& self);
927 void InternalSwap(Room* PROTOBUF_NONNULL other);
928 private:
929 template <typename T>
930 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
931 static ::absl::string_view FullMessageName() { return "operations_research.Room"; }
932
933 explicit Room(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
934 Room(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Room& from);
935 Room(
936 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Room&& from) noexcept
937 : Room(arena) {
938 *this = ::std::move(from);
939 }
940 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
941 static void* PROTOBUF_NONNULL PlacementNew_(
942 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
943 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
944 static constexpr auto InternalNewImpl_();
945
946 public:
947 static constexpr auto InternalGenerateClassData_();
948
949 ::google::protobuf::Metadata GetMetadata() const;
950 // nested types ----------------------------------------------------
951
952 // accessors -------------------------------------------------------
953 enum : int {
954 kDisplayNameFieldNumber = 1,
955 kCapacityFieldNumber = 2,
956 };
957 // string display_name = 1;
958 void clear_display_name() ;
959 const ::std::string& display_name() const;
960 template <typename Arg_ = const ::std::string&, typename... Args_>
961 void set_display_name(Arg_&& arg, Args_... args);
962 ::std::string* PROTOBUF_NONNULL mutable_display_name();
963 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_display_name();
964 void set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value);
965
966 private:
967 const ::std::string& _internal_display_name() const;
968 PROTOBUF_ALWAYS_INLINE void _internal_set_display_name(const ::std::string& value);
969 ::std::string* PROTOBUF_NONNULL _internal_mutable_display_name();
970
971 public:
972 // int32 capacity = 2;
973 void clear_capacity() ;
974 ::int32_t capacity() const;
975 void set_capacity(::int32_t value);
976
977 private:
978 ::int32_t _internal_capacity() const;
979 void _internal_set_capacity(::int32_t value);
980
981 public:
982 // @@protoc_insertion_point(class_scope:operations_research.Room)
983 private:
984 class _Internal;
985 friend class ::google::protobuf::internal::TcParser;
986 static const ::google::protobuf::internal::TcParseTable<1, 2,
987 0, 45,
988 2>
989 _table_;
991 friend class ::google::protobuf::MessageLite;
992 friend class ::google::protobuf::Arena;
993 template <typename T>
994 friend class ::google::protobuf::Arena::InternalHelper;
995 using InternalArenaConstructable_ = void;
996 using DestructorSkippable_ = void;
997 struct Impl_ {
998 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
999 inline explicit Impl_(
1000 ::google::protobuf::internal::InternalVisibility visibility,
1001 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1002 inline explicit Impl_(
1003 ::google::protobuf::internal::InternalVisibility visibility,
1004 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1005 const Room& from_msg);
1006 ::google::protobuf::internal::HasBits<1> _has_bits_;
1007 ::google::protobuf::internal::CachedSize _cached_size_;
1008 ::google::protobuf::internal::ArenaStringPtr display_name_;
1009 ::int32_t capacity_;
1010 PROTOBUF_TSAN_DECLARE_MEMBER
1011 };
1012 union { Impl_ _impl_; };
1013 friend struct ::TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
1014};
1015
1016OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull Room_class_data_;
1017// -------------------------------------------------------------------
1019class OR_PROTO_DLL Course final : public ::google::protobuf::Message
1020/* @@protoc_insertion_point(class_definition:operations_research.Course) */ {
1021 public:
1022 inline Course() : Course(nullptr) {}
1023 ~Course() PROTOBUF_FINAL;
1024
1025#if defined(PROTOBUF_CUSTOM_VTABLE)
1026 void operator delete(Course* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1027 SharedDtor(*msg);
1028 ::google::protobuf::internal::SizedDelete(msg, sizeof(Course));
1029 }
1030#endif
1031
1032 template <typename = void>
1033 explicit PROTOBUF_CONSTEXPR Course(::google::protobuf::internal::ConstantInitialized);
1034
1035 inline Course(const Course& from) : Course(nullptr, from) {}
1036 inline Course(Course&& from) noexcept
1037 : Course(nullptr, ::std::move(from)) {}
1038 inline Course& operator=(const Course& from) {
1040 return *this;
1042 inline Course& operator=(Course&& from) noexcept {
1043 if (this == &from) return *this;
1044 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1045 InternalSwap(&from);
1046 } else {
1047 CopyFrom(from);
1049 return *this;
1050 }
1051
1052 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1053 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1054 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1055 }
1056 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1057 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1058 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1059 }
1060
1061 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1063 }
1064 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1065 return default_instance().GetMetadata().descriptor;
1066 }
1067 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1068 return default_instance().GetMetadata().reflection;
1069 }
1070 static const Course& default_instance() {
1071 return *reinterpret_cast<const Course*>(
1074 static constexpr int kIndexInFileMessages = 4;
1075 friend void swap(Course& a, Course& b) { a.Swap(&b); }
1076 inline void Swap(Course* PROTOBUF_NONNULL other) {
1077 if (other == this) return;
1078 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1079 InternalSwap(other);
1080 } else {
1081 ::google::protobuf::internal::GenericSwap(this, other);
1083 }
1084 void UnsafeArenaSwap(Course* PROTOBUF_NONNULL other) {
1085 if (other == this) return;
1086 ABSL_DCHECK(GetArena() == other->GetArena());
1087 InternalSwap(other);
1088 }
1089
1090 // implements Message ----------------------------------------------
1091
1092 Course* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1093 return ::google::protobuf::Message::DefaultConstruct<Course>(arena);
1094 }
1095 using ::google::protobuf::Message::CopyFrom;
1096 void CopyFrom(const Course& from);
1097 using ::google::protobuf::Message::MergeFrom;
1098 void MergeFrom(const Course& from) { Course::MergeImpl(*this, from); }
1099
1100 private:
1101 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1102 const ::google::protobuf::MessageLite& from_msg);
1103
1104 public:
1105 bool IsInitialized() const {
1106 return true;
1107 }
1108 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1109 #if defined(PROTOBUF_CUSTOM_VTABLE)
1110 private:
1111 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1112 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1113 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1114 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1115
1116 public:
1117 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1118 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1119 ::uint8_t* PROTOBUF_NONNULL target,
1120 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1121 return _InternalSerialize(*this, target, stream);
1122 }
1123 #else // PROTOBUF_CUSTOM_VTABLE
1124 ::size_t ByteSizeLong() const final;
1125 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1126 ::uint8_t* PROTOBUF_NONNULL target,
1127 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1128 #endif // PROTOBUF_CUSTOM_VTABLE
1129 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1130
1131 private:
1132 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1133 static void SharedDtor(MessageLite& self);
1134 void InternalSwap(Course* PROTOBUF_NONNULL other);
1135 private:
1136 template <typename T>
1137 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1138 static ::absl::string_view FullMessageName() { return "operations_research.Course"; }
1139
1140 explicit Course(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1141 Course(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Course& from);
1142 Course(
1143 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Course&& from) noexcept
1144 : Course(arena) {
1145 *this = ::std::move(from);
1146 }
1147 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1148 static void* PROTOBUF_NONNULL PlacementNew_(
1149 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1150 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1151 static constexpr auto InternalNewImpl_();
1152
1153 public:
1154 static constexpr auto InternalGenerateClassData_();
1155
1156 ::google::protobuf::Metadata GetMetadata() const;
1157 // nested types ----------------------------------------------------
1158
1159 // accessors -------------------------------------------------------
1160 enum : int {
1161 kTeacherIndicesFieldNumber = 6,
1162 kTeacherSectionCountsFieldNumber = 7,
1163 kRoomIndicesFieldNumber = 8,
1164 kDisplayNameFieldNumber = 1,
1165 kMeetingsCountFieldNumber = 2,
1166 kMaxCapacityFieldNumber = 3,
1170 // repeated int32 teacher_indices = 6;
1172 private:
1173 int _internal_teacher_indices_size() const;
1175 public:
1176 void clear_teacher_indices() ;
1177 ::int32_t teacher_indices(int index) const;
1178 void set_teacher_indices(int index, ::int32_t value);
1179 void add_teacher_indices(::int32_t value);
1180 const ::google::protobuf::RepeatedField<::int32_t>& teacher_indices() const;
1181 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_teacher_indices();
1182
1183 private:
1184 const ::google::protobuf::RepeatedField<::int32_t>& _internal_teacher_indices() const;
1185 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_teacher_indices();
1186
1187 public:
1188 // repeated int32 teacher_section_counts = 7;
1189 int teacher_section_counts_size() const;
1190 private:
1191 int _internal_teacher_section_counts_size() const;
1192
1193 public:
1195 ::int32_t teacher_section_counts(int index) const;
1196 void set_teacher_section_counts(int index, ::int32_t value);
1197 void add_teacher_section_counts(::int32_t value);
1198 const ::google::protobuf::RepeatedField<::int32_t>& teacher_section_counts() const;
1199 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_teacher_section_counts();
1200
1201 private:
1202 const ::google::protobuf::RepeatedField<::int32_t>& _internal_teacher_section_counts() const;
1203 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_teacher_section_counts();
1204
1205 public:
1206 // repeated int32 room_indices = 8;
1207 int room_indices_size() const;
1208 private:
1209 int _internal_room_indices_size() const;
1210
1211 public:
1212 void clear_room_indices() ;
1213 ::int32_t room_indices(int index) const;
1214 void set_room_indices(int index, ::int32_t value);
1215 void add_room_indices(::int32_t value);
1216 const ::google::protobuf::RepeatedField<::int32_t>& room_indices() const;
1217 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_room_indices();
1218
1219 private:
1220 const ::google::protobuf::RepeatedField<::int32_t>& _internal_room_indices() const;
1221 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_room_indices();
1222
1223 public:
1224 // string display_name = 1;
1225 void clear_display_name() ;
1226 const ::std::string& display_name() const;
1227 template <typename Arg_ = const ::std::string&, typename... Args_>
1228 void set_display_name(Arg_&& arg, Args_... args);
1229 ::std::string* PROTOBUF_NONNULL mutable_display_name();
1230 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_display_name();
1231 void set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value);
1232
1233 private:
1234 const ::std::string& _internal_display_name() const;
1235 PROTOBUF_ALWAYS_INLINE void _internal_set_display_name(const ::std::string& value);
1236 ::std::string* PROTOBUF_NONNULL _internal_mutable_display_name();
1237
1238 public:
1239 // int32 meetings_count = 2;
1240 void clear_meetings_count() ;
1241 ::int32_t meetings_count() const;
1242 void set_meetings_count(::int32_t value);
1243
1244 private:
1245 ::int32_t _internal_meetings_count() const;
1246 void _internal_set_meetings_count(::int32_t value);
1247
1248 public:
1249 // int32 max_capacity = 3;
1250 void clear_max_capacity() ;
1251 ::int32_t max_capacity() const;
1252 void set_max_capacity(::int32_t value);
1253
1254 private:
1255 ::int32_t _internal_max_capacity() const;
1256 void _internal_set_max_capacity(::int32_t value);
1257
1258 public:
1259 // int32 min_capacity = 4;
1260 void clear_min_capacity() ;
1261 ::int32_t min_capacity() const;
1262 void set_min_capacity(::int32_t value);
1263
1264 private:
1265 ::int32_t _internal_min_capacity() const;
1266 void _internal_set_min_capacity(::int32_t value);
1267
1268 public:
1269 // int32 consecutive_slots_count = 5;
1271 ::int32_t consecutive_slots_count() const;
1272 void set_consecutive_slots_count(::int32_t value);
1273
1274 private:
1275 ::int32_t _internal_consecutive_slots_count() const;
1276 void _internal_set_consecutive_slots_count(::int32_t value);
1277
1278 public:
1279 // @@protoc_insertion_point(class_scope:operations_research.Course)
1280 private:
1281 class _Internal;
1282 friend class ::google::protobuf::internal::TcParser;
1283 static const ::google::protobuf::internal::TcParseTable<3, 8,
1284 0, 55,
1285 2>
1286 _table_;
1287
1288 friend class ::google::protobuf::MessageLite;
1289 friend class ::google::protobuf::Arena;
1290 template <typename T>
1291 friend class ::google::protobuf::Arena::InternalHelper;
1292 using InternalArenaConstructable_ = void;
1293 using DestructorSkippable_ = void;
1294 struct Impl_ {
1295 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1296 inline explicit Impl_(
1297 ::google::protobuf::internal::InternalVisibility visibility,
1298 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1299 inline explicit Impl_(
1300 ::google::protobuf::internal::InternalVisibility visibility,
1301 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1302 const Course& from_msg);
1303 ::google::protobuf::internal::HasBits<1> _has_bits_;
1304 ::google::protobuf::internal::CachedSize _cached_size_;
1305 ::google::protobuf::RepeatedField<::int32_t> teacher_indices_;
1306 ::google::protobuf::internal::CachedSize _teacher_indices_cached_byte_size_;
1307 ::google::protobuf::RepeatedField<::int32_t> teacher_section_counts_;
1308 ::google::protobuf::internal::CachedSize _teacher_section_counts_cached_byte_size_;
1309 ::google::protobuf::RepeatedField<::int32_t> room_indices_;
1310 ::google::protobuf::internal::CachedSize _room_indices_cached_byte_size_;
1311 ::google::protobuf::internal::ArenaStringPtr display_name_;
1312 ::int32_t meetings_count_;
1313 ::int32_t max_capacity_;
1314 ::int32_t min_capacity_;
1315 ::int32_t consecutive_slots_count_;
1316 PROTOBUF_TSAN_DECLARE_MEMBER
1317 };
1318 union { Impl_ _impl_; };
1319 friend struct ::TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
1320};
1321
1322OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull Course_class_data_;
1323// -------------------------------------------------------------------
1325class OR_PROTO_DLL ClassAssignment final : public ::google::protobuf::Message
1326/* @@protoc_insertion_point(class_definition:operations_research.ClassAssignment) */ {
1327 public:
1328 inline ClassAssignment() : ClassAssignment(nullptr) {}
1329 ~ClassAssignment() PROTOBUF_FINAL;
1330
1331#if defined(PROTOBUF_CUSTOM_VTABLE)
1332 void operator delete(ClassAssignment* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1333 SharedDtor(*msg);
1334 ::google::protobuf::internal::SizedDelete(msg, sizeof(ClassAssignment));
1336#endif
1337
1338 template <typename = void>
1339 explicit PROTOBUF_CONSTEXPR ClassAssignment(::google::protobuf::internal::ConstantInitialized);
1340
1341 inline ClassAssignment(const ClassAssignment& from) : ClassAssignment(nullptr, from) {}
1342 inline ClassAssignment(ClassAssignment&& from) noexcept
1343 : ClassAssignment(nullptr, ::std::move(from)) {}
1344 inline ClassAssignment& operator=(const ClassAssignment& from) {
1345 CopyFrom(from);
1346 return *this;
1347 }
1348 inline ClassAssignment& operator=(ClassAssignment&& from) noexcept {
1349 if (this == &from) return *this;
1350 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1351 InternalSwap(&from);
1352 } else {
1353 CopyFrom(from);
1354 }
1355 return *this;
1356 }
1357
1358 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1359 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1360 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1361 }
1362 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1363 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1364 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1366
1367 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1368 return GetDescriptor();
1370 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1371 return default_instance().GetMetadata().descriptor;
1372 }
1373 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1374 return default_instance().GetMetadata().reflection;
1375 }
1376 static const ClassAssignment& default_instance() {
1377 return *reinterpret_cast<const ClassAssignment*>(
1379 }
1380 static constexpr int kIndexInFileMessages = 2;
1381 friend void swap(ClassAssignment& a, ClassAssignment& b) { a.Swap(&b); }
1382 inline void Swap(ClassAssignment* PROTOBUF_NONNULL other) {
1383 if (other == this) return;
1384 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1385 InternalSwap(other);
1386 } else {
1387 ::google::protobuf::internal::GenericSwap(this, other);
1390 void UnsafeArenaSwap(ClassAssignment* PROTOBUF_NONNULL other) {
1391 if (other == this) return;
1392 ABSL_DCHECK(GetArena() == other->GetArena());
1393 InternalSwap(other);
1394 }
1395
1396 // implements Message ----------------------------------------------
1398 ClassAssignment* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1399 return ::google::protobuf::Message::DefaultConstruct<ClassAssignment>(arena);
1400 }
1401 using ::google::protobuf::Message::CopyFrom;
1402 void CopyFrom(const ClassAssignment& from);
1403 using ::google::protobuf::Message::MergeFrom;
1404 void MergeFrom(const ClassAssignment& from) { ClassAssignment::MergeImpl(*this, from); }
1406 private:
1407 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1408 const ::google::protobuf::MessageLite& from_msg);
1409
1410 public:
1411 bool IsInitialized() const {
1412 return true;
1413 }
1414 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1415 #if defined(PROTOBUF_CUSTOM_VTABLE)
1416 private:
1417 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1418 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1419 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1420 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1421
1422 public:
1423 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1424 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1425 ::uint8_t* PROTOBUF_NONNULL target,
1426 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1427 return _InternalSerialize(*this, target, stream);
1428 }
1429 #else // PROTOBUF_CUSTOM_VTABLE
1430 ::size_t ByteSizeLong() const final;
1431 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1432 ::uint8_t* PROTOBUF_NONNULL target,
1433 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1434 #endif // PROTOBUF_CUSTOM_VTABLE
1435 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1436
1437 private:
1438 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1439 static void SharedDtor(MessageLite& self);
1440 void InternalSwap(ClassAssignment* PROTOBUF_NONNULL other);
1441 private:
1442 template <typename T>
1443 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1444 static ::absl::string_view FullMessageName() { return "operations_research.ClassAssignment"; }
1445
1446 explicit ClassAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1447 ClassAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ClassAssignment& from);
1449 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ClassAssignment&& from) noexcept
1450 : ClassAssignment(arena) {
1451 *this = ::std::move(from);
1452 }
1453 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1454 static void* PROTOBUF_NONNULL PlacementNew_(
1455 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1456 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1457 static constexpr auto InternalNewImpl_();
1458
1459 public:
1460 static constexpr auto InternalGenerateClassData_();
1461
1462 ::google::protobuf::Metadata GetMetadata() const;
1463 // nested types ----------------------------------------------------
1464
1465 // accessors -------------------------------------------------------
1466 enum : int {
1467 kTimeSlotsFieldNumber = 3,
1468 kRoomIndicesFieldNumber = 4,
1469 kCourseIndexFieldNumber = 1,
1470 kSectionNumberFieldNumber = 2,
1471 };
1472 // repeated int32 time_slots = 3;
1473 int time_slots_size() const;
1474 private:
1475 int _internal_time_slots_size() const;
1477 public:
1478 void clear_time_slots() ;
1479 ::int32_t time_slots(int index) const;
1480 void set_time_slots(int index, ::int32_t value);
1481 void add_time_slots(::int32_t value);
1482 const ::google::protobuf::RepeatedField<::int32_t>& time_slots() const;
1483 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_time_slots();
1484
1485 private:
1486 const ::google::protobuf::RepeatedField<::int32_t>& _internal_time_slots() const;
1487 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_time_slots();
1488
1489 public:
1490 // repeated int32 room_indices = 4;
1491 int room_indices_size() const;
1492 private:
1493 int _internal_room_indices_size() const;
1494
1495 public:
1496 void clear_room_indices() ;
1497 ::int32_t room_indices(int index) const;
1498 void set_room_indices(int index, ::int32_t value);
1499 void add_room_indices(::int32_t value);
1500 const ::google::protobuf::RepeatedField<::int32_t>& room_indices() const;
1501 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_room_indices();
1502
1503 private:
1504 const ::google::protobuf::RepeatedField<::int32_t>& _internal_room_indices() const;
1505 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_room_indices();
1506
1507 public:
1508 // int32 course_index = 1;
1509 void clear_course_index() ;
1510 ::int32_t course_index() const;
1511 void set_course_index(::int32_t value);
1512
1513 private:
1514 ::int32_t _internal_course_index() const;
1515 void _internal_set_course_index(::int32_t value);
1516
1517 public:
1518 // int32 section_number = 2;
1519 void clear_section_number() ;
1520 ::int32_t section_number() const;
1521 void set_section_number(::int32_t value);
1522
1523 private:
1524 ::int32_t _internal_section_number() const;
1525 void _internal_set_section_number(::int32_t value);
1526
1527 public:
1528 // @@protoc_insertion_point(class_scope:operations_research.ClassAssignment)
1529 private:
1530 class _Internal;
1531 friend class ::google::protobuf::internal::TcParser;
1532 static const ::google::protobuf::internal::TcParseTable<2, 4,
1533 0, 0,
1534 2>
1535 _table_;
1536
1537 friend class ::google::protobuf::MessageLite;
1538 friend class ::google::protobuf::Arena;
1539 template <typename T>
1540 friend class ::google::protobuf::Arena::InternalHelper;
1541 using InternalArenaConstructable_ = void;
1542 using DestructorSkippable_ = void;
1543 struct Impl_ {
1544 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1545 inline explicit Impl_(
1546 ::google::protobuf::internal::InternalVisibility visibility,
1547 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1548 inline explicit Impl_(
1549 ::google::protobuf::internal::InternalVisibility visibility,
1550 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1551 const ClassAssignment& from_msg);
1552 ::google::protobuf::internal::HasBits<1> _has_bits_;
1553 ::google::protobuf::internal::CachedSize _cached_size_;
1554 ::google::protobuf::RepeatedField<::int32_t> time_slots_;
1555 ::google::protobuf::internal::CachedSize _time_slots_cached_byte_size_;
1556 ::google::protobuf::RepeatedField<::int32_t> room_indices_;
1557 ::google::protobuf::internal::CachedSize _room_indices_cached_byte_size_;
1558 ::int32_t course_index_;
1559 ::int32_t section_number_;
1560 PROTOBUF_TSAN_DECLARE_MEMBER
1561 };
1562 union { Impl_ _impl_; };
1563 friend struct ::TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
1564};
1565
1566OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull ClassAssignment_class_data_;
1567// -------------------------------------------------------------------
1568
1569class OR_PROTO_DLL CourseSchedulingResult final : public ::google::protobuf::Message
1570/* @@protoc_insertion_point(class_definition:operations_research.CourseSchedulingResult) */ {
1571 public:
1572 inline CourseSchedulingResult() : CourseSchedulingResult(nullptr) {}
1573 ~CourseSchedulingResult() PROTOBUF_FINAL;
1574
1575#if defined(PROTOBUF_CUSTOM_VTABLE)
1576 void operator delete(CourseSchedulingResult* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1577 SharedDtor(*msg);
1578 ::google::protobuf::internal::SizedDelete(msg, sizeof(CourseSchedulingResult));
1579 }
1580#endif
1581
1582 template <typename = void>
1583 explicit PROTOBUF_CONSTEXPR CourseSchedulingResult(::google::protobuf::internal::ConstantInitialized);
1584
1585 inline CourseSchedulingResult(const CourseSchedulingResult& from) : CourseSchedulingResult(nullptr, from) {}
1586 inline CourseSchedulingResult(CourseSchedulingResult&& from) noexcept
1587 : CourseSchedulingResult(nullptr, ::std::move(from)) {}
1588 inline CourseSchedulingResult& operator=(const CourseSchedulingResult& from) {
1589 CopyFrom(from);
1590 return *this;
1592 inline CourseSchedulingResult& operator=(CourseSchedulingResult&& from) noexcept {
1593 if (this == &from) return *this;
1594 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1595 InternalSwap(&from);
1596 } else {
1597 CopyFrom(from);
1598 }
1599 return *this;
1601
1602 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1603 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1604 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1605 }
1606 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1607 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1608 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1609 }
1611 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1612 return GetDescriptor();
1613 }
1614 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1615 return default_instance().GetMetadata().descriptor;
1616 }
1617 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1618 return default_instance().GetMetadata().reflection;
1620 static const CourseSchedulingResult& default_instance() {
1621 return *reinterpret_cast<const CourseSchedulingResult*>(
1623 }
1624 static constexpr int kIndexInFileMessages = 1;
1626 inline void Swap(CourseSchedulingResult* PROTOBUF_NONNULL other) {
1627 if (other == this) return;
1628 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1629 InternalSwap(other);
1630 } else {
1631 ::google::protobuf::internal::GenericSwap(this, other);
1634 void UnsafeArenaSwap(CourseSchedulingResult* PROTOBUF_NONNULL other) {
1635 if (other == this) return;
1636 ABSL_DCHECK(GetArena() == other->GetArena());
1637 InternalSwap(other);
1638 }
1639
1640 // implements Message ----------------------------------------------
1641
1642 CourseSchedulingResult* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1643 return ::google::protobuf::Message::DefaultConstruct<CourseSchedulingResult>(arena);
1644 }
1645 using ::google::protobuf::Message::CopyFrom;
1646 void CopyFrom(const CourseSchedulingResult& from);
1647 using ::google::protobuf::Message::MergeFrom;
1648 void MergeFrom(const CourseSchedulingResult& from) { CourseSchedulingResult::MergeImpl(*this, from); }
1649
1650 private:
1651 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1652 const ::google::protobuf::MessageLite& from_msg);
1653
1654 public:
1655 bool IsInitialized() const {
1656 return true;
1657 }
1658 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1659 #if defined(PROTOBUF_CUSTOM_VTABLE)
1660 private:
1661 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1662 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1663 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1664 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1665
1666 public:
1667 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1668 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1669 ::uint8_t* PROTOBUF_NONNULL target,
1670 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1671 return _InternalSerialize(*this, target, stream);
1672 }
1673 #else // PROTOBUF_CUSTOM_VTABLE
1674 ::size_t ByteSizeLong() const final;
1675 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1676 ::uint8_t* PROTOBUF_NONNULL target,
1677 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1678 #endif // PROTOBUF_CUSTOM_VTABLE
1679 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1680
1681 private:
1682 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1683 static void SharedDtor(MessageLite& self);
1684 void InternalSwap(CourseSchedulingResult* PROTOBUF_NONNULL other);
1685 private:
1686 template <typename T>
1688 static ::absl::string_view FullMessageName() { return "operations_research.CourseSchedulingResult"; }
1689
1690 explicit CourseSchedulingResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1691 CourseSchedulingResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CourseSchedulingResult& from);
1693 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CourseSchedulingResult&& from) noexcept
1694 : CourseSchedulingResult(arena) {
1695 *this = ::std::move(from);
1696 }
1697 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1698 static void* PROTOBUF_NONNULL PlacementNew_(
1699 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1700 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1701 static constexpr auto InternalNewImpl_();
1702
1703 public:
1704 static constexpr auto InternalGenerateClassData_();
1705
1706 ::google::protobuf::Metadata GetMetadata() const;
1707 // nested types ----------------------------------------------------
1708
1709 // accessors -------------------------------------------------------
1710 enum : int {
1711 kClassAssignmentsFieldNumber = 3,
1712 kStudentAssignmentsFieldNumber = 4,
1713 kMessageFieldNumber = 1,
1714 kSolverStatusFieldNumber = 2,
1715 };
1716 // repeated .operations_research.ClassAssignment class_assignments = 3;
1717 int class_assignments_size() const;
1718 private:
1719 int _internal_class_assignments_size() const;
1721 public:
1724 ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment>* PROTOBUF_NONNULL mutable_class_assignments();
1725
1726 private:
1727 const ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment>& _internal_class_assignments() const;
1728 ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment>* PROTOBUF_NONNULL _internal_mutable_class_assignments();
1729 public:
1730 const ::operations_research::ClassAssignment& class_assignments(int index) const;
1732 const ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment>& class_assignments() const;
1733 // repeated .operations_research.StudentAssignment student_assignments = 4;
1734 int student_assignments_size() const;
1735 private:
1736 int _internal_student_assignments_size() const;
1737
1738 public:
1741 ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment>* PROTOBUF_NONNULL mutable_student_assignments();
1742
1743 private:
1744 const ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment>& _internal_student_assignments() const;
1745 ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment>* PROTOBUF_NONNULL _internal_mutable_student_assignments();
1746 public:
1747 const ::operations_research::StudentAssignment& student_assignments(int index) const;
1749 const ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment>& student_assignments() const;
1750 // string message = 1;
1751 void clear_message() ;
1752 const ::std::string& message() const;
1753 template <typename Arg_ = const ::std::string&, typename... Args_>
1754 void set_message(Arg_&& arg, Args_... args);
1755 ::std::string* PROTOBUF_NONNULL mutable_message();
1756 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message();
1757 void set_allocated_message(::std::string* PROTOBUF_NULLABLE value);
1758
1759 private:
1760 const ::std::string& _internal_message() const;
1761 PROTOBUF_ALWAYS_INLINE void _internal_set_message(const ::std::string& value);
1762 ::std::string* PROTOBUF_NONNULL _internal_mutable_message();
1763
1764 public:
1765 // .operations_research.CourseSchedulingResultStatus solver_status = 2;
1766 void clear_solver_status() ;
1769
1770 private:
1771 ::operations_research::CourseSchedulingResultStatus _internal_solver_status() const;
1772 void _internal_set_solver_status(::operations_research::CourseSchedulingResultStatus value);
1773
1774 public:
1775 // @@protoc_insertion_point(class_scope:operations_research.CourseSchedulingResult)
1776 private:
1777 class _Internal;
1778 friend class ::google::protobuf::internal::TcParser;
1779 static const ::google::protobuf::internal::TcParseTable<2, 4,
1780 2, 58,
1781 2>
1782 _table_;
1783
1784 friend class ::google::protobuf::MessageLite;
1785 friend class ::google::protobuf::Arena;
1786 template <typename T>
1787 friend class ::google::protobuf::Arena::InternalHelper;
1788 using InternalArenaConstructable_ = void;
1789 using DestructorSkippable_ = void;
1790 struct Impl_ {
1791 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1792 inline explicit Impl_(
1793 ::google::protobuf::internal::InternalVisibility visibility,
1794 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1795 inline explicit Impl_(
1796 ::google::protobuf::internal::InternalVisibility visibility,
1797 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1798 const CourseSchedulingResult& from_msg);
1799 ::google::protobuf::internal::HasBits<1> _has_bits_;
1800 ::google::protobuf::internal::CachedSize _cached_size_;
1801 ::google::protobuf::RepeatedPtrField< ::operations_research::ClassAssignment > class_assignments_;
1802 ::google::protobuf::RepeatedPtrField< ::operations_research::StudentAssignment > student_assignments_;
1803 ::google::protobuf::internal::ArenaStringPtr message_;
1804 int solver_status_;
1805 PROTOBUF_TSAN_DECLARE_MEMBER
1806 };
1807 union { Impl_ _impl_; };
1808 friend struct ::TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
1809};
1810
1811OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CourseSchedulingResult_class_data_;
1812// -------------------------------------------------------------------
1813
1814class OR_PROTO_DLL CourseSchedulingModel final : public ::google::protobuf::Message
1815/* @@protoc_insertion_point(class_definition:operations_research.CourseSchedulingModel) */ {
1816 public:
1817 inline CourseSchedulingModel() : CourseSchedulingModel(nullptr) {}
1818 ~CourseSchedulingModel() PROTOBUF_FINAL;
1819
1820#if defined(PROTOBUF_CUSTOM_VTABLE)
1821 void operator delete(CourseSchedulingModel* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1822 SharedDtor(*msg);
1823 ::google::protobuf::internal::SizedDelete(msg, sizeof(CourseSchedulingModel));
1824 }
1825#endif
1827 template <typename = void>
1828 explicit PROTOBUF_CONSTEXPR CourseSchedulingModel(::google::protobuf::internal::ConstantInitialized);
1829
1830 inline CourseSchedulingModel(const CourseSchedulingModel& from) : CourseSchedulingModel(nullptr, from) {}
1831 inline CourseSchedulingModel(CourseSchedulingModel&& from) noexcept
1832 : CourseSchedulingModel(nullptr, ::std::move(from)) {}
1833 inline CourseSchedulingModel& operator=(const CourseSchedulingModel& from) {
1834 CopyFrom(from);
1835 return *this;
1836 }
1838 if (this == &from) return *this;
1839 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1840 InternalSwap(&from);
1841 } else {
1843 }
1844 return *this;
1845 }
1847 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1848 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1849 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1850 }
1851 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1852 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1853 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1854 }
1855
1856 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1857 return GetDescriptor();
1858 }
1859 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1860 return default_instance().GetMetadata().descriptor;
1861 }
1862 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1863 return default_instance().GetMetadata().reflection;
1864 }
1866 return *reinterpret_cast<const CourseSchedulingModel*>(
1869 static constexpr int kIndexInFileMessages = 0;
1870 friend void swap(CourseSchedulingModel& a, CourseSchedulingModel& b) { a.Swap(&b); }
1871 inline void Swap(CourseSchedulingModel* PROTOBUF_NONNULL other) {
1872 if (other == this) return;
1873 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1874 InternalSwap(other);
1875 } else {
1876 ::google::protobuf::internal::GenericSwap(this, other);
1877 }
1879 void UnsafeArenaSwap(CourseSchedulingModel* PROTOBUF_NONNULL other) {
1880 if (other == this) return;
1881 ABSL_DCHECK(GetArena() == other->GetArena());
1882 InternalSwap(other);
1883 }
1884
1885 // implements Message ----------------------------------------------
1886
1887 CourseSchedulingModel* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1888 return ::google::protobuf::Message::DefaultConstruct<CourseSchedulingModel>(arena);
1889 }
1890 using ::google::protobuf::Message::CopyFrom;
1891 void CopyFrom(const CourseSchedulingModel& from);
1892 using ::google::protobuf::Message::MergeFrom;
1893 void MergeFrom(const CourseSchedulingModel& from) { CourseSchedulingModel::MergeImpl(*this, from); }
1894
1895 private:
1896 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1897 const ::google::protobuf::MessageLite& from_msg);
1898
1899 public:
1900 bool IsInitialized() const {
1901 return true;
1903 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1904 #if defined(PROTOBUF_CUSTOM_VTABLE)
1905 private:
1906 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1907 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1908 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1909 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1910
1911 public:
1912 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1913 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1914 ::uint8_t* PROTOBUF_NONNULL target,
1915 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1916 return _InternalSerialize(*this, target, stream);
1917 }
1918 #else // PROTOBUF_CUSTOM_VTABLE
1919 ::size_t ByteSizeLong() const final;
1920 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1921 ::uint8_t* PROTOBUF_NONNULL target,
1922 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1923 #endif // PROTOBUF_CUSTOM_VTABLE
1924 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1925
1926 private:
1927 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1928 static void SharedDtor(MessageLite& self);
1929 void InternalSwap(CourseSchedulingModel* PROTOBUF_NONNULL other);
1930 private:
1931 template <typename T>
1932 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1933 static ::absl::string_view FullMessageName() { return "operations_research.CourseSchedulingModel"; }
1934
1935 explicit CourseSchedulingModel(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1936 CourseSchedulingModel(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CourseSchedulingModel& from);
1938 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CourseSchedulingModel&& from) noexcept
1939 : CourseSchedulingModel(arena) {
1940 *this = ::std::move(from);
1941 }
1942 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1943 static void* PROTOBUF_NONNULL PlacementNew_(
1944 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1945 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1946 static constexpr auto InternalNewImpl_();
1947
1948 public:
1949 static constexpr auto InternalGenerateClassData_();
1950
1951 ::google::protobuf::Metadata GetMetadata() const;
1952 // nested types ----------------------------------------------------
1953
1954 // accessors -------------------------------------------------------
1955 enum : int {
1956 kCoursesFieldNumber = 4,
1957 kTeachersFieldNumber = 5,
1958 kStudentsFieldNumber = 6,
1959 kRoomsFieldNumber = 7,
1960 kDisplayNameFieldNumber = 1,
1961 kDaysCountFieldNumber = 2,
1962 kDailyTimeSlotCountFieldNumber = 3,
1963 };
1964 // repeated .operations_research.Course courses = 4;
1965 int courses_size() const;
1966 private:
1967 int _internal_courses_size() const;
1969 public:
1972 ::google::protobuf::RepeatedPtrField<::operations_research::Course>* PROTOBUF_NONNULL mutable_courses();
1973
1974 private:
1975 const ::google::protobuf::RepeatedPtrField<::operations_research::Course>& _internal_courses() const;
1976 ::google::protobuf::RepeatedPtrField<::operations_research::Course>* PROTOBUF_NONNULL _internal_mutable_courses();
1977 public:
1978 const ::operations_research::Course& courses(int index) const;
1979 ::operations_research::Course* PROTOBUF_NONNULL add_courses();
1980 const ::google::protobuf::RepeatedPtrField<::operations_research::Course>& courses() const;
1981 // repeated .operations_research.Teacher teachers = 5;
1982 int teachers_size() const;
1983 private:
1984 int _internal_teachers_size() const;
1985
1986 public:
1987 void clear_teachers() ;
1988 ::operations_research::Teacher* PROTOBUF_NONNULL mutable_teachers(int index);
1989 ::google::protobuf::RepeatedPtrField<::operations_research::Teacher>* PROTOBUF_NONNULL mutable_teachers();
1990
1991 private:
1992 const ::google::protobuf::RepeatedPtrField<::operations_research::Teacher>& _internal_teachers() const;
1993 ::google::protobuf::RepeatedPtrField<::operations_research::Teacher>* PROTOBUF_NONNULL _internal_mutable_teachers();
1994 public:
1995 const ::operations_research::Teacher& teachers(int index) const;
1996 ::operations_research::Teacher* PROTOBUF_NONNULL add_teachers();
1997 const ::google::protobuf::RepeatedPtrField<::operations_research::Teacher>& teachers() const;
1998 // repeated .operations_research.Student students = 6;
1999 int students_size() const;
2000 private:
2001 int _internal_students_size() const;
2002
2003 public:
2004 void clear_students() ;
2005 ::operations_research::Student* PROTOBUF_NONNULL mutable_students(int index);
2006 ::google::protobuf::RepeatedPtrField<::operations_research::Student>* PROTOBUF_NONNULL mutable_students();
2007
2008 private:
2009 const ::google::protobuf::RepeatedPtrField<::operations_research::Student>& _internal_students() const;
2010 ::google::protobuf::RepeatedPtrField<::operations_research::Student>* PROTOBUF_NONNULL _internal_mutable_students();
2011 public:
2012 const ::operations_research::Student& students(int index) const;
2013 ::operations_research::Student* PROTOBUF_NONNULL add_students();
2014 const ::google::protobuf::RepeatedPtrField<::operations_research::Student>& students() const;
2015 // repeated .operations_research.Room rooms = 7;
2016 int rooms_size() const;
2017 private:
2018 int _internal_rooms_size() const;
2019
2020 public:
2021 void clear_rooms() ;
2022 ::operations_research::Room* PROTOBUF_NONNULL mutable_rooms(int index);
2023 ::google::protobuf::RepeatedPtrField<::operations_research::Room>* PROTOBUF_NONNULL mutable_rooms();
2024
2025 private:
2026 const ::google::protobuf::RepeatedPtrField<::operations_research::Room>& _internal_rooms() const;
2027 ::google::protobuf::RepeatedPtrField<::operations_research::Room>* PROTOBUF_NONNULL _internal_mutable_rooms();
2028 public:
2029 const ::operations_research::Room& rooms(int index) const;
2030 ::operations_research::Room* PROTOBUF_NONNULL add_rooms();
2031 const ::google::protobuf::RepeatedPtrField<::operations_research::Room>& rooms() const;
2032 // string display_name = 1;
2033 void clear_display_name() ;
2034 const ::std::string& display_name() const;
2035 template <typename Arg_ = const ::std::string&, typename... Args_>
2036 void set_display_name(Arg_&& arg, Args_... args);
2037 ::std::string* PROTOBUF_NONNULL mutable_display_name();
2038 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_display_name();
2039 void set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value);
2040
2041 private:
2042 const ::std::string& _internal_display_name() const;
2043 PROTOBUF_ALWAYS_INLINE void _internal_set_display_name(const ::std::string& value);
2044 ::std::string* PROTOBUF_NONNULL _internal_mutable_display_name();
2046 public:
2047 // int32 days_count = 2;
2048 void clear_days_count() ;
2049 ::int32_t days_count() const;
2050 void set_days_count(::int32_t value);
2051
2052 private:
2053 ::int32_t _internal_days_count() const;
2054 void _internal_set_days_count(::int32_t value);
2055
2056 public:
2057 // int32 daily_time_slot_count = 3;
2059 ::int32_t daily_time_slot_count() const;
2060 void set_daily_time_slot_count(::int32_t value);
2061
2062 private:
2063 ::int32_t _internal_daily_time_slot_count() const;
2064 void _internal_set_daily_time_slot_count(::int32_t value);
2065
2066 public:
2067 // @@protoc_insertion_point(class_scope:operations_research.CourseSchedulingModel)
2068 private:
2069 class _Internal;
2070 friend class ::google::protobuf::internal::TcParser;
2071 static const ::google::protobuf::internal::TcParseTable<3, 7,
2072 4, 62,
2073 2>
2074 _table_;
2075
2076 friend class ::google::protobuf::MessageLite;
2077 friend class ::google::protobuf::Arena;
2078 template <typename T>
2079 friend class ::google::protobuf::Arena::InternalHelper;
2080 using InternalArenaConstructable_ = void;
2081 using DestructorSkippable_ = void;
2082 struct Impl_ {
2083 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2084 inline explicit Impl_(
2085 ::google::protobuf::internal::InternalVisibility visibility,
2086 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2087 inline explicit Impl_(
2088 ::google::protobuf::internal::InternalVisibility visibility,
2089 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2090 const CourseSchedulingModel& from_msg);
2091 ::google::protobuf::internal::HasBits<1> _has_bits_;
2092 ::google::protobuf::internal::CachedSize _cached_size_;
2093 ::google::protobuf::RepeatedPtrField< ::operations_research::Course > courses_;
2094 ::google::protobuf::RepeatedPtrField< ::operations_research::Teacher > teachers_;
2095 ::google::protobuf::RepeatedPtrField< ::operations_research::Student > students_;
2096 ::google::protobuf::RepeatedPtrField< ::operations_research::Room > rooms_;
2097 ::google::protobuf::internal::ArenaStringPtr display_name_;
2098 ::int32_t days_count_;
2099 ::int32_t daily_time_slot_count_;
2100 PROTOBUF_TSAN_DECLARE_MEMBER
2101 };
2102 union { Impl_ _impl_; };
2103 friend struct ::TableStruct_ortools_2fscheduling_2fcourse_5fscheduling_2eproto;
2104};
2105
2106OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CourseSchedulingModel_class_data_;
2107
2108// ===================================================================
2109
2110
2113// ===================================================================
2114
2115
2116#ifdef __GNUC__
2117#pragma GCC diagnostic push
2118#pragma GCC diagnostic ignored "-Wstrict-aliasing"
2119#endif // __GNUC__
2120// -------------------------------------------------------------------
2121
2122// CourseSchedulingModel
2123
2124// string display_name = 1;
2126 ::google::protobuf::internal::TSanWrite(&_impl_);
2127 _impl_.display_name_.ClearToEmpty();
2128 ClearHasBit(_impl_._has_bits_[0],
2129 0x00000010U);
2130}
2131inline const ::std::string& CourseSchedulingModel::display_name() const
2132 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2133 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingModel.display_name)
2134 return _internal_display_name();
2135}
2136template <typename Arg_, typename... Args_>
2137PROTOBUF_ALWAYS_INLINE void CourseSchedulingModel::set_display_name(Arg_&& arg, Args_... args) {
2138 ::google::protobuf::internal::TSanWrite(&_impl_);
2139 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
2140 _impl_.display_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
2141 // @@protoc_insertion_point(field_set:operations_research.CourseSchedulingModel.display_name)
2142}
2143inline ::std::string* PROTOBUF_NONNULL CourseSchedulingModel::mutable_display_name()
2144 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2145 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
2146 ::std::string* _s = _internal_mutable_display_name();
2147 // @@protoc_insertion_point(field_mutable:operations_research.CourseSchedulingModel.display_name)
2148 return _s;
2150inline const ::std::string& CourseSchedulingModel::_internal_display_name() const {
2151 ::google::protobuf::internal::TSanRead(&_impl_);
2152 return _impl_.display_name_.Get();
2153}
2154inline void CourseSchedulingModel::_internal_set_display_name(const ::std::string& value) {
2155 ::google::protobuf::internal::TSanWrite(&_impl_);
2156 _impl_.display_name_.Set(value, GetArena());
2157}
2158inline ::std::string* PROTOBUF_NONNULL CourseSchedulingModel::_internal_mutable_display_name() {
2159 ::google::protobuf::internal::TSanWrite(&_impl_);
2160 return _impl_.display_name_.Mutable( GetArena());
2161}
2162inline ::std::string* PROTOBUF_NULLABLE CourseSchedulingModel::release_display_name() {
2163 ::google::protobuf::internal::TSanWrite(&_impl_);
2164 // @@protoc_insertion_point(field_release:operations_research.CourseSchedulingModel.display_name)
2165 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) {
2166 return nullptr;
2167 }
2168 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
2169 auto* released = _impl_.display_name_.Release();
2170 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
2171 _impl_.display_name_.Set("", GetArena());
2172 }
2173 return released;
2175inline void CourseSchedulingModel::set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value) {
2176 ::google::protobuf::internal::TSanWrite(&_impl_);
2177 if (value != nullptr) {
2178 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
2179 } else {
2180 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
2181 }
2182 _impl_.display_name_.SetAllocated(value, GetArena());
2183 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.display_name_.IsDefault()) {
2184 _impl_.display_name_.Set("", GetArena());
2185 }
2186 // @@protoc_insertion_point(field_set_allocated:operations_research.CourseSchedulingModel.display_name)
2188
2189// int32 days_count = 2;
2191 ::google::protobuf::internal::TSanWrite(&_impl_);
2192 _impl_.days_count_ = 0;
2193 ClearHasBit(_impl_._has_bits_[0],
2194 0x00000020U);
2195}
2196inline ::int32_t CourseSchedulingModel::days_count() const {
2197 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingModel.days_count)
2198 return _internal_days_count();
2199}
2200inline void CourseSchedulingModel::set_days_count(::int32_t value) {
2201 _internal_set_days_count(value);
2202 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
2203 // @@protoc_insertion_point(field_set:operations_research.CourseSchedulingModel.days_count)
2204}
2205inline ::int32_t CourseSchedulingModel::_internal_days_count() const {
2206 ::google::protobuf::internal::TSanRead(&_impl_);
2207 return _impl_.days_count_;
2209inline void CourseSchedulingModel::_internal_set_days_count(::int32_t value) {
2210 ::google::protobuf::internal::TSanWrite(&_impl_);
2211 _impl_.days_count_ = value;
2213
2214// int32 daily_time_slot_count = 3;
2216 ::google::protobuf::internal::TSanWrite(&_impl_);
2217 _impl_.daily_time_slot_count_ = 0;
2218 ClearHasBit(_impl_._has_bits_[0],
2219 0x00000040U);
2220}
2221inline ::int32_t CourseSchedulingModel::daily_time_slot_count() const {
2222 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingModel.daily_time_slot_count)
2223 return _internal_daily_time_slot_count();
2224}
2225inline void CourseSchedulingModel::set_daily_time_slot_count(::int32_t value) {
2226 _internal_set_daily_time_slot_count(value);
2227 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
2228 // @@protoc_insertion_point(field_set:operations_research.CourseSchedulingModel.daily_time_slot_count)
2229}
2230inline ::int32_t CourseSchedulingModel::_internal_daily_time_slot_count() const {
2231 ::google::protobuf::internal::TSanRead(&_impl_);
2232 return _impl_.daily_time_slot_count_;
2234inline void CourseSchedulingModel::_internal_set_daily_time_slot_count(::int32_t value) {
2235 ::google::protobuf::internal::TSanWrite(&_impl_);
2236 _impl_.daily_time_slot_count_ = value;
2238
2239// repeated .operations_research.Course courses = 4;
2240inline int CourseSchedulingModel::_internal_courses_size() const {
2241 return _internal_courses().size();
2242}
2243inline int CourseSchedulingModel::courses_size() const {
2244 return _internal_courses_size();
2245}
2247 ::google::protobuf::internal::TSanWrite(&_impl_);
2248 _impl_.courses_.Clear();
2249 ClearHasBitForRepeated(_impl_._has_bits_[0],
2250 0x00000001U);
2251}
2252inline ::operations_research::Course* PROTOBUF_NONNULL CourseSchedulingModel::mutable_courses(int index)
2253 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2254 // @@protoc_insertion_point(field_mutable:operations_research.CourseSchedulingModel.courses)
2255 return _internal_mutable_courses()->Mutable(index);
2256}
2257inline ::google::protobuf::RepeatedPtrField<::operations_research::Course>* PROTOBUF_NONNULL CourseSchedulingModel::mutable_courses()
2258 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2259 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2260 // @@protoc_insertion_point(field_mutable_list:operations_research.CourseSchedulingModel.courses)
2261 ::google::protobuf::internal::TSanWrite(&_impl_);
2262 return _internal_mutable_courses();
2263}
2264inline const ::operations_research::Course& CourseSchedulingModel::courses(int index) const
2265 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2266 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingModel.courses)
2267 return _internal_courses().Get(index);
2268}
2269inline ::operations_research::Course* PROTOBUF_NONNULL CourseSchedulingModel::add_courses()
2270 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2271 ::google::protobuf::internal::TSanWrite(&_impl_);
2273 _internal_mutable_courses()->InternalAddWithArena(
2274 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
2275 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2276 // @@protoc_insertion_point(field_add:operations_research.CourseSchedulingModel.courses)
2277 return _add;
2278}
2279inline const ::google::protobuf::RepeatedPtrField<::operations_research::Course>& CourseSchedulingModel::courses() const
2280 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2281 // @@protoc_insertion_point(field_list:operations_research.CourseSchedulingModel.courses)
2282 return _internal_courses();
2283}
2284inline const ::google::protobuf::RepeatedPtrField<::operations_research::Course>&
2285CourseSchedulingModel::_internal_courses() const {
2286 ::google::protobuf::internal::TSanRead(&_impl_);
2287 return _impl_.courses_;
2288}
2289inline ::google::protobuf::RepeatedPtrField<::operations_research::Course>* PROTOBUF_NONNULL
2290CourseSchedulingModel::_internal_mutable_courses() {
2291 ::google::protobuf::internal::TSanRead(&_impl_);
2292 return &_impl_.courses_;
2293}
2294
2295// repeated .operations_research.Teacher teachers = 5;
2296inline int CourseSchedulingModel::_internal_teachers_size() const {
2297 return _internal_teachers().size();
2298}
2299inline int CourseSchedulingModel::teachers_size() const {
2300 return _internal_teachers_size();
2301}
2303 ::google::protobuf::internal::TSanWrite(&_impl_);
2304 _impl_.teachers_.Clear();
2305 ClearHasBitForRepeated(_impl_._has_bits_[0],
2306 0x00000002U);
2307}
2308inline ::operations_research::Teacher* PROTOBUF_NONNULL CourseSchedulingModel::mutable_teachers(int index)
2309 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2310 // @@protoc_insertion_point(field_mutable:operations_research.CourseSchedulingModel.teachers)
2311 return _internal_mutable_teachers()->Mutable(index);
2312}
2313inline ::google::protobuf::RepeatedPtrField<::operations_research::Teacher>* PROTOBUF_NONNULL CourseSchedulingModel::mutable_teachers()
2314 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2315 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
2316 // @@protoc_insertion_point(field_mutable_list:operations_research.CourseSchedulingModel.teachers)
2317 ::google::protobuf::internal::TSanWrite(&_impl_);
2318 return _internal_mutable_teachers();
2319}
2320inline const ::operations_research::Teacher& CourseSchedulingModel::teachers(int index) const
2321 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2322 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingModel.teachers)
2323 return _internal_teachers().Get(index);
2324}
2325inline ::operations_research::Teacher* PROTOBUF_NONNULL CourseSchedulingModel::add_teachers()
2326 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2327 ::google::protobuf::internal::TSanWrite(&_impl_);
2329 _internal_mutable_teachers()->InternalAddWithArena(
2330 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
2331 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
2332 // @@protoc_insertion_point(field_add:operations_research.CourseSchedulingModel.teachers)
2333 return _add;
2334}
2335inline const ::google::protobuf::RepeatedPtrField<::operations_research::Teacher>& CourseSchedulingModel::teachers() const
2336 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2337 // @@protoc_insertion_point(field_list:operations_research.CourseSchedulingModel.teachers)
2338 return _internal_teachers();
2339}
2340inline const ::google::protobuf::RepeatedPtrField<::operations_research::Teacher>&
2341CourseSchedulingModel::_internal_teachers() const {
2342 ::google::protobuf::internal::TSanRead(&_impl_);
2343 return _impl_.teachers_;
2344}
2345inline ::google::protobuf::RepeatedPtrField<::operations_research::Teacher>* PROTOBUF_NONNULL
2346CourseSchedulingModel::_internal_mutable_teachers() {
2347 ::google::protobuf::internal::TSanRead(&_impl_);
2348 return &_impl_.teachers_;
2349}
2350
2351// repeated .operations_research.Student students = 6;
2352inline int CourseSchedulingModel::_internal_students_size() const {
2353 return _internal_students().size();
2354}
2355inline int CourseSchedulingModel::students_size() const {
2356 return _internal_students_size();
2357}
2359 ::google::protobuf::internal::TSanWrite(&_impl_);
2360 _impl_.students_.Clear();
2361 ClearHasBitForRepeated(_impl_._has_bits_[0],
2362 0x00000004U);
2363}
2364inline ::operations_research::Student* PROTOBUF_NONNULL CourseSchedulingModel::mutable_students(int index)
2365 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2366 // @@protoc_insertion_point(field_mutable:operations_research.CourseSchedulingModel.students)
2367 return _internal_mutable_students()->Mutable(index);
2368}
2369inline ::google::protobuf::RepeatedPtrField<::operations_research::Student>* PROTOBUF_NONNULL CourseSchedulingModel::mutable_students()
2370 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2371 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
2372 // @@protoc_insertion_point(field_mutable_list:operations_research.CourseSchedulingModel.students)
2373 ::google::protobuf::internal::TSanWrite(&_impl_);
2374 return _internal_mutable_students();
2375}
2376inline const ::operations_research::Student& CourseSchedulingModel::students(int index) const
2377 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2378 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingModel.students)
2379 return _internal_students().Get(index);
2380}
2381inline ::operations_research::Student* PROTOBUF_NONNULL CourseSchedulingModel::add_students()
2382 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2383 ::google::protobuf::internal::TSanWrite(&_impl_);
2385 _internal_mutable_students()->InternalAddWithArena(
2386 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
2387 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
2388 // @@protoc_insertion_point(field_add:operations_research.CourseSchedulingModel.students)
2389 return _add;
2390}
2391inline const ::google::protobuf::RepeatedPtrField<::operations_research::Student>& CourseSchedulingModel::students() const
2392 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2393 // @@protoc_insertion_point(field_list:operations_research.CourseSchedulingModel.students)
2394 return _internal_students();
2395}
2396inline const ::google::protobuf::RepeatedPtrField<::operations_research::Student>&
2397CourseSchedulingModel::_internal_students() const {
2398 ::google::protobuf::internal::TSanRead(&_impl_);
2399 return _impl_.students_;
2400}
2401inline ::google::protobuf::RepeatedPtrField<::operations_research::Student>* PROTOBUF_NONNULL
2402CourseSchedulingModel::_internal_mutable_students() {
2403 ::google::protobuf::internal::TSanRead(&_impl_);
2404 return &_impl_.students_;
2405}
2406
2407// repeated .operations_research.Room rooms = 7;
2408inline int CourseSchedulingModel::_internal_rooms_size() const {
2409 return _internal_rooms().size();
2410}
2411inline int CourseSchedulingModel::rooms_size() const {
2412 return _internal_rooms_size();
2413}
2415 ::google::protobuf::internal::TSanWrite(&_impl_);
2416 _impl_.rooms_.Clear();
2417 ClearHasBitForRepeated(_impl_._has_bits_[0],
2418 0x00000008U);
2419}
2420inline ::operations_research::Room* PROTOBUF_NONNULL CourseSchedulingModel::mutable_rooms(int index)
2421 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2422 // @@protoc_insertion_point(field_mutable:operations_research.CourseSchedulingModel.rooms)
2423 return _internal_mutable_rooms()->Mutable(index);
2424}
2425inline ::google::protobuf::RepeatedPtrField<::operations_research::Room>* PROTOBUF_NONNULL CourseSchedulingModel::mutable_rooms()
2426 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2427 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
2428 // @@protoc_insertion_point(field_mutable_list:operations_research.CourseSchedulingModel.rooms)
2429 ::google::protobuf::internal::TSanWrite(&_impl_);
2430 return _internal_mutable_rooms();
2431}
2432inline const ::operations_research::Room& CourseSchedulingModel::rooms(int index) const
2433 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2434 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingModel.rooms)
2435 return _internal_rooms().Get(index);
2436}
2437inline ::operations_research::Room* PROTOBUF_NONNULL CourseSchedulingModel::add_rooms()
2438 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2439 ::google::protobuf::internal::TSanWrite(&_impl_);
2441 _internal_mutable_rooms()->InternalAddWithArena(
2442 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
2443 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
2444 // @@protoc_insertion_point(field_add:operations_research.CourseSchedulingModel.rooms)
2445 return _add;
2446}
2447inline const ::google::protobuf::RepeatedPtrField<::operations_research::Room>& CourseSchedulingModel::rooms() const
2448 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2449 // @@protoc_insertion_point(field_list:operations_research.CourseSchedulingModel.rooms)
2450 return _internal_rooms();
2451}
2452inline const ::google::protobuf::RepeatedPtrField<::operations_research::Room>&
2453CourseSchedulingModel::_internal_rooms() const {
2454 ::google::protobuf::internal::TSanRead(&_impl_);
2455 return _impl_.rooms_;
2456}
2457inline ::google::protobuf::RepeatedPtrField<::operations_research::Room>* PROTOBUF_NONNULL
2458CourseSchedulingModel::_internal_mutable_rooms() {
2459 ::google::protobuf::internal::TSanRead(&_impl_);
2460 return &_impl_.rooms_;
2461}
2462
2463// -------------------------------------------------------------------
2464
2465// CourseSchedulingResult
2466
2467// string message = 1;
2469 ::google::protobuf::internal::TSanWrite(&_impl_);
2470 _impl_.message_.ClearToEmpty();
2471 ClearHasBit(_impl_._has_bits_[0],
2472 0x00000004U);
2473}
2474inline const ::std::string& CourseSchedulingResult::message() const
2475 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2476 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingResult.message)
2477 return _internal_message();
2478}
2479template <typename Arg_, typename... Args_>
2480PROTOBUF_ALWAYS_INLINE void CourseSchedulingResult::set_message(Arg_&& arg, Args_... args) {
2481 ::google::protobuf::internal::TSanWrite(&_impl_);
2482 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
2483 _impl_.message_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
2484 // @@protoc_insertion_point(field_set:operations_research.CourseSchedulingResult.message)
2485}
2486inline ::std::string* PROTOBUF_NONNULL CourseSchedulingResult::mutable_message()
2487 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2488 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
2489 ::std::string* _s = _internal_mutable_message();
2490 // @@protoc_insertion_point(field_mutable:operations_research.CourseSchedulingResult.message)
2491 return _s;
2492}
2493inline const ::std::string& CourseSchedulingResult::_internal_message() const {
2494 ::google::protobuf::internal::TSanRead(&_impl_);
2495 return _impl_.message_.Get();
2496}
2497inline void CourseSchedulingResult::_internal_set_message(const ::std::string& value) {
2498 ::google::protobuf::internal::TSanWrite(&_impl_);
2499 _impl_.message_.Set(value, GetArena());
2500}
2501inline ::std::string* PROTOBUF_NONNULL CourseSchedulingResult::_internal_mutable_message() {
2502 ::google::protobuf::internal::TSanWrite(&_impl_);
2503 return _impl_.message_.Mutable( GetArena());
2504}
2505inline ::std::string* PROTOBUF_NULLABLE CourseSchedulingResult::release_message() {
2506 ::google::protobuf::internal::TSanWrite(&_impl_);
2507 // @@protoc_insertion_point(field_release:operations_research.CourseSchedulingResult.message)
2508 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
2509 return nullptr;
2510 }
2511 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
2512 auto* released = _impl_.message_.Release();
2513 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
2514 _impl_.message_.Set("", GetArena());
2515 }
2516 return released;
2517}
2518inline void CourseSchedulingResult::set_allocated_message(::std::string* PROTOBUF_NULLABLE value) {
2519 ::google::protobuf::internal::TSanWrite(&_impl_);
2520 if (value != nullptr) {
2521 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
2522 } else {
2523 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
2524 }
2525 _impl_.message_.SetAllocated(value, GetArena());
2526 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) {
2527 _impl_.message_.Set("", GetArena());
2528 }
2529 // @@protoc_insertion_point(field_set_allocated:operations_research.CourseSchedulingResult.message)
2530}
2532// .operations_research.CourseSchedulingResultStatus solver_status = 2;
2534 ::google::protobuf::internal::TSanWrite(&_impl_);
2535 _impl_.solver_status_ = 0;
2536 ClearHasBit(_impl_._has_bits_[0],
2537 0x00000008U);
2538}
2539inline ::operations_research::CourseSchedulingResultStatus CourseSchedulingResult::solver_status() const {
2540 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingResult.solver_status)
2541 return _internal_solver_status();
2542}
2544 _internal_set_solver_status(value);
2545 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
2546 // @@protoc_insertion_point(field_set:operations_research.CourseSchedulingResult.solver_status)
2547}
2548inline ::operations_research::CourseSchedulingResultStatus CourseSchedulingResult::_internal_solver_status() const {
2549 ::google::protobuf::internal::TSanRead(&_impl_);
2550 return static_cast<::operations_research::CourseSchedulingResultStatus>(_impl_.solver_status_);
2551}
2552inline void CourseSchedulingResult::_internal_set_solver_status(::operations_research::CourseSchedulingResultStatus value) {
2553 ::google::protobuf::internal::TSanWrite(&_impl_);
2554 _impl_.solver_status_ = value;
2555}
2557// repeated .operations_research.ClassAssignment class_assignments = 3;
2558inline int CourseSchedulingResult::_internal_class_assignments_size() const {
2559 return _internal_class_assignments().size();
2560}
2562 return _internal_class_assignments_size();
2563}
2565 ::google::protobuf::internal::TSanWrite(&_impl_);
2566 _impl_.class_assignments_.Clear();
2567 ClearHasBitForRepeated(_impl_._has_bits_[0],
2568 0x00000001U);
2569}
2570inline ::operations_research::ClassAssignment* PROTOBUF_NONNULL CourseSchedulingResult::mutable_class_assignments(int index)
2571 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2572 // @@protoc_insertion_point(field_mutable:operations_research.CourseSchedulingResult.class_assignments)
2573 return _internal_mutable_class_assignments()->Mutable(index);
2575inline ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment>* PROTOBUF_NONNULL CourseSchedulingResult::mutable_class_assignments()
2576 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2577 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2578 // @@protoc_insertion_point(field_mutable_list:operations_research.CourseSchedulingResult.class_assignments)
2579 ::google::protobuf::internal::TSanWrite(&_impl_);
2580 return _internal_mutable_class_assignments();
2581}
2582inline const ::operations_research::ClassAssignment& CourseSchedulingResult::class_assignments(int index) const
2583 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2584 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingResult.class_assignments)
2585 return _internal_class_assignments().Get(index);
2586}
2587inline ::operations_research::ClassAssignment* PROTOBUF_NONNULL CourseSchedulingResult::add_class_assignments()
2588 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2589 ::google::protobuf::internal::TSanWrite(&_impl_);
2591 _internal_mutable_class_assignments()->InternalAddWithArena(
2592 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
2593 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2594 // @@protoc_insertion_point(field_add:operations_research.CourseSchedulingResult.class_assignments)
2595 return _add;
2596}
2597inline const ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment>& CourseSchedulingResult::class_assignments() const
2598 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2599 // @@protoc_insertion_point(field_list:operations_research.CourseSchedulingResult.class_assignments)
2600 return _internal_class_assignments();
2601}
2602inline const ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment>&
2603CourseSchedulingResult::_internal_class_assignments() const {
2604 ::google::protobuf::internal::TSanRead(&_impl_);
2605 return _impl_.class_assignments_;
2606}
2607inline ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment>* PROTOBUF_NONNULL
2608CourseSchedulingResult::_internal_mutable_class_assignments() {
2609 ::google::protobuf::internal::TSanRead(&_impl_);
2610 return &_impl_.class_assignments_;
2611}
2612
2613// repeated .operations_research.StudentAssignment student_assignments = 4;
2614inline int CourseSchedulingResult::_internal_student_assignments_size() const {
2615 return _internal_student_assignments().size();
2616}
2618 return _internal_student_assignments_size();
2619}
2621 ::google::protobuf::internal::TSanWrite(&_impl_);
2622 _impl_.student_assignments_.Clear();
2623 ClearHasBitForRepeated(_impl_._has_bits_[0],
2624 0x00000002U);
2625}
2626inline ::operations_research::StudentAssignment* PROTOBUF_NONNULL CourseSchedulingResult::mutable_student_assignments(int index)
2627 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2628 // @@protoc_insertion_point(field_mutable:operations_research.CourseSchedulingResult.student_assignments)
2629 return _internal_mutable_student_assignments()->Mutable(index);
2631inline ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment>* PROTOBUF_NONNULL CourseSchedulingResult::mutable_student_assignments()
2632 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2633 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
2634 // @@protoc_insertion_point(field_mutable_list:operations_research.CourseSchedulingResult.student_assignments)
2635 ::google::protobuf::internal::TSanWrite(&_impl_);
2636 return _internal_mutable_student_assignments();
2637}
2638inline const ::operations_research::StudentAssignment& CourseSchedulingResult::student_assignments(int index) const
2639 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2640 // @@protoc_insertion_point(field_get:operations_research.CourseSchedulingResult.student_assignments)
2641 return _internal_student_assignments().Get(index);
2642}
2643inline ::operations_research::StudentAssignment* PROTOBUF_NONNULL CourseSchedulingResult::add_student_assignments()
2644 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2645 ::google::protobuf::internal::TSanWrite(&_impl_);
2647 _internal_mutable_student_assignments()->InternalAddWithArena(
2648 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
2649 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
2650 // @@protoc_insertion_point(field_add:operations_research.CourseSchedulingResult.student_assignments)
2651 return _add;
2652}
2653inline const ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment>& CourseSchedulingResult::student_assignments() const
2654 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2655 // @@protoc_insertion_point(field_list:operations_research.CourseSchedulingResult.student_assignments)
2656 return _internal_student_assignments();
2657}
2658inline const ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment>&
2659CourseSchedulingResult::_internal_student_assignments() const {
2660 ::google::protobuf::internal::TSanRead(&_impl_);
2661 return _impl_.student_assignments_;
2662}
2663inline ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment>* PROTOBUF_NONNULL
2664CourseSchedulingResult::_internal_mutable_student_assignments() {
2665 ::google::protobuf::internal::TSanRead(&_impl_);
2666 return &_impl_.student_assignments_;
2667}
2668
2669// -------------------------------------------------------------------
2670
2671// ClassAssignment
2672
2673// int32 course_index = 1;
2675 ::google::protobuf::internal::TSanWrite(&_impl_);
2676 _impl_.course_index_ = 0;
2677 ClearHasBit(_impl_._has_bits_[0],
2678 0x00000004U);
2679}
2680inline ::int32_t ClassAssignment::course_index() const {
2681 // @@protoc_insertion_point(field_get:operations_research.ClassAssignment.course_index)
2682 return _internal_course_index();
2683}
2684inline void ClassAssignment::set_course_index(::int32_t value) {
2685 _internal_set_course_index(value);
2686 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
2687 // @@protoc_insertion_point(field_set:operations_research.ClassAssignment.course_index)
2689inline ::int32_t ClassAssignment::_internal_course_index() const {
2690 ::google::protobuf::internal::TSanRead(&_impl_);
2691 return _impl_.course_index_;
2692}
2693inline void ClassAssignment::_internal_set_course_index(::int32_t value) {
2694 ::google::protobuf::internal::TSanWrite(&_impl_);
2695 _impl_.course_index_ = value;
2696}
2697
2698// int32 section_number = 2;
2700 ::google::protobuf::internal::TSanWrite(&_impl_);
2701 _impl_.section_number_ = 0;
2702 ClearHasBit(_impl_._has_bits_[0],
2703 0x00000008U);
2704}
2705inline ::int32_t ClassAssignment::section_number() const {
2706 // @@protoc_insertion_point(field_get:operations_research.ClassAssignment.section_number)
2707 return _internal_section_number();
2708}
2709inline void ClassAssignment::set_section_number(::int32_t value) {
2710 _internal_set_section_number(value);
2711 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
2712 // @@protoc_insertion_point(field_set:operations_research.ClassAssignment.section_number)
2714inline ::int32_t ClassAssignment::_internal_section_number() const {
2715 ::google::protobuf::internal::TSanRead(&_impl_);
2716 return _impl_.section_number_;
2717}
2718inline void ClassAssignment::_internal_set_section_number(::int32_t value) {
2719 ::google::protobuf::internal::TSanWrite(&_impl_);
2720 _impl_.section_number_ = value;
2721}
2722
2723// repeated int32 time_slots = 3;
2724inline int ClassAssignment::_internal_time_slots_size() const {
2725 return _internal_time_slots().size();
2726}
2727inline int ClassAssignment::time_slots_size() const {
2728 return _internal_time_slots_size();
2729}
2731 ::google::protobuf::internal::TSanWrite(&_impl_);
2732 _impl_.time_slots_.Clear();
2733 ClearHasBitForRepeated(_impl_._has_bits_[0],
2734 0x00000001U);
2735}
2736inline ::int32_t ClassAssignment::time_slots(int index) const {
2737 // @@protoc_insertion_point(field_get:operations_research.ClassAssignment.time_slots)
2738 return _internal_time_slots().Get(index);
2739}
2740inline void ClassAssignment::set_time_slots(int index, ::int32_t value) {
2741 _internal_mutable_time_slots()->Set(index, value);
2742 // @@protoc_insertion_point(field_set:operations_research.ClassAssignment.time_slots)
2743}
2744inline void ClassAssignment::add_time_slots(::int32_t value) {
2745 ::google::protobuf::internal::TSanWrite(&_impl_);
2746 _internal_mutable_time_slots()->Add(value);
2747 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2748 // @@protoc_insertion_point(field_add:operations_research.ClassAssignment.time_slots)
2749}
2750inline const ::google::protobuf::RepeatedField<::int32_t>& ClassAssignment::time_slots() const
2751 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2752 // @@protoc_insertion_point(field_list:operations_research.ClassAssignment.time_slots)
2753 return _internal_time_slots();
2755inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ClassAssignment::mutable_time_slots()
2756 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2757 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2758 // @@protoc_insertion_point(field_mutable_list:operations_research.ClassAssignment.time_slots)
2759 ::google::protobuf::internal::TSanWrite(&_impl_);
2760 return _internal_mutable_time_slots();
2761}
2762inline const ::google::protobuf::RepeatedField<::int32_t>&
2763ClassAssignment::_internal_time_slots() const {
2764 ::google::protobuf::internal::TSanRead(&_impl_);
2765 return _impl_.time_slots_;
2766}
2767inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
2768ClassAssignment::_internal_mutable_time_slots() {
2769 ::google::protobuf::internal::TSanRead(&_impl_);
2770 return &_impl_.time_slots_;
2771}
2772
2773// repeated int32 room_indices = 4;
2774inline int ClassAssignment::_internal_room_indices_size() const {
2775 return _internal_room_indices().size();
2776}
2777inline int ClassAssignment::room_indices_size() const {
2778 return _internal_room_indices_size();
2779}
2781 ::google::protobuf::internal::TSanWrite(&_impl_);
2782 _impl_.room_indices_.Clear();
2783 ClearHasBitForRepeated(_impl_._has_bits_[0],
2784 0x00000002U);
2785}
2786inline ::int32_t ClassAssignment::room_indices(int index) const {
2787 // @@protoc_insertion_point(field_get:operations_research.ClassAssignment.room_indices)
2788 return _internal_room_indices().Get(index);
2789}
2790inline void ClassAssignment::set_room_indices(int index, ::int32_t value) {
2791 _internal_mutable_room_indices()->Set(index, value);
2792 // @@protoc_insertion_point(field_set:operations_research.ClassAssignment.room_indices)
2793}
2794inline void ClassAssignment::add_room_indices(::int32_t value) {
2795 ::google::protobuf::internal::TSanWrite(&_impl_);
2796 _internal_mutable_room_indices()->Add(value);
2797 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
2798 // @@protoc_insertion_point(field_add:operations_research.ClassAssignment.room_indices)
2799}
2800inline const ::google::protobuf::RepeatedField<::int32_t>& ClassAssignment::room_indices() const
2801 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2802 // @@protoc_insertion_point(field_list:operations_research.ClassAssignment.room_indices)
2803 return _internal_room_indices();
2805inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL ClassAssignment::mutable_room_indices()
2806 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2807 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
2808 // @@protoc_insertion_point(field_mutable_list:operations_research.ClassAssignment.room_indices)
2809 ::google::protobuf::internal::TSanWrite(&_impl_);
2810 return _internal_mutable_room_indices();
2811}
2812inline const ::google::protobuf::RepeatedField<::int32_t>&
2813ClassAssignment::_internal_room_indices() const {
2814 ::google::protobuf::internal::TSanRead(&_impl_);
2815 return _impl_.room_indices_;
2816}
2817inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
2818ClassAssignment::_internal_mutable_room_indices() {
2819 ::google::protobuf::internal::TSanRead(&_impl_);
2820 return &_impl_.room_indices_;
2821}
2822
2823// -------------------------------------------------------------------
2824
2825// StudentAssignment
2826
2827// int32 student_index = 1;
2829 ::google::protobuf::internal::TSanWrite(&_impl_);
2830 _impl_.student_index_ = 0;
2831 ClearHasBit(_impl_._has_bits_[0],
2832 0x00000004U);
2833}
2834inline ::int32_t StudentAssignment::student_index() const {
2835 // @@protoc_insertion_point(field_get:operations_research.StudentAssignment.student_index)
2836 return _internal_student_index();
2837}
2838inline void StudentAssignment::set_student_index(::int32_t value) {
2839 _internal_set_student_index(value);
2840 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
2841 // @@protoc_insertion_point(field_set:operations_research.StudentAssignment.student_index)
2842}
2843inline ::int32_t StudentAssignment::_internal_student_index() const {
2844 ::google::protobuf::internal::TSanRead(&_impl_);
2845 return _impl_.student_index_;
2846}
2847inline void StudentAssignment::_internal_set_student_index(::int32_t value) {
2848 ::google::protobuf::internal::TSanWrite(&_impl_);
2849 _impl_.student_index_ = value;
2850}
2851
2852// repeated int32 course_indices = 2;
2853inline int StudentAssignment::_internal_course_indices_size() const {
2854 return _internal_course_indices().size();
2855}
2856inline int StudentAssignment::course_indices_size() const {
2857 return _internal_course_indices_size();
2858}
2860 ::google::protobuf::internal::TSanWrite(&_impl_);
2861 _impl_.course_indices_.Clear();
2862 ClearHasBitForRepeated(_impl_._has_bits_[0],
2863 0x00000001U);
2864}
2865inline ::int32_t StudentAssignment::course_indices(int index) const {
2866 // @@protoc_insertion_point(field_get:operations_research.StudentAssignment.course_indices)
2867 return _internal_course_indices().Get(index);
2868}
2869inline void StudentAssignment::set_course_indices(int index, ::int32_t value) {
2870 _internal_mutable_course_indices()->Set(index, value);
2871 // @@protoc_insertion_point(field_set:operations_research.StudentAssignment.course_indices)
2872}
2873inline void StudentAssignment::add_course_indices(::int32_t value) {
2874 ::google::protobuf::internal::TSanWrite(&_impl_);
2875 _internal_mutable_course_indices()->Add(value);
2876 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2877 // @@protoc_insertion_point(field_add:operations_research.StudentAssignment.course_indices)
2878}
2879inline const ::google::protobuf::RepeatedField<::int32_t>& StudentAssignment::course_indices() const
2880 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2881 // @@protoc_insertion_point(field_list:operations_research.StudentAssignment.course_indices)
2882 return _internal_course_indices();
2883}
2884inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL StudentAssignment::mutable_course_indices()
2885 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2886 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2887 // @@protoc_insertion_point(field_mutable_list:operations_research.StudentAssignment.course_indices)
2888 ::google::protobuf::internal::TSanWrite(&_impl_);
2889 return _internal_mutable_course_indices();
2890}
2891inline const ::google::protobuf::RepeatedField<::int32_t>&
2892StudentAssignment::_internal_course_indices() const {
2893 ::google::protobuf::internal::TSanRead(&_impl_);
2894 return _impl_.course_indices_;
2895}
2896inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
2897StudentAssignment::_internal_mutable_course_indices() {
2898 ::google::protobuf::internal::TSanRead(&_impl_);
2899 return &_impl_.course_indices_;
2900}
2901
2902// repeated int32 section_indices = 3;
2903inline int StudentAssignment::_internal_section_indices_size() const {
2904 return _internal_section_indices().size();
2905}
2906inline int StudentAssignment::section_indices_size() const {
2907 return _internal_section_indices_size();
2908}
2910 ::google::protobuf::internal::TSanWrite(&_impl_);
2911 _impl_.section_indices_.Clear();
2912 ClearHasBitForRepeated(_impl_._has_bits_[0],
2913 0x00000002U);
2914}
2915inline ::int32_t StudentAssignment::section_indices(int index) const {
2916 // @@protoc_insertion_point(field_get:operations_research.StudentAssignment.section_indices)
2917 return _internal_section_indices().Get(index);
2918}
2919inline void StudentAssignment::set_section_indices(int index, ::int32_t value) {
2920 _internal_mutable_section_indices()->Set(index, value);
2921 // @@protoc_insertion_point(field_set:operations_research.StudentAssignment.section_indices)
2922}
2923inline void StudentAssignment::add_section_indices(::int32_t value) {
2924 ::google::protobuf::internal::TSanWrite(&_impl_);
2925 _internal_mutable_section_indices()->Add(value);
2926 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
2927 // @@protoc_insertion_point(field_add:operations_research.StudentAssignment.section_indices)
2928}
2929inline const ::google::protobuf::RepeatedField<::int32_t>& StudentAssignment::section_indices() const
2930 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2931 // @@protoc_insertion_point(field_list:operations_research.StudentAssignment.section_indices)
2932 return _internal_section_indices();
2933}
2934inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL StudentAssignment::mutable_section_indices()
2935 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2936 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
2937 // @@protoc_insertion_point(field_mutable_list:operations_research.StudentAssignment.section_indices)
2938 ::google::protobuf::internal::TSanWrite(&_impl_);
2939 return _internal_mutable_section_indices();
2940}
2941inline const ::google::protobuf::RepeatedField<::int32_t>&
2942StudentAssignment::_internal_section_indices() const {
2943 ::google::protobuf::internal::TSanRead(&_impl_);
2944 return _impl_.section_indices_;
2945}
2946inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
2947StudentAssignment::_internal_mutable_section_indices() {
2948 ::google::protobuf::internal::TSanRead(&_impl_);
2949 return &_impl_.section_indices_;
2950}
2951
2952// -------------------------------------------------------------------
2953
2954// Course
2955
2956// string display_name = 1;
2957inline void Course::clear_display_name() {
2958 ::google::protobuf::internal::TSanWrite(&_impl_);
2959 _impl_.display_name_.ClearToEmpty();
2960 ClearHasBit(_impl_._has_bits_[0],
2961 0x00000008U);
2962}
2963inline const ::std::string& Course::display_name() const
2964 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2965 // @@protoc_insertion_point(field_get:operations_research.Course.display_name)
2966 return _internal_display_name();
2967}
2968template <typename Arg_, typename... Args_>
2969PROTOBUF_ALWAYS_INLINE void Course::set_display_name(Arg_&& arg, Args_... args) {
2970 ::google::protobuf::internal::TSanWrite(&_impl_);
2971 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
2972 _impl_.display_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
2973 // @@protoc_insertion_point(field_set:operations_research.Course.display_name)
2974}
2975inline ::std::string* PROTOBUF_NONNULL Course::mutable_display_name()
2976 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2977 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
2978 ::std::string* _s = _internal_mutable_display_name();
2979 // @@protoc_insertion_point(field_mutable:operations_research.Course.display_name)
2980 return _s;
2981}
2982inline const ::std::string& Course::_internal_display_name() const {
2983 ::google::protobuf::internal::TSanRead(&_impl_);
2984 return _impl_.display_name_.Get();
2986inline void Course::_internal_set_display_name(const ::std::string& value) {
2987 ::google::protobuf::internal::TSanWrite(&_impl_);
2988 _impl_.display_name_.Set(value, GetArena());
2989}
2990inline ::std::string* PROTOBUF_NONNULL Course::_internal_mutable_display_name() {
2991 ::google::protobuf::internal::TSanWrite(&_impl_);
2992 return _impl_.display_name_.Mutable( GetArena());
2993}
2994inline ::std::string* PROTOBUF_NULLABLE Course::release_display_name() {
2995 ::google::protobuf::internal::TSanWrite(&_impl_);
2996 // @@protoc_insertion_point(field_release:operations_research.Course.display_name)
2997 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
2998 return nullptr;
2999 }
3000 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
3001 auto* released = _impl_.display_name_.Release();
3002 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
3003 _impl_.display_name_.Set("", GetArena());
3004 }
3005 return released;
3006}
3007inline void Course::set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value) {
3008 ::google::protobuf::internal::TSanWrite(&_impl_);
3009 if (value != nullptr) {
3010 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
3011 } else {
3012 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
3013 }
3014 _impl_.display_name_.SetAllocated(value, GetArena());
3015 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.display_name_.IsDefault()) {
3016 _impl_.display_name_.Set("", GetArena());
3017 }
3018 // @@protoc_insertion_point(field_set_allocated:operations_research.Course.display_name)
3019}
3020
3021// int32 meetings_count = 2;
3022inline void Course::clear_meetings_count() {
3023 ::google::protobuf::internal::TSanWrite(&_impl_);
3024 _impl_.meetings_count_ = 0;
3025 ClearHasBit(_impl_._has_bits_[0],
3026 0x00000010U);
3027}
3028inline ::int32_t Course::meetings_count() const {
3029 // @@protoc_insertion_point(field_get:operations_research.Course.meetings_count)
3030 return _internal_meetings_count();
3031}
3032inline void Course::set_meetings_count(::int32_t value) {
3033 _internal_set_meetings_count(value);
3034 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
3035 // @@protoc_insertion_point(field_set:operations_research.Course.meetings_count)
3036}
3037inline ::int32_t Course::_internal_meetings_count() const {
3038 ::google::protobuf::internal::TSanRead(&_impl_);
3039 return _impl_.meetings_count_;
3040}
3041inline void Course::_internal_set_meetings_count(::int32_t value) {
3042 ::google::protobuf::internal::TSanWrite(&_impl_);
3043 _impl_.meetings_count_ = value;
3045
3046// int32 max_capacity = 3;
3047inline void Course::clear_max_capacity() {
3048 ::google::protobuf::internal::TSanWrite(&_impl_);
3049 _impl_.max_capacity_ = 0;
3050 ClearHasBit(_impl_._has_bits_[0],
3051 0x00000020U);
3052}
3053inline ::int32_t Course::max_capacity() const {
3054 // @@protoc_insertion_point(field_get:operations_research.Course.max_capacity)
3055 return _internal_max_capacity();
3056}
3057inline void Course::set_max_capacity(::int32_t value) {
3058 _internal_set_max_capacity(value);
3059 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
3060 // @@protoc_insertion_point(field_set:operations_research.Course.max_capacity)
3061}
3062inline ::int32_t Course::_internal_max_capacity() const {
3063 ::google::protobuf::internal::TSanRead(&_impl_);
3064 return _impl_.max_capacity_;
3065}
3066inline void Course::_internal_set_max_capacity(::int32_t value) {
3067 ::google::protobuf::internal::TSanWrite(&_impl_);
3068 _impl_.max_capacity_ = value;
3070
3071// int32 min_capacity = 4;
3072inline void Course::clear_min_capacity() {
3073 ::google::protobuf::internal::TSanWrite(&_impl_);
3074 _impl_.min_capacity_ = 0;
3075 ClearHasBit(_impl_._has_bits_[0],
3076 0x00000040U);
3077}
3078inline ::int32_t Course::min_capacity() const {
3079 // @@protoc_insertion_point(field_get:operations_research.Course.min_capacity)
3080 return _internal_min_capacity();
3081}
3082inline void Course::set_min_capacity(::int32_t value) {
3083 _internal_set_min_capacity(value);
3084 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
3085 // @@protoc_insertion_point(field_set:operations_research.Course.min_capacity)
3086}
3087inline ::int32_t Course::_internal_min_capacity() const {
3088 ::google::protobuf::internal::TSanRead(&_impl_);
3089 return _impl_.min_capacity_;
3090}
3091inline void Course::_internal_set_min_capacity(::int32_t value) {
3092 ::google::protobuf::internal::TSanWrite(&_impl_);
3093 _impl_.min_capacity_ = value;
3095
3096// int32 consecutive_slots_count = 5;
3098 ::google::protobuf::internal::TSanWrite(&_impl_);
3099 _impl_.consecutive_slots_count_ = 0;
3100 ClearHasBit(_impl_._has_bits_[0],
3101 0x00000080U);
3102}
3103inline ::int32_t Course::consecutive_slots_count() const {
3104 // @@protoc_insertion_point(field_get:operations_research.Course.consecutive_slots_count)
3105 return _internal_consecutive_slots_count();
3106}
3107inline void Course::set_consecutive_slots_count(::int32_t value) {
3108 _internal_set_consecutive_slots_count(value);
3109 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
3110 // @@protoc_insertion_point(field_set:operations_research.Course.consecutive_slots_count)
3111}
3112inline ::int32_t Course::_internal_consecutive_slots_count() const {
3113 ::google::protobuf::internal::TSanRead(&_impl_);
3114 return _impl_.consecutive_slots_count_;
3115}
3116inline void Course::_internal_set_consecutive_slots_count(::int32_t value) {
3117 ::google::protobuf::internal::TSanWrite(&_impl_);
3118 _impl_.consecutive_slots_count_ = value;
3120
3121// repeated int32 teacher_indices = 6;
3122inline int Course::_internal_teacher_indices_size() const {
3123 return _internal_teacher_indices().size();
3124}
3125inline int Course::teacher_indices_size() const {
3126 return _internal_teacher_indices_size();
3127}
3128inline void Course::clear_teacher_indices() {
3129 ::google::protobuf::internal::TSanWrite(&_impl_);
3130 _impl_.teacher_indices_.Clear();
3131 ClearHasBitForRepeated(_impl_._has_bits_[0],
3132 0x00000001U);
3133}
3134inline ::int32_t Course::teacher_indices(int index) const {
3135 // @@protoc_insertion_point(field_get:operations_research.Course.teacher_indices)
3136 return _internal_teacher_indices().Get(index);
3137}
3138inline void Course::set_teacher_indices(int index, ::int32_t value) {
3139 _internal_mutable_teacher_indices()->Set(index, value);
3140 // @@protoc_insertion_point(field_set:operations_research.Course.teacher_indices)
3142inline void Course::add_teacher_indices(::int32_t value) {
3143 ::google::protobuf::internal::TSanWrite(&_impl_);
3144 _internal_mutable_teacher_indices()->Add(value);
3145 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
3146 // @@protoc_insertion_point(field_add:operations_research.Course.teacher_indices)
3147}
3148inline const ::google::protobuf::RepeatedField<::int32_t>& Course::teacher_indices() const
3149 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3150 // @@protoc_insertion_point(field_list:operations_research.Course.teacher_indices)
3151 return _internal_teacher_indices();
3152}
3153inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Course::mutable_teacher_indices()
3154 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3155 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
3156 // @@protoc_insertion_point(field_mutable_list:operations_research.Course.teacher_indices)
3157 ::google::protobuf::internal::TSanWrite(&_impl_);
3158 return _internal_mutable_teacher_indices();
3159}
3160inline const ::google::protobuf::RepeatedField<::int32_t>&
3161Course::_internal_teacher_indices() const {
3162 ::google::protobuf::internal::TSanRead(&_impl_);
3163 return _impl_.teacher_indices_;
3165inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
3166Course::_internal_mutable_teacher_indices() {
3167 ::google::protobuf::internal::TSanRead(&_impl_);
3168 return &_impl_.teacher_indices_;
3170
3171// repeated int32 teacher_section_counts = 7;
3172inline int Course::_internal_teacher_section_counts_size() const {
3173 return _internal_teacher_section_counts().size();
3174}
3175inline int Course::teacher_section_counts_size() const {
3176 return _internal_teacher_section_counts_size();
3177}
3179 ::google::protobuf::internal::TSanWrite(&_impl_);
3180 _impl_.teacher_section_counts_.Clear();
3181 ClearHasBitForRepeated(_impl_._has_bits_[0],
3182 0x00000002U);
3183}
3184inline ::int32_t Course::teacher_section_counts(int index) const {
3185 // @@protoc_insertion_point(field_get:operations_research.Course.teacher_section_counts)
3186 return _internal_teacher_section_counts().Get(index);
3187}
3188inline void Course::set_teacher_section_counts(int index, ::int32_t value) {
3189 _internal_mutable_teacher_section_counts()->Set(index, value);
3190 // @@protoc_insertion_point(field_set:operations_research.Course.teacher_section_counts)
3192inline void Course::add_teacher_section_counts(::int32_t value) {
3193 ::google::protobuf::internal::TSanWrite(&_impl_);
3194 _internal_mutable_teacher_section_counts()->Add(value);
3195 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
3196 // @@protoc_insertion_point(field_add:operations_research.Course.teacher_section_counts)
3197}
3198inline const ::google::protobuf::RepeatedField<::int32_t>& Course::teacher_section_counts() const
3199 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3200 // @@protoc_insertion_point(field_list:operations_research.Course.teacher_section_counts)
3201 return _internal_teacher_section_counts();
3202}
3203inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Course::mutable_teacher_section_counts()
3204 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3205 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
3206 // @@protoc_insertion_point(field_mutable_list:operations_research.Course.teacher_section_counts)
3207 ::google::protobuf::internal::TSanWrite(&_impl_);
3208 return _internal_mutable_teacher_section_counts();
3209}
3210inline const ::google::protobuf::RepeatedField<::int32_t>&
3211Course::_internal_teacher_section_counts() const {
3212 ::google::protobuf::internal::TSanRead(&_impl_);
3213 return _impl_.teacher_section_counts_;
3215inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
3216Course::_internal_mutable_teacher_section_counts() {
3217 ::google::protobuf::internal::TSanRead(&_impl_);
3218 return &_impl_.teacher_section_counts_;
3220
3221// repeated int32 room_indices = 8;
3222inline int Course::_internal_room_indices_size() const {
3223 return _internal_room_indices().size();
3224}
3225inline int Course::room_indices_size() const {
3226 return _internal_room_indices_size();
3227}
3228inline void Course::clear_room_indices() {
3229 ::google::protobuf::internal::TSanWrite(&_impl_);
3230 _impl_.room_indices_.Clear();
3231 ClearHasBitForRepeated(_impl_._has_bits_[0],
3232 0x00000004U);
3233}
3234inline ::int32_t Course::room_indices(int index) const {
3235 // @@protoc_insertion_point(field_get:operations_research.Course.room_indices)
3236 return _internal_room_indices().Get(index);
3237}
3238inline void Course::set_room_indices(int index, ::int32_t value) {
3239 _internal_mutable_room_indices()->Set(index, value);
3240 // @@protoc_insertion_point(field_set:operations_research.Course.room_indices)
3242inline void Course::add_room_indices(::int32_t value) {
3243 ::google::protobuf::internal::TSanWrite(&_impl_);
3244 _internal_mutable_room_indices()->Add(value);
3245 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
3246 // @@protoc_insertion_point(field_add:operations_research.Course.room_indices)
3247}
3248inline const ::google::protobuf::RepeatedField<::int32_t>& Course::room_indices() const
3249 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3250 // @@protoc_insertion_point(field_list:operations_research.Course.room_indices)
3251 return _internal_room_indices();
3252}
3253inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Course::mutable_room_indices()
3254 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3255 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
3256 // @@protoc_insertion_point(field_mutable_list:operations_research.Course.room_indices)
3257 ::google::protobuf::internal::TSanWrite(&_impl_);
3258 return _internal_mutable_room_indices();
3259}
3260inline const ::google::protobuf::RepeatedField<::int32_t>&
3261Course::_internal_room_indices() const {
3262 ::google::protobuf::internal::TSanRead(&_impl_);
3263 return _impl_.room_indices_;
3265inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
3266Course::_internal_mutable_room_indices() {
3267 ::google::protobuf::internal::TSanRead(&_impl_);
3268 return &_impl_.room_indices_;
3270
3271// -------------------------------------------------------------------
3272
3273// Teacher
3274
3275// string display_name = 1;
3276inline void Teacher::clear_display_name() {
3277 ::google::protobuf::internal::TSanWrite(&_impl_);
3278 _impl_.display_name_.ClearToEmpty();
3279 ClearHasBit(_impl_._has_bits_[0],
3280 0x00000002U);
3281}
3282inline const ::std::string& Teacher::display_name() const
3283 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3284 // @@protoc_insertion_point(field_get:operations_research.Teacher.display_name)
3285 return _internal_display_name();
3286}
3287template <typename Arg_, typename... Args_>
3288PROTOBUF_ALWAYS_INLINE void Teacher::set_display_name(Arg_&& arg, Args_... args) {
3289 ::google::protobuf::internal::TSanWrite(&_impl_);
3290 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3291 _impl_.display_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
3292 // @@protoc_insertion_point(field_set:operations_research.Teacher.display_name)
3294inline ::std::string* PROTOBUF_NONNULL Teacher::mutable_display_name()
3295 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3296 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3297 ::std::string* _s = _internal_mutable_display_name();
3298 // @@protoc_insertion_point(field_mutable:operations_research.Teacher.display_name)
3299 return _s;
3300}
3301inline const ::std::string& Teacher::_internal_display_name() const {
3302 ::google::protobuf::internal::TSanRead(&_impl_);
3303 return _impl_.display_name_.Get();
3304}
3305inline void Teacher::_internal_set_display_name(const ::std::string& value) {
3306 ::google::protobuf::internal::TSanWrite(&_impl_);
3307 _impl_.display_name_.Set(value, GetArena());
3308}
3309inline ::std::string* PROTOBUF_NONNULL Teacher::_internal_mutable_display_name() {
3310 ::google::protobuf::internal::TSanWrite(&_impl_);
3311 return _impl_.display_name_.Mutable( GetArena());
3312}
3313inline ::std::string* PROTOBUF_NULLABLE Teacher::release_display_name() {
3314 ::google::protobuf::internal::TSanWrite(&_impl_);
3315 // @@protoc_insertion_point(field_release:operations_research.Teacher.display_name)
3316 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
3317 return nullptr;
3318 }
3319 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
3320 auto* released = _impl_.display_name_.Release();
3321 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
3322 _impl_.display_name_.Set("", GetArena());
3323 }
3324 return released;
3325}
3326inline void Teacher::set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value) {
3327 ::google::protobuf::internal::TSanWrite(&_impl_);
3328 if (value != nullptr) {
3329 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3330 } else {
3331 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
3332 }
3333 _impl_.display_name_.SetAllocated(value, GetArena());
3334 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.display_name_.IsDefault()) {
3335 _impl_.display_name_.Set("", GetArena());
3336 }
3337 // @@protoc_insertion_point(field_set_allocated:operations_research.Teacher.display_name)
3338}
3339
3340// repeated int32 restricted_time_slots = 2;
3341inline int Teacher::_internal_restricted_time_slots_size() const {
3342 return _internal_restricted_time_slots().size();
3344inline int Teacher::restricted_time_slots_size() const {
3345 return _internal_restricted_time_slots_size();
3346}
3348 ::google::protobuf::internal::TSanWrite(&_impl_);
3349 _impl_.restricted_time_slots_.Clear();
3350 ClearHasBitForRepeated(_impl_._has_bits_[0],
3351 0x00000001U);
3352}
3353inline ::int32_t Teacher::restricted_time_slots(int index) const {
3354 // @@protoc_insertion_point(field_get:operations_research.Teacher.restricted_time_slots)
3355 return _internal_restricted_time_slots().Get(index);
3356}
3357inline void Teacher::set_restricted_time_slots(int index, ::int32_t value) {
3358 _internal_mutable_restricted_time_slots()->Set(index, value);
3359 // @@protoc_insertion_point(field_set:operations_research.Teacher.restricted_time_slots)
3360}
3361inline void Teacher::add_restricted_time_slots(::int32_t value) {
3362 ::google::protobuf::internal::TSanWrite(&_impl_);
3363 _internal_mutable_restricted_time_slots()->Add(value);
3364 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
3365 // @@protoc_insertion_point(field_add:operations_research.Teacher.restricted_time_slots)
3366}
3367inline const ::google::protobuf::RepeatedField<::int32_t>& Teacher::restricted_time_slots() const
3368 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3369 // @@protoc_insertion_point(field_list:operations_research.Teacher.restricted_time_slots)
3370 return _internal_restricted_time_slots();
3371}
3372inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Teacher::mutable_restricted_time_slots()
3373 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3374 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
3375 // @@protoc_insertion_point(field_mutable_list:operations_research.Teacher.restricted_time_slots)
3376 ::google::protobuf::internal::TSanWrite(&_impl_);
3377 return _internal_mutable_restricted_time_slots();
3379inline const ::google::protobuf::RepeatedField<::int32_t>&
3380Teacher::_internal_restricted_time_slots() const {
3381 ::google::protobuf::internal::TSanRead(&_impl_);
3382 return _impl_.restricted_time_slots_;
3383}
3384inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
3385Teacher::_internal_mutable_restricted_time_slots() {
3386 ::google::protobuf::internal::TSanRead(&_impl_);
3387 return &_impl_.restricted_time_slots_;
3388}
3390// -------------------------------------------------------------------
3391
3392// Student
3393
3394// string display_name = 1;
3395inline void Student::clear_display_name() {
3396 ::google::protobuf::internal::TSanWrite(&_impl_);
3397 _impl_.display_name_.ClearToEmpty();
3398 ClearHasBit(_impl_._has_bits_[0],
3399 0x00000002U);
3400}
3401inline const ::std::string& Student::display_name() const
3402 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3403 // @@protoc_insertion_point(field_get:operations_research.Student.display_name)
3404 return _internal_display_name();
3405}
3406template <typename Arg_, typename... Args_>
3407PROTOBUF_ALWAYS_INLINE void Student::set_display_name(Arg_&& arg, Args_... args) {
3408 ::google::protobuf::internal::TSanWrite(&_impl_);
3409 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3410 _impl_.display_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
3411 // @@protoc_insertion_point(field_set:operations_research.Student.display_name)
3412}
3413inline ::std::string* PROTOBUF_NONNULL Student::mutable_display_name()
3414 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3415 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3416 ::std::string* _s = _internal_mutable_display_name();
3417 // @@protoc_insertion_point(field_mutable:operations_research.Student.display_name)
3418 return _s;
3420inline const ::std::string& Student::_internal_display_name() const {
3421 ::google::protobuf::internal::TSanRead(&_impl_);
3422 return _impl_.display_name_.Get();
3423}
3424inline void Student::_internal_set_display_name(const ::std::string& value) {
3425 ::google::protobuf::internal::TSanWrite(&_impl_);
3426 _impl_.display_name_.Set(value, GetArena());
3427}
3428inline ::std::string* PROTOBUF_NONNULL Student::_internal_mutable_display_name() {
3429 ::google::protobuf::internal::TSanWrite(&_impl_);
3430 return _impl_.display_name_.Mutable( GetArena());
3432inline ::std::string* PROTOBUF_NULLABLE Student::release_display_name() {
3433 ::google::protobuf::internal::TSanWrite(&_impl_);
3434 // @@protoc_insertion_point(field_release:operations_research.Student.display_name)
3435 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
3436 return nullptr;
3437 }
3438 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
3439 auto* released = _impl_.display_name_.Release();
3440 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
3441 _impl_.display_name_.Set("", GetArena());
3442 }
3443 return released;
3444}
3445inline void Student::set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value) {
3446 ::google::protobuf::internal::TSanWrite(&_impl_);
3447 if (value != nullptr) {
3448 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3449 } else {
3450 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
3451 }
3452 _impl_.display_name_.SetAllocated(value, GetArena());
3453 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.display_name_.IsDefault()) {
3454 _impl_.display_name_.Set("", GetArena());
3455 }
3456 // @@protoc_insertion_point(field_set_allocated:operations_research.Student.display_name)
3457}
3458
3459// repeated int32 course_indices = 2;
3460inline int Student::_internal_course_indices_size() const {
3461 return _internal_course_indices().size();
3462}
3464 return _internal_course_indices_size();
3465}
3466inline void Student::clear_course_indices() {
3467 ::google::protobuf::internal::TSanWrite(&_impl_);
3468 _impl_.course_indices_.Clear();
3469 ClearHasBitForRepeated(_impl_._has_bits_[0],
3470 0x00000001U);
3471}
3472inline ::int32_t Student::course_indices(int index) const {
3473 // @@protoc_insertion_point(field_get:operations_research.Student.course_indices)
3474 return _internal_course_indices().Get(index);
3475}
3476inline void Student::set_course_indices(int index, ::int32_t value) {
3477 _internal_mutable_course_indices()->Set(index, value);
3478 // @@protoc_insertion_point(field_set:operations_research.Student.course_indices)
3479}
3480inline void Student::add_course_indices(::int32_t value) {
3481 ::google::protobuf::internal::TSanWrite(&_impl_);
3482 _internal_mutable_course_indices()->Add(value);
3483 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
3484 // @@protoc_insertion_point(field_add:operations_research.Student.course_indices)
3485}
3486inline const ::google::protobuf::RepeatedField<::int32_t>& Student::course_indices() const
3487 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3488 // @@protoc_insertion_point(field_list:operations_research.Student.course_indices)
3489 return _internal_course_indices();
3491inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Student::mutable_course_indices()
3492 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3493 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
3494 // @@protoc_insertion_point(field_mutable_list:operations_research.Student.course_indices)
3495 ::google::protobuf::internal::TSanWrite(&_impl_);
3496 return _internal_mutable_course_indices();
3497}
3498inline const ::google::protobuf::RepeatedField<::int32_t>&
3499Student::_internal_course_indices() const {
3500 ::google::protobuf::internal::TSanRead(&_impl_);
3501 return _impl_.course_indices_;
3502}
3503inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
3504Student::_internal_mutable_course_indices() {
3505 ::google::protobuf::internal::TSanRead(&_impl_);
3506 return &_impl_.course_indices_;
3507}
3508
3509// -------------------------------------------------------------------
3510
3511// Room
3512
3513// string display_name = 1;
3514inline void Room::clear_display_name() {
3515 ::google::protobuf::internal::TSanWrite(&_impl_);
3516 _impl_.display_name_.ClearToEmpty();
3517 ClearHasBit(_impl_._has_bits_[0],
3518 0x00000001U);
3519}
3520inline const ::std::string& Room::display_name() const
3521 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3522 // @@protoc_insertion_point(field_get:operations_research.Room.display_name)
3523 return _internal_display_name();
3524}
3525template <typename Arg_, typename... Args_>
3526PROTOBUF_ALWAYS_INLINE void Room::set_display_name(Arg_&& arg, Args_... args) {
3527 ::google::protobuf::internal::TSanWrite(&_impl_);
3528 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3529 _impl_.display_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
3530 // @@protoc_insertion_point(field_set:operations_research.Room.display_name)
3531}
3532inline ::std::string* PROTOBUF_NONNULL Room::mutable_display_name()
3533 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3534 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3535 ::std::string* _s = _internal_mutable_display_name();
3536 // @@protoc_insertion_point(field_mutable:operations_research.Room.display_name)
3537 return _s;
3538}
3539inline const ::std::string& Room::_internal_display_name() const {
3540 ::google::protobuf::internal::TSanRead(&_impl_);
3541 return _impl_.display_name_.Get();
3542}
3543inline void Room::_internal_set_display_name(const ::std::string& value) {
3544 ::google::protobuf::internal::TSanWrite(&_impl_);
3545 _impl_.display_name_.Set(value, GetArena());
3546}
3547inline ::std::string* PROTOBUF_NONNULL Room::_internal_mutable_display_name() {
3548 ::google::protobuf::internal::TSanWrite(&_impl_);
3549 return _impl_.display_name_.Mutable( GetArena());
3550}
3551inline ::std::string* PROTOBUF_NULLABLE Room::release_display_name() {
3552 ::google::protobuf::internal::TSanWrite(&_impl_);
3553 // @@protoc_insertion_point(field_release:operations_research.Room.display_name)
3554 if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
3555 return nullptr;
3556 }
3557 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3558 auto* released = _impl_.display_name_.Release();
3559 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
3560 _impl_.display_name_.Set("", GetArena());
3561 }
3562 return released;
3563}
3564inline void Room::set_allocated_display_name(::std::string* PROTOBUF_NULLABLE value) {
3565 ::google::protobuf::internal::TSanWrite(&_impl_);
3566 if (value != nullptr) {
3567 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3568 } else {
3569 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3571 _impl_.display_name_.SetAllocated(value, GetArena());
3572 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.display_name_.IsDefault()) {
3573 _impl_.display_name_.Set("", GetArena());
3574 }
3575 // @@protoc_insertion_point(field_set_allocated:operations_research.Room.display_name)
3576}
3577
3578// int32 capacity = 2;
3579inline void Room::clear_capacity() {
3580 ::google::protobuf::internal::TSanWrite(&_impl_);
3581 _impl_.capacity_ = 0;
3582 ClearHasBit(_impl_._has_bits_[0],
3583 0x00000002U);
3584}
3585inline ::int32_t Room::capacity() const {
3586 // @@protoc_insertion_point(field_get:operations_research.Room.capacity)
3587 return _internal_capacity();
3588}
3589inline void Room::set_capacity(::int32_t value) {
3590 _internal_set_capacity(value);
3591 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3592 // @@protoc_insertion_point(field_set:operations_research.Room.capacity)
3593}
3594inline ::int32_t Room::_internal_capacity() const {
3595 ::google::protobuf::internal::TSanRead(&_impl_);
3596 return _impl_.capacity_;
3597}
3598inline void Room::_internal_set_capacity(::int32_t value) {
3599 ::google::protobuf::internal::TSanWrite(&_impl_);
3600 _impl_.capacity_ = value;
3601}
3602
3603#ifdef __GNUC__
3604#pragma GCC diagnostic pop
3605#endif // __GNUC__
3606
3607// @@protoc_insertion_point(namespace_scope)
3608} // namespace operations_research
3609
3610
3611namespace google {
3612namespace protobuf {
3613
3614template <>
3615struct is_proto_enum<::operations_research::CourseSchedulingResultStatus> : std::true_type {};
3616template <>
3617inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::CourseSchedulingResultStatus>() {
3618 return ::operations_research::CourseSchedulingResultStatus_descriptor();
3619}
3620
3621} // namespace protobuf
3622} // namespace google
3623
3624// @@protoc_insertion_point(global_scope)
3625
3626#include "google/protobuf/port_undef.inc"
3627
3628#endif // ortools_2fscheduling_2fcourse_5fscheduling_2eproto_2epb_2eh
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_room_indices()
const ::google::protobuf::RepeatedField<::int32_t > & room_indices() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
ClassAssignment *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void set_room_indices(int index, ::int32_t value)
ClassAssignment & operator=(const ClassAssignment &from)
void Swap(ClassAssignment *PROTOBUF_NONNULL other)
void set_time_slots(int index, ::int32_t value)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_time_slots()
static const ClassAssignment & default_instance()
const ::google::protobuf::RepeatedField<::int32_t > & time_slots() const
friend void swap(ClassAssignment &a, ClassAssignment &b)
::std::string *PROTOBUF_NULLABLE release_display_name()
::google::protobuf::RepeatedPtrField<::operations_research::Student > *PROTOBUF_NONNULL mutable_students()
const ::operations_research::Teacher & teachers(int index) const
::std::string *PROTOBUF_NONNULL mutable_display_name()
const ::operations_research::Course & courses(int index) const
void Swap(CourseSchedulingModel *PROTOBUF_NONNULL other)
void set_allocated_display_name(::std::string *PROTOBUF_NULLABLE value)
::operations_research::Teacher *PROTOBUF_NONNULL mutable_teachers(int index)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
const ::operations_research::Student & students(int index) const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
::operations_research::Student *PROTOBUF_NONNULL mutable_students(int index)
static const CourseSchedulingModel & default_instance()
::operations_research::Course *PROTOBUF_NONNULL mutable_courses(int index)
::google::protobuf::RepeatedPtrField<::operations_research::Room > *PROTOBUF_NONNULL mutable_rooms()
const ::google::protobuf::RepeatedPtrField<::operations_research::Room > & rooms() const
void CopyFrom(const CourseSchedulingModel &from)
void UnsafeArenaSwap(CourseSchedulingModel *PROTOBUF_NONNULL other)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
const ::google::protobuf::RepeatedPtrField<::operations_research::Course > & courses() const
const ::google::protobuf::RepeatedPtrField<::operations_research::Student > & students() const
const ::operations_research::Room & rooms(int index) const
CourseSchedulingModel & operator=(const CourseSchedulingModel &from)
const ::google::protobuf::RepeatedPtrField<::operations_research::Teacher > & teachers() const
::operations_research::Room *PROTOBUF_NONNULL mutable_rooms(int index)
::google::protobuf::RepeatedPtrField<::operations_research::Teacher > *PROTOBUF_NONNULL mutable_teachers()
void set_display_name(Arg_ &&arg, Args_... args)
::operations_research::Teacher *PROTOBUF_NONNULL add_teachers()
::operations_research::Student *PROTOBUF_NONNULL add_students()
::operations_research::Course *PROTOBUF_NONNULL add_courses()
::google::protobuf::RepeatedPtrField<::operations_research::Course > *PROTOBUF_NONNULL mutable_courses()
::operations_research::Room *PROTOBUF_NONNULL add_rooms()
::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment > *PROTOBUF_NONNULL mutable_student_assignments()
const ::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment > & class_assignments() const
void set_allocated_message(::std::string *PROTOBUF_NULLABLE value)
const ::operations_research::ClassAssignment & class_assignments(int index) const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void Swap(CourseSchedulingResult *PROTOBUF_NONNULL other)
::operations_research::StudentAssignment *PROTOBUF_NONNULL mutable_student_assignments(int index)
::operations_research::ClassAssignment *PROTOBUF_NONNULL add_class_assignments()
::operations_research::ClassAssignment *PROTOBUF_NONNULL mutable_class_assignments(int index)
const ::google::protobuf::RepeatedPtrField<::operations_research::StudentAssignment > & student_assignments() const
static const CourseSchedulingResult & default_instance()
::std::string *PROTOBUF_NONNULL mutable_message()
void set_message(Arg_ &&arg, Args_... args)
void set_solver_status(::operations_research::CourseSchedulingResultStatus value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
const ::operations_research::StudentAssignment & student_assignments(int index) const
::std::string *PROTOBUF_NULLABLE release_message()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
void UnsafeArenaSwap(CourseSchedulingResult *PROTOBUF_NONNULL other)
friend void swap(CourseSchedulingResult &a, CourseSchedulingResult &b)
CourseSchedulingResult *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::google::protobuf::RepeatedPtrField<::operations_research::ClassAssignment > *PROTOBUF_NONNULL mutable_class_assignments()
::operations_research::StudentAssignment *PROTOBUF_NONNULL add_student_assignments()
::operations_research::CourseSchedulingResultStatus solver_status() const
const ::google::protobuf::RepeatedField<::int32_t > & teacher_section_counts() const
const ::google::protobuf::RepeatedField<::int32_t > & room_indices() const
void set_allocated_display_name(::std::string *PROTOBUF_NULLABLE value)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_teacher_indices()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void set_meetings_count(::int32_t value)
::int32_t room_indices(int index) const
static const Course & default_instance()
void set_teacher_section_counts(int index, ::int32_t value)
::size_t ByteSizeLong() const final
Course *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void Swap(Course *PROTOBUF_NONNULL other)
::std::string *PROTOBUF_NONNULL mutable_display_name()
::int32_t teacher_indices(int index) const
void set_consecutive_slots_count(::int32_t value)
void set_teacher_indices(int index, ::int32_t value)
::std::string *PROTOBUF_NULLABLE release_display_name()
void add_room_indices(::int32_t value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void add_teacher_section_counts(::int32_t value)
const ::google::protobuf::RepeatedField<::int32_t > & teacher_indices() const
void CopyFrom(const Course &from)
::int32_t teacher_section_counts(int index) const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_teacher_section_counts()
void add_teacher_indices(::int32_t value)
void set_min_capacity(::int32_t value)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_room_indices()
const ::std::string & display_name() const
void MergeFrom(const Course &from)
void set_room_indices(int index, ::int32_t value)
void set_display_name(Arg_ &&arg, Args_... args)
void set_max_capacity(::int32_t value)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
Course & operator=(const Course &from)
Room *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
friend void swap(Room &a, Room &b)
::std::string *PROTOBUF_NULLABLE release_display_name()
void set_allocated_display_name(::std::string *PROTOBUF_NULLABLE value)
::size_t ByteSizeLong() const final
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::std::string *PROTOBUF_NONNULL mutable_display_name()
void CopyFrom(const Room &from)
Room & operator=(const Room &from)
void set_display_name(Arg_ &&arg, Args_... args)
const ::std::string & display_name() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void Swap(Room *PROTOBUF_NONNULL other)
void MergeFrom(const Room &from)
void set_capacity(::int32_t value)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
friend class ::google::protobuf::MessageLite
const ::google::protobuf::RepeatedField<::int32_t > & section_indices() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void set_section_indices(int index, ::int32_t value)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_section_indices()
StudentAssignment & operator=(const StudentAssignment &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static const StudentAssignment & default_instance()
PROTOBUF_CONSTEXPR StudentAssignment(::google::protobuf::internal::ConstantInitialized)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_course_indices()
void set_course_indices(int index, ::int32_t value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void MergeFrom(const StudentAssignment &from)
void Swap(StudentAssignment *PROTOBUF_NONNULL other)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const StudentAssignment &from)
const ::google::protobuf::RepeatedField<::int32_t > & course_indices() const
void CopyFrom(const Student &from)
friend class ::google::protobuf::MessageLite
::int32_t course_indices(int index) const
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_course_indices()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void set_allocated_display_name(::std::string *PROTOBUF_NULLABLE value)
void MergeFrom(const Student &from)
friend void swap(Student &a, Student &b)
static constexpr int kIndexInFileMessages
void Swap(Student *PROTOBUF_NONNULL other)
::std::string *PROTOBUF_NULLABLE release_display_name()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
const ::google::protobuf::RepeatedField<::int32_t > & course_indices() const
Student & operator=(const Student &from)
void set_display_name(Arg_ &&arg, Args_... args)
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
static const Student & default_instance()
PROTOBUF_CONSTEXPR Student(::google::protobuf::internal::ConstantInitialized)
::std::string *PROTOBUF_NONNULL mutable_display_name()
const ::std::string & display_name() const
void set_course_indices(int index, ::int32_t value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void add_course_indices(::int32_t value)
friend class ::google::protobuf::MessageLite
::int32_t restricted_time_slots(int index) const
::std::string *PROTOBUF_NONNULL mutable_display_name()
void set_display_name(Arg_ &&arg, Args_... args)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_restricted_time_slots()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_restricted_time_slots(int index, ::int32_t value)
::std::string *PROTOBUF_NULLABLE release_display_name()
PROTOBUF_CONSTEXPR Teacher(::google::protobuf::internal::ConstantInitialized)
void set_allocated_display_name(::std::string *PROTOBUF_NULLABLE value)
Teacher & operator=(const Teacher &from)
const ::std::string & display_name() const
void CopyFrom(const Teacher &from)
void add_restricted_time_slots(::int32_t value)
const ::google::protobuf::RepeatedField<::int32_t > & restricted_time_slots() const
void Swap(Teacher *PROTOBUF_NONNULL other)
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fscheduling_2fcourse_5fscheduling_2eproto
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::CourseSchedulingResultStatus >()
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_
constexpr int CourseSchedulingResultStatus_ARRAYSIZE
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_
bool CourseSchedulingResultStatus_Parse(::absl::string_view name, CourseSchedulingResultStatus *PROTOBUF_NONNULL value)
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_
const ::std::string & CourseSchedulingResultStatus_Name(T value)
constexpr CourseSchedulingResultStatus CourseSchedulingResultStatus_MIN
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_
constexpr CourseSchedulingResultStatus CourseSchedulingResultStatus_MAX
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_
bool CourseSchedulingResultStatus_IsValid(int value)
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull StudentAssignment_class_data_
@ CourseSchedulingResultStatus_INT_MIN_SENTINEL_DO_NOT_USE_
@ CourseSchedulingResultStatus_INT_MAX_SENTINEL_DO_NOT_USE_