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