OR-Tools  9.1
search_stats.pb.cc
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/constraint_solver/search_stats.proto
3 
5 
6 #include <algorithm>
7 
8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
15 // @@protoc_insertion_point(includes)
16 #include <google/protobuf/port_def.inc>
17 
18 PROTOBUF_PRAGMA_INIT_SEG
19 namespace operations_research {
21  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
22  : local_search_operator_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
23  , num_neighbors_(int64_t{0})
24  , num_filtered_neighbors_(int64_t{0})
25  , num_accepted_neighbors_(int64_t{0})
26  , duration_seconds_(0){}
29  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
31  union {
33  };
34 };
37  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
38  : local_search_filter_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
39  , num_calls_(int64_t{0})
40  , num_rejects_(int64_t{0})
41  , duration_seconds_(0){}
44  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
46  union {
48  };
49 };
52  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
53  : local_search_operator_statistics_()
54  , local_search_filter_statistics_()
55  , total_num_neighbors_(int64_t{0})
56  , total_num_filtered_neighbors_(int64_t{0})
57  , total_num_accepted_neighbors_(int64_t{0}){}
60  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
62  union {
64  };
65 };
68  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
69  : num_branches_(int64_t{0})
70  , num_failures_(int64_t{0})
71  , num_solutions_(int64_t{0})
72  , bytes_used_(int64_t{0})
73  , duration_seconds_(0){}
76  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
78  union {
80  };
81 };
84  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
85  : local_search_statistics_(nullptr)
86  , constraint_solver_statistics_(nullptr){}
89  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
91  union {
93  };
94 };
95 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SearchStatisticsDefaultTypeInternal _SearchStatistics_default_instance_;
96 } // namespace operations_research
98 static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto = nullptr;
99 static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto = nullptr;
100 
101 const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
102  ~0u, // no _has_bits_
103  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics, _internal_metadata_),
104  ~0u, // no _extensions_
105  ~0u, // no _oneof_case_
106  ~0u, // no _weak_field_map_
107  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics, local_search_operator_),
108  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics, num_neighbors_),
109  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics, num_filtered_neighbors_),
110  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics, num_accepted_neighbors_),
111  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics, duration_seconds_),
112  ~0u, // no _has_bits_
113  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics, _internal_metadata_),
114  ~0u, // no _extensions_
115  ~0u, // no _oneof_case_
116  ~0u, // no _weak_field_map_
117  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics, local_search_filter_),
119  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics, num_rejects_),
120  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics, duration_seconds_),
121  ~0u, // no _has_bits_
122  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics, _internal_metadata_),
123  ~0u, // no _extensions_
124  ~0u, // no _oneof_case_
125  ~0u, // no _weak_field_map_
126  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics, local_search_operator_statistics_),
127  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics, local_search_filter_statistics_),
128  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics, total_num_neighbors_),
129  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics, total_num_filtered_neighbors_),
130  PROTOBUF_FIELD_OFFSET(::operations_research::LocalSearchStatistics, total_num_accepted_neighbors_),
131  ~0u, // no _has_bits_
132  PROTOBUF_FIELD_OFFSET(::operations_research::ConstraintSolverStatistics, _internal_metadata_),
133  ~0u, // no _extensions_
134  ~0u, // no _oneof_case_
135  ~0u, // no _weak_field_map_
136  PROTOBUF_FIELD_OFFSET(::operations_research::ConstraintSolverStatistics, num_branches_),
137  PROTOBUF_FIELD_OFFSET(::operations_research::ConstraintSolverStatistics, num_failures_),
138  PROTOBUF_FIELD_OFFSET(::operations_research::ConstraintSolverStatistics, num_solutions_),
139  PROTOBUF_FIELD_OFFSET(::operations_research::ConstraintSolverStatistics, bytes_used_),
140  PROTOBUF_FIELD_OFFSET(::operations_research::ConstraintSolverStatistics, duration_seconds_),
141  ~0u, // no _has_bits_
142  PROTOBUF_FIELD_OFFSET(::operations_research::SearchStatistics, _internal_metadata_),
143  ~0u, // no _extensions_
144  ~0u, // no _oneof_case_
145  ~0u, // no _weak_field_map_
146  PROTOBUF_FIELD_OFFSET(::operations_research::SearchStatistics, local_search_statistics_),
147  PROTOBUF_FIELD_OFFSET(::operations_research::SearchStatistics, constraint_solver_statistics_),
148 };
149 static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
154  { 39, -1, sizeof(::operations_research::SearchStatistics)},
155 };
156 
157 static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
158  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_LocalSearchStatistics_LocalSearchOperatorStatistics_default_instance_),
159  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_LocalSearchStatistics_LocalSearchFilterStatistics_default_instance_),
160  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_LocalSearchStatistics_default_instance_),
161  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_ConstraintSolverStatistics_default_instance_),
162  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_SearchStatistics_default_instance_),
163 };
164 
165 const char descriptor_table_protodef_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
166  "\n,ortools/constraint_solver/search_stats"
167  ".proto\022\023operations_research\"\224\005\n\025LocalSea"
168  "rchStatistics\022r\n local_search_operator_s"
169  "tatistics\030\001 \003(\0132H.operations_research.Lo"
170  "calSearchStatistics.LocalSearchOperatorS"
171  "tatistics\022n\n\036local_search_filter_statist"
172  "ics\030\002 \003(\0132F.operations_research.LocalSea"
173  "rchStatistics.LocalSearchFilterStatistic"
174  "s\022\033\n\023total_num_neighbors\030\003 \001(\003\022$\n\034total_"
175  "num_filtered_neighbors\030\004 \001(\003\022$\n\034total_nu"
176  "m_accepted_neighbors\030\005 \001(\003\032\257\001\n\035LocalSear"
177  "chOperatorStatistics\022\035\n\025local_search_ope"
178  "rator\030\001 \001(\t\022\025\n\rnum_neighbors\030\002 \001(\003\022\036\n\026nu"
179  "m_filtered_neighbors\030\003 \001(\003\022\036\n\026num_accept"
180  "ed_neighbors\030\004 \001(\003\022\030\n\020duration_seconds\030\005"
181  " \001(\001\032|\n\033LocalSearchFilterStatistics\022\033\n\023l"
182  "ocal_search_filter\030\001 \001(\t\022\021\n\tnum_calls\030\002 "
183  "\001(\003\022\023\n\013num_rejects\030\003 \001(\003\022\030\n\020duration_sec"
184  "onds\030\004 \001(\001\"\215\001\n\032ConstraintSolverStatistic"
185  "s\022\024\n\014num_branches\030\001 \001(\003\022\024\n\014num_failures\030"
186  "\002 \001(\003\022\025\n\rnum_solutions\030\003 \001(\003\022\022\n\nbytes_us"
187  "ed\030\004 \001(\003\022\030\n\020duration_seconds\030\005 \001(\001\"\266\001\n\020S"
188  "earchStatistics\022K\n\027local_search_statisti"
189  "cs\030\001 \001(\0132*.operations_research.LocalSear"
190  "chStatistics\022U\n\034constraint_solver_statis"
191  "tics\030\002 \001(\0132/.operations_research.Constra"
192  "intSolverStatisticsBI\n#com.google.ortool"
193  "s.constraintsolverP\001\252\002\037Google.OrTools.Co"
194  "nstraintSolverb\006proto3"
195  ;
196 static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto_once;
197 const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto = {
198  false, false, 1142, descriptor_table_protodef_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto, "ortools/constraint_solver/search_stats.proto",
202 };
203 PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto_getter() {
205 }
206 
207 // Force running AddDescriptors() at dynamic initialization time.
208 PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto(&descriptor_table_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto);
209 namespace operations_research {
210 
211 // ===================================================================
212 
214  public:
215 };
216 
218  bool is_message_owned)
219  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
220  SharedCtor();
221  if (!is_message_owned) {
222  RegisterArenaDtor(arena);
223  }
224  // @@protoc_insertion_point(arena_constructor:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
225 }
227  : ::PROTOBUF_NAMESPACE_ID::Message() {
228  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
229  local_search_operator_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
230  if (!from._internal_local_search_operator().empty()) {
231  local_search_operator_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_local_search_operator(),
232  GetArenaForAllocation());
233  }
234  ::memcpy(&num_neighbors_, &from.num_neighbors_,
235  static_cast<size_t>(reinterpret_cast<char*>(&duration_seconds_) -
236  reinterpret_cast<char*>(&num_neighbors_)) + sizeof(duration_seconds_));
237  // @@protoc_insertion_point(copy_constructor:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
238 }
239 
240 inline void LocalSearchStatistics_LocalSearchOperatorStatistics::SharedCtor() {
241 local_search_operator_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
242 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
243  reinterpret_cast<char*>(&num_neighbors_) - reinterpret_cast<char*>(this)),
244  0, static_cast<size_t>(reinterpret_cast<char*>(&duration_seconds_) -
245  reinterpret_cast<char*>(&num_neighbors_)) + sizeof(duration_seconds_));
246 }
247 
249  // @@protoc_insertion_point(destructor:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
250  if (GetArenaForAllocation() != nullptr) return;
251  SharedDtor();
252  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
253 }
254 
255 inline void LocalSearchStatistics_LocalSearchOperatorStatistics::SharedDtor() {
256  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
257  local_search_operator_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
258 }
259 
260 void LocalSearchStatistics_LocalSearchOperatorStatistics::ArenaDtor(void* object) {
261  LocalSearchStatistics_LocalSearchOperatorStatistics* _this = reinterpret_cast< LocalSearchStatistics_LocalSearchOperatorStatistics* >(object);
262  (void)_this;
263 }
264 void LocalSearchStatistics_LocalSearchOperatorStatistics::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
265 }
266 void LocalSearchStatistics_LocalSearchOperatorStatistics::SetCachedSize(int size) const {
267  _cached_size_.Set(size);
268 }
269 
271 // @@protoc_insertion_point(message_clear_start:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
272  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
273  // Prevent compiler warnings about cached_has_bits being unused
274  (void) cached_has_bits;
275 
276  local_search_operator_.ClearToEmpty();
277  ::memset(&num_neighbors_, 0, static_cast<size_t>(
278  reinterpret_cast<char*>(&duration_seconds_) -
279  reinterpret_cast<char*>(&num_neighbors_)) + sizeof(duration_seconds_));
280  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
281 }
282 
283 const char* LocalSearchStatistics_LocalSearchOperatorStatistics::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
284 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
285  while (!ctx->Done(&ptr)) {
286  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
287  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
288  switch (tag >> 3) {
289  // string local_search_operator = 1;
290  case 1:
291  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
292  auto str = _internal_mutable_local_search_operator();
293  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
294  CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics.local_search_operator"));
295  CHK_(ptr);
296  } else goto handle_unusual;
297  continue;
298  // int64 num_neighbors = 2;
299  case 2:
300  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
301  num_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
302  CHK_(ptr);
303  } else goto handle_unusual;
304  continue;
305  // int64 num_filtered_neighbors = 3;
306  case 3:
307  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
308  num_filtered_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
309  CHK_(ptr);
310  } else goto handle_unusual;
311  continue;
312  // int64 num_accepted_neighbors = 4;
313  case 4:
314  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
315  num_accepted_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
316  CHK_(ptr);
317  } else goto handle_unusual;
318  continue;
319  // double duration_seconds = 5;
320  case 5:
321  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
322  duration_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
323  ptr += sizeof(double);
324  } else goto handle_unusual;
325  continue;
326  default: {
327  handle_unusual:
328  if ((tag == 0) || ((tag & 7) == 4)) {
329  CHK_(ptr);
330  ctx->SetLastTag(tag);
331  goto success;
332  }
333  ptr = UnknownFieldParse(tag,
334  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
335  ptr, ctx);
336  CHK_(ptr != nullptr);
337  continue;
338  }
339  } // switch
340  } // while
341 success:
342  return ptr;
343 failure:
344  ptr = nullptr;
345  goto success;
346 #undef CHK_
347 }
348 
350  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
351  // @@protoc_insertion_point(serialize_to_array_start:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
352  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
353  (void) cached_has_bits;
354 
355  // string local_search_operator = 1;
356  if (!this->_internal_local_search_operator().empty()) {
357  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
358  this->_internal_local_search_operator().data(), static_cast<int>(this->_internal_local_search_operator().length()),
359  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
360  "operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics.local_search_operator");
361  target = stream->WriteStringMaybeAliased(
362  1, this->_internal_local_search_operator(), target);
363  }
364 
365  // int64 num_neighbors = 2;
366  if (this->_internal_num_neighbors() != 0) {
367  target = stream->EnsureSpace(target);
368  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_num_neighbors(), target);
369  }
370 
371  // int64 num_filtered_neighbors = 3;
372  if (this->_internal_num_filtered_neighbors() != 0) {
373  target = stream->EnsureSpace(target);
374  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_num_filtered_neighbors(), target);
375  }
376 
377  // int64 num_accepted_neighbors = 4;
378  if (this->_internal_num_accepted_neighbors() != 0) {
379  target = stream->EnsureSpace(target);
380  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_num_accepted_neighbors(), target);
381  }
382 
383  // double duration_seconds = 5;
384  if (!(this->_internal_duration_seconds() <= 0 && this->_internal_duration_seconds() >= 0)) {
385  target = stream->EnsureSpace(target);
386  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(5, this->_internal_duration_seconds(), target);
387  }
388 
389  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
390  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
391  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
392  }
393  // @@protoc_insertion_point(serialize_to_array_end:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
394  return target;
395 }
396 
398 // @@protoc_insertion_point(message_byte_size_start:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
399  size_t total_size = 0;
400 
401  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
402  // Prevent compiler warnings about cached_has_bits being unused
403  (void) cached_has_bits;
404 
405  // string local_search_operator = 1;
406  if (!this->_internal_local_search_operator().empty()) {
407  total_size += 1 +
408  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
409  this->_internal_local_search_operator());
410  }
411 
412  // int64 num_neighbors = 2;
413  if (this->_internal_num_neighbors() != 0) {
414  total_size += 1 +
415  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
416  this->_internal_num_neighbors());
417  }
418 
419  // int64 num_filtered_neighbors = 3;
420  if (this->_internal_num_filtered_neighbors() != 0) {
421  total_size += 1 +
422  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
423  this->_internal_num_filtered_neighbors());
424  }
425 
426  // int64 num_accepted_neighbors = 4;
427  if (this->_internal_num_accepted_neighbors() != 0) {
428  total_size += 1 +
429  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
430  this->_internal_num_accepted_neighbors());
431  }
432 
433  // double duration_seconds = 5;
434  if (!(this->_internal_duration_seconds() <= 0 && this->_internal_duration_seconds() >= 0)) {
435  total_size += 1 + 8;
436  }
437 
438  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
439  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
440  _internal_metadata_, total_size, &_cached_size_);
441  }
442  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
443  SetCachedSize(cached_size);
444  return total_size;
445 }
446 
447 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LocalSearchStatistics_LocalSearchOperatorStatistics::_class_data_ = {
448  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
449  LocalSearchStatistics_LocalSearchOperatorStatistics::MergeImpl
450 };
451 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LocalSearchStatistics_LocalSearchOperatorStatistics::GetClassData() const { return &_class_data_; }
452 
453 void LocalSearchStatistics_LocalSearchOperatorStatistics::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
454  const ::PROTOBUF_NAMESPACE_ID::Message&from) {
455  static_cast<LocalSearchStatistics_LocalSearchOperatorStatistics *>(to)->MergeFrom(
456  static_cast<const LocalSearchStatistics_LocalSearchOperatorStatistics &>(from));
457 }
458 
459 
461 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
462  GOOGLE_DCHECK_NE(&from, this);
463  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
464  (void) cached_has_bits;
465 
466  if (!from._internal_local_search_operator().empty()) {
467  _internal_set_local_search_operator(from._internal_local_search_operator());
468  }
469  if (from._internal_num_neighbors() != 0) {
470  _internal_set_num_neighbors(from._internal_num_neighbors());
471  }
472  if (from._internal_num_filtered_neighbors() != 0) {
473  _internal_set_num_filtered_neighbors(from._internal_num_filtered_neighbors());
474  }
475  if (from._internal_num_accepted_neighbors() != 0) {
476  _internal_set_num_accepted_neighbors(from._internal_num_accepted_neighbors());
477  }
478  if (!(from._internal_duration_seconds() <= 0 && from._internal_duration_seconds() >= 0)) {
479  _internal_set_duration_seconds(from._internal_duration_seconds());
480  }
481  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
482 }
483 
485 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics)
486  if (&from == this) return;
487  Clear();
488  MergeFrom(from);
489 }
490 
492  return true;
493 }
494 
495 void LocalSearchStatistics_LocalSearchOperatorStatistics::InternalSwap(LocalSearchStatistics_LocalSearchOperatorStatistics* other) {
496  using std::swap;
497  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
498  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
499  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
500  &local_search_operator_, GetArenaForAllocation(),
501  &other->local_search_operator_, other->GetArenaForAllocation()
502  );
503  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
504  PROTOBUF_FIELD_OFFSET(LocalSearchStatistics_LocalSearchOperatorStatistics, duration_seconds_)
505  + sizeof(LocalSearchStatistics_LocalSearchOperatorStatistics::duration_seconds_)
506  - PROTOBUF_FIELD_OFFSET(LocalSearchStatistics_LocalSearchOperatorStatistics, num_neighbors_)>(
507  reinterpret_cast<char*>(&num_neighbors_),
508  reinterpret_cast<char*>(&other->num_neighbors_));
509 }
510 
511 ::PROTOBUF_NAMESPACE_ID::Metadata LocalSearchStatistics_LocalSearchOperatorStatistics::GetMetadata() const {
512  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
515 }
516 
517 // ===================================================================
518 
520  public:
521 };
522 
524  bool is_message_owned)
525  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
526  SharedCtor();
527  if (!is_message_owned) {
528  RegisterArenaDtor(arena);
529  }
530  // @@protoc_insertion_point(arena_constructor:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
531 }
533  : ::PROTOBUF_NAMESPACE_ID::Message() {
534  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
535  local_search_filter_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
536  if (!from._internal_local_search_filter().empty()) {
537  local_search_filter_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_local_search_filter(),
538  GetArenaForAllocation());
539  }
540  ::memcpy(&num_calls_, &from.num_calls_,
541  static_cast<size_t>(reinterpret_cast<char*>(&duration_seconds_) -
542  reinterpret_cast<char*>(&num_calls_)) + sizeof(duration_seconds_));
543  // @@protoc_insertion_point(copy_constructor:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
544 }
545 
546 inline void LocalSearchStatistics_LocalSearchFilterStatistics::SharedCtor() {
547 local_search_filter_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
548 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
549  reinterpret_cast<char*>(&num_calls_) - reinterpret_cast<char*>(this)),
550  0, static_cast<size_t>(reinterpret_cast<char*>(&duration_seconds_) -
551  reinterpret_cast<char*>(&num_calls_)) + sizeof(duration_seconds_));
552 }
553 
555  // @@protoc_insertion_point(destructor:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
556  if (GetArenaForAllocation() != nullptr) return;
557  SharedDtor();
558  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
559 }
560 
561 inline void LocalSearchStatistics_LocalSearchFilterStatistics::SharedDtor() {
562  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
563  local_search_filter_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
564 }
565 
566 void LocalSearchStatistics_LocalSearchFilterStatistics::ArenaDtor(void* object) {
567  LocalSearchStatistics_LocalSearchFilterStatistics* _this = reinterpret_cast< LocalSearchStatistics_LocalSearchFilterStatistics* >(object);
568  (void)_this;
569 }
570 void LocalSearchStatistics_LocalSearchFilterStatistics::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
571 }
572 void LocalSearchStatistics_LocalSearchFilterStatistics::SetCachedSize(int size) const {
573  _cached_size_.Set(size);
574 }
575 
577 // @@protoc_insertion_point(message_clear_start:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
578  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
579  // Prevent compiler warnings about cached_has_bits being unused
580  (void) cached_has_bits;
581 
582  local_search_filter_.ClearToEmpty();
583  ::memset(&num_calls_, 0, static_cast<size_t>(
584  reinterpret_cast<char*>(&duration_seconds_) -
585  reinterpret_cast<char*>(&num_calls_)) + sizeof(duration_seconds_));
586  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
587 }
588 
589 const char* LocalSearchStatistics_LocalSearchFilterStatistics::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
590 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
591  while (!ctx->Done(&ptr)) {
592  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
593  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
594  switch (tag >> 3) {
595  // string local_search_filter = 1;
596  case 1:
597  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
598  auto str = _internal_mutable_local_search_filter();
599  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
600  CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.LocalSearchStatistics.LocalSearchFilterStatistics.local_search_filter"));
601  CHK_(ptr);
602  } else goto handle_unusual;
603  continue;
604  // int64 num_calls = 2;
605  case 2:
606  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
607  num_calls_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
608  CHK_(ptr);
609  } else goto handle_unusual;
610  continue;
611  // int64 num_rejects = 3;
612  case 3:
613  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
614  num_rejects_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
615  CHK_(ptr);
616  } else goto handle_unusual;
617  continue;
618  // double duration_seconds = 4;
619  case 4:
620  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33)) {
621  duration_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
622  ptr += sizeof(double);
623  } else goto handle_unusual;
624  continue;
625  default: {
626  handle_unusual:
627  if ((tag == 0) || ((tag & 7) == 4)) {
628  CHK_(ptr);
629  ctx->SetLastTag(tag);
630  goto success;
631  }
632  ptr = UnknownFieldParse(tag,
633  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
634  ptr, ctx);
635  CHK_(ptr != nullptr);
636  continue;
637  }
638  } // switch
639  } // while
640 success:
641  return ptr;
642 failure:
643  ptr = nullptr;
644  goto success;
645 #undef CHK_
646 }
647 
649  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
650  // @@protoc_insertion_point(serialize_to_array_start:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
651  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
652  (void) cached_has_bits;
653 
654  // string local_search_filter = 1;
655  if (!this->_internal_local_search_filter().empty()) {
656  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
657  this->_internal_local_search_filter().data(), static_cast<int>(this->_internal_local_search_filter().length()),
658  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
659  "operations_research.LocalSearchStatistics.LocalSearchFilterStatistics.local_search_filter");
660  target = stream->WriteStringMaybeAliased(
661  1, this->_internal_local_search_filter(), target);
662  }
663 
664  // int64 num_calls = 2;
665  if (this->_internal_num_calls() != 0) {
666  target = stream->EnsureSpace(target);
667  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_num_calls(), target);
668  }
669 
670  // int64 num_rejects = 3;
671  if (this->_internal_num_rejects() != 0) {
672  target = stream->EnsureSpace(target);
673  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_num_rejects(), target);
674  }
675 
676  // double duration_seconds = 4;
677  if (!(this->_internal_duration_seconds() <= 0 && this->_internal_duration_seconds() >= 0)) {
678  target = stream->EnsureSpace(target);
679  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_duration_seconds(), target);
680  }
681 
682  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
683  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
684  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
685  }
686  // @@protoc_insertion_point(serialize_to_array_end:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
687  return target;
688 }
689 
691 // @@protoc_insertion_point(message_byte_size_start:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
692  size_t total_size = 0;
693 
694  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
695  // Prevent compiler warnings about cached_has_bits being unused
696  (void) cached_has_bits;
697 
698  // string local_search_filter = 1;
699  if (!this->_internal_local_search_filter().empty()) {
700  total_size += 1 +
701  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
702  this->_internal_local_search_filter());
703  }
704 
705  // int64 num_calls = 2;
706  if (this->_internal_num_calls() != 0) {
707  total_size += 1 +
708  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
709  this->_internal_num_calls());
710  }
711 
712  // int64 num_rejects = 3;
713  if (this->_internal_num_rejects() != 0) {
714  total_size += 1 +
715  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
716  this->_internal_num_rejects());
717  }
718 
719  // double duration_seconds = 4;
720  if (!(this->_internal_duration_seconds() <= 0 && this->_internal_duration_seconds() >= 0)) {
721  total_size += 1 + 8;
722  }
723 
724  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
725  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
726  _internal_metadata_, total_size, &_cached_size_);
727  }
728  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
729  SetCachedSize(cached_size);
730  return total_size;
731 }
732 
733 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LocalSearchStatistics_LocalSearchFilterStatistics::_class_data_ = {
734  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
735  LocalSearchStatistics_LocalSearchFilterStatistics::MergeImpl
736 };
737 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LocalSearchStatistics_LocalSearchFilterStatistics::GetClassData() const { return &_class_data_; }
738 
739 void LocalSearchStatistics_LocalSearchFilterStatistics::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
740  const ::PROTOBUF_NAMESPACE_ID::Message&from) {
741  static_cast<LocalSearchStatistics_LocalSearchFilterStatistics *>(to)->MergeFrom(
742  static_cast<const LocalSearchStatistics_LocalSearchFilterStatistics &>(from));
743 }
744 
745 
747 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
748  GOOGLE_DCHECK_NE(&from, this);
749  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
750  (void) cached_has_bits;
751 
752  if (!from._internal_local_search_filter().empty()) {
753  _internal_set_local_search_filter(from._internal_local_search_filter());
754  }
755  if (from._internal_num_calls() != 0) {
756  _internal_set_num_calls(from._internal_num_calls());
757  }
758  if (from._internal_num_rejects() != 0) {
759  _internal_set_num_rejects(from._internal_num_rejects());
760  }
761  if (!(from._internal_duration_seconds() <= 0 && from._internal_duration_seconds() >= 0)) {
762  _internal_set_duration_seconds(from._internal_duration_seconds());
763  }
764  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
765 }
766 
768 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.LocalSearchStatistics.LocalSearchFilterStatistics)
769  if (&from == this) return;
770  Clear();
771  MergeFrom(from);
772 }
773 
775  return true;
776 }
777 
778 void LocalSearchStatistics_LocalSearchFilterStatistics::InternalSwap(LocalSearchStatistics_LocalSearchFilterStatistics* other) {
779  using std::swap;
780  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
781  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
782  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
783  &local_search_filter_, GetArenaForAllocation(),
784  &other->local_search_filter_, other->GetArenaForAllocation()
785  );
786  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
787  PROTOBUF_FIELD_OFFSET(LocalSearchStatistics_LocalSearchFilterStatistics, duration_seconds_)
788  + sizeof(LocalSearchStatistics_LocalSearchFilterStatistics::duration_seconds_)
789  - PROTOBUF_FIELD_OFFSET(LocalSearchStatistics_LocalSearchFilterStatistics, num_calls_)>(
790  reinterpret_cast<char*>(&num_calls_),
791  reinterpret_cast<char*>(&other->num_calls_));
792 }
793 
794 ::PROTOBUF_NAMESPACE_ID::Metadata LocalSearchStatistics_LocalSearchFilterStatistics::GetMetadata() const {
795  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
798 }
799 
800 // ===================================================================
801 
803  public:
804 };
805 
806 LocalSearchStatistics::LocalSearchStatistics(::PROTOBUF_NAMESPACE_ID::Arena* arena,
807  bool is_message_owned)
808  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
809  local_search_operator_statistics_(arena),
810  local_search_filter_statistics_(arena) {
811  SharedCtor();
812  if (!is_message_owned) {
813  RegisterArenaDtor(arena);
814  }
815  // @@protoc_insertion_point(arena_constructor:operations_research.LocalSearchStatistics)
816 }
818  : ::PROTOBUF_NAMESPACE_ID::Message(),
819  local_search_operator_statistics_(from.local_search_operator_statistics_),
820  local_search_filter_statistics_(from.local_search_filter_statistics_) {
821  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
822  ::memcpy(&total_num_neighbors_, &from.total_num_neighbors_,
823  static_cast<size_t>(reinterpret_cast<char*>(&total_num_accepted_neighbors_) -
824  reinterpret_cast<char*>(&total_num_neighbors_)) + sizeof(total_num_accepted_neighbors_));
825  // @@protoc_insertion_point(copy_constructor:operations_research.LocalSearchStatistics)
826 }
827 
828 inline void LocalSearchStatistics::SharedCtor() {
829 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
830  reinterpret_cast<char*>(&total_num_neighbors_) - reinterpret_cast<char*>(this)),
831  0, static_cast<size_t>(reinterpret_cast<char*>(&total_num_accepted_neighbors_) -
832  reinterpret_cast<char*>(&total_num_neighbors_)) + sizeof(total_num_accepted_neighbors_));
833 }
834 
836  // @@protoc_insertion_point(destructor:operations_research.LocalSearchStatistics)
837  if (GetArenaForAllocation() != nullptr) return;
838  SharedDtor();
839  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
840 }
841 
842 inline void LocalSearchStatistics::SharedDtor() {
843  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
844 }
845 
846 void LocalSearchStatistics::ArenaDtor(void* object) {
847  LocalSearchStatistics* _this = reinterpret_cast< LocalSearchStatistics* >(object);
848  (void)_this;
849 }
850 void LocalSearchStatistics::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
851 }
852 void LocalSearchStatistics::SetCachedSize(int size) const {
853  _cached_size_.Set(size);
854 }
855 
857 // @@protoc_insertion_point(message_clear_start:operations_research.LocalSearchStatistics)
858  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
859  // Prevent compiler warnings about cached_has_bits being unused
860  (void) cached_has_bits;
861 
862  local_search_operator_statistics_.Clear();
863  local_search_filter_statistics_.Clear();
864  ::memset(&total_num_neighbors_, 0, static_cast<size_t>(
865  reinterpret_cast<char*>(&total_num_accepted_neighbors_) -
866  reinterpret_cast<char*>(&total_num_neighbors_)) + sizeof(total_num_accepted_neighbors_));
867  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
868 }
869 
870 const char* LocalSearchStatistics::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
871 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
872  while (!ctx->Done(&ptr)) {
873  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
874  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
875  switch (tag >> 3) {
876  // repeated .operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics local_search_operator_statistics = 1;
877  case 1:
878  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
879  ptr -= 1;
880  do {
881  ptr += 1;
882  ptr = ctx->ParseMessage(_internal_add_local_search_operator_statistics(), ptr);
883  CHK_(ptr);
884  if (!ctx->DataAvailable(ptr)) break;
885  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
886  } else goto handle_unusual;
887  continue;
888  // repeated .operations_research.LocalSearchStatistics.LocalSearchFilterStatistics local_search_filter_statistics = 2;
889  case 2:
890  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
891  ptr -= 1;
892  do {
893  ptr += 1;
894  ptr = ctx->ParseMessage(_internal_add_local_search_filter_statistics(), ptr);
895  CHK_(ptr);
896  if (!ctx->DataAvailable(ptr)) break;
897  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
898  } else goto handle_unusual;
899  continue;
900  // int64 total_num_neighbors = 3;
901  case 3:
902  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
903  total_num_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
904  CHK_(ptr);
905  } else goto handle_unusual;
906  continue;
907  // int64 total_num_filtered_neighbors = 4;
908  case 4:
909  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
910  total_num_filtered_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
911  CHK_(ptr);
912  } else goto handle_unusual;
913  continue;
914  // int64 total_num_accepted_neighbors = 5;
915  case 5:
916  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
917  total_num_accepted_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
918  CHK_(ptr);
919  } else goto handle_unusual;
920  continue;
921  default: {
922  handle_unusual:
923  if ((tag == 0) || ((tag & 7) == 4)) {
924  CHK_(ptr);
925  ctx->SetLastTag(tag);
926  goto success;
927  }
928  ptr = UnknownFieldParse(tag,
929  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
930  ptr, ctx);
931  CHK_(ptr != nullptr);
932  continue;
933  }
934  } // switch
935  } // while
936 success:
937  return ptr;
938 failure:
939  ptr = nullptr;
940  goto success;
941 #undef CHK_
942 }
943 
944 ::PROTOBUF_NAMESPACE_ID::uint8* LocalSearchStatistics::_InternalSerialize(
945  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
946  // @@protoc_insertion_point(serialize_to_array_start:operations_research.LocalSearchStatistics)
947  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
948  (void) cached_has_bits;
949 
950  // repeated .operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics local_search_operator_statistics = 1;
951  for (unsigned int i = 0,
952  n = static_cast<unsigned int>(this->_internal_local_search_operator_statistics_size()); i < n; i++) {
953  target = stream->EnsureSpace(target);
954  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
955  InternalWriteMessage(1, this->_internal_local_search_operator_statistics(i), target, stream);
956  }
957 
958  // repeated .operations_research.LocalSearchStatistics.LocalSearchFilterStatistics local_search_filter_statistics = 2;
959  for (unsigned int i = 0,
960  n = static_cast<unsigned int>(this->_internal_local_search_filter_statistics_size()); i < n; i++) {
961  target = stream->EnsureSpace(target);
962  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
963  InternalWriteMessage(2, this->_internal_local_search_filter_statistics(i), target, stream);
964  }
965 
966  // int64 total_num_neighbors = 3;
967  if (this->_internal_total_num_neighbors() != 0) {
968  target = stream->EnsureSpace(target);
969  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_total_num_neighbors(), target);
970  }
971 
972  // int64 total_num_filtered_neighbors = 4;
973  if (this->_internal_total_num_filtered_neighbors() != 0) {
974  target = stream->EnsureSpace(target);
975  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_total_num_filtered_neighbors(), target);
976  }
977 
978  // int64 total_num_accepted_neighbors = 5;
979  if (this->_internal_total_num_accepted_neighbors() != 0) {
980  target = stream->EnsureSpace(target);
981  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->_internal_total_num_accepted_neighbors(), target);
982  }
983 
984  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
985  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
986  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
987  }
988  // @@protoc_insertion_point(serialize_to_array_end:operations_research.LocalSearchStatistics)
989  return target;
990 }
991 
993 // @@protoc_insertion_point(message_byte_size_start:operations_research.LocalSearchStatistics)
994  size_t total_size = 0;
995 
996  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
997  // Prevent compiler warnings about cached_has_bits being unused
998  (void) cached_has_bits;
999 
1000  // repeated .operations_research.LocalSearchStatistics.LocalSearchOperatorStatistics local_search_operator_statistics = 1;
1001  total_size += 1UL * this->_internal_local_search_operator_statistics_size();
1002  for (const auto& msg : this->local_search_operator_statistics_) {
1003  total_size +=
1004  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1005  }
1006 
1007  // repeated .operations_research.LocalSearchStatistics.LocalSearchFilterStatistics local_search_filter_statistics = 2;
1008  total_size += 1UL * this->_internal_local_search_filter_statistics_size();
1009  for (const auto& msg : this->local_search_filter_statistics_) {
1010  total_size +=
1011  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1012  }
1013 
1014  // int64 total_num_neighbors = 3;
1015  if (this->_internal_total_num_neighbors() != 0) {
1016  total_size += 1 +
1017  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1018  this->_internal_total_num_neighbors());
1019  }
1020 
1021  // int64 total_num_filtered_neighbors = 4;
1022  if (this->_internal_total_num_filtered_neighbors() != 0) {
1023  total_size += 1 +
1024  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1025  this->_internal_total_num_filtered_neighbors());
1026  }
1027 
1028  // int64 total_num_accepted_neighbors = 5;
1029  if (this->_internal_total_num_accepted_neighbors() != 0) {
1030  total_size += 1 +
1031  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1032  this->_internal_total_num_accepted_neighbors());
1033  }
1034 
1035  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1036  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1037  _internal_metadata_, total_size, &_cached_size_);
1038  }
1039  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1040  SetCachedSize(cached_size);
1041  return total_size;
1042 }
1043 
1044 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LocalSearchStatistics::_class_data_ = {
1045  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1046  LocalSearchStatistics::MergeImpl
1047 };
1048 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LocalSearchStatistics::GetClassData() const { return &_class_data_; }
1049 
1050 void LocalSearchStatistics::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
1051  const ::PROTOBUF_NAMESPACE_ID::Message&from) {
1052  static_cast<LocalSearchStatistics *>(to)->MergeFrom(
1053  static_cast<const LocalSearchStatistics &>(from));
1054 }
1055 
1056 
1058 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.LocalSearchStatistics)
1059  GOOGLE_DCHECK_NE(&from, this);
1060  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1061  (void) cached_has_bits;
1062 
1063  local_search_operator_statistics_.MergeFrom(from.local_search_operator_statistics_);
1064  local_search_filter_statistics_.MergeFrom(from.local_search_filter_statistics_);
1065  if (from._internal_total_num_neighbors() != 0) {
1066  _internal_set_total_num_neighbors(from._internal_total_num_neighbors());
1067  }
1068  if (from._internal_total_num_filtered_neighbors() != 0) {
1069  _internal_set_total_num_filtered_neighbors(from._internal_total_num_filtered_neighbors());
1070  }
1071  if (from._internal_total_num_accepted_neighbors() != 0) {
1072  _internal_set_total_num_accepted_neighbors(from._internal_total_num_accepted_neighbors());
1073  }
1074  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1075 }
1076 
1078 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.LocalSearchStatistics)
1079  if (&from == this) return;
1080  Clear();
1081  MergeFrom(from);
1082 }
1083 
1085  return true;
1086 }
1087 
1088 void LocalSearchStatistics::InternalSwap(LocalSearchStatistics* other) {
1089  using std::swap;
1090  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1091  local_search_operator_statistics_.InternalSwap(&other->local_search_operator_statistics_);
1092  local_search_filter_statistics_.InternalSwap(&other->local_search_filter_statistics_);
1093  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1094  PROTOBUF_FIELD_OFFSET(LocalSearchStatistics, total_num_accepted_neighbors_)
1095  + sizeof(LocalSearchStatistics::total_num_accepted_neighbors_)
1096  - PROTOBUF_FIELD_OFFSET(LocalSearchStatistics, total_num_neighbors_)>(
1097  reinterpret_cast<char*>(&total_num_neighbors_),
1098  reinterpret_cast<char*>(&other->total_num_neighbors_));
1099 }
1100 
1101 ::PROTOBUF_NAMESPACE_ID::Metadata LocalSearchStatistics::GetMetadata() const {
1102  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1105 }
1106 
1107 // ===================================================================
1108 
1110  public:
1111 };
1112 
1113 ConstraintSolverStatistics::ConstraintSolverStatistics(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1114  bool is_message_owned)
1115  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
1116  SharedCtor();
1117  if (!is_message_owned) {
1118  RegisterArenaDtor(arena);
1119  }
1120  // @@protoc_insertion_point(arena_constructor:operations_research.ConstraintSolverStatistics)
1121 }
1123  : ::PROTOBUF_NAMESPACE_ID::Message() {
1124  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1125  ::memcpy(&num_branches_, &from.num_branches_,
1126  static_cast<size_t>(reinterpret_cast<char*>(&duration_seconds_) -
1127  reinterpret_cast<char*>(&num_branches_)) + sizeof(duration_seconds_));
1128  // @@protoc_insertion_point(copy_constructor:operations_research.ConstraintSolverStatistics)
1129 }
1130 
1131 inline void ConstraintSolverStatistics::SharedCtor() {
1132 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
1133  reinterpret_cast<char*>(&num_branches_) - reinterpret_cast<char*>(this)),
1134  0, static_cast<size_t>(reinterpret_cast<char*>(&duration_seconds_) -
1135  reinterpret_cast<char*>(&num_branches_)) + sizeof(duration_seconds_));
1136 }
1137 
1139  // @@protoc_insertion_point(destructor:operations_research.ConstraintSolverStatistics)
1140  if (GetArenaForAllocation() != nullptr) return;
1141  SharedDtor();
1142  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1143 }
1144 
1145 inline void ConstraintSolverStatistics::SharedDtor() {
1146  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1147 }
1148 
1149 void ConstraintSolverStatistics::ArenaDtor(void* object) {
1150  ConstraintSolverStatistics* _this = reinterpret_cast< ConstraintSolverStatistics* >(object);
1151  (void)_this;
1152 }
1153 void ConstraintSolverStatistics::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1154 }
1155 void ConstraintSolverStatistics::SetCachedSize(int size) const {
1156  _cached_size_.Set(size);
1157 }
1158 
1160 // @@protoc_insertion_point(message_clear_start:operations_research.ConstraintSolverStatistics)
1161  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1162  // Prevent compiler warnings about cached_has_bits being unused
1163  (void) cached_has_bits;
1164 
1165  ::memset(&num_branches_, 0, static_cast<size_t>(
1166  reinterpret_cast<char*>(&duration_seconds_) -
1167  reinterpret_cast<char*>(&num_branches_)) + sizeof(duration_seconds_));
1168  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1169 }
1170 
1171 const char* ConstraintSolverStatistics::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1172 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1173  while (!ctx->Done(&ptr)) {
1174  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1175  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1176  switch (tag >> 3) {
1177  // int64 num_branches = 1;
1178  case 1:
1179  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
1180  num_branches_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1181  CHK_(ptr);
1182  } else goto handle_unusual;
1183  continue;
1184  // int64 num_failures = 2;
1185  case 2:
1186  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
1187  num_failures_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1188  CHK_(ptr);
1189  } else goto handle_unusual;
1190  continue;
1191  // int64 num_solutions = 3;
1192  case 3:
1193  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
1194  num_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1195  CHK_(ptr);
1196  } else goto handle_unusual;
1197  continue;
1198  // int64 bytes_used = 4;
1199  case 4:
1200  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
1201  bytes_used_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1202  CHK_(ptr);
1203  } else goto handle_unusual;
1204  continue;
1205  // double duration_seconds = 5;
1206  case 5:
1207  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
1208  duration_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1209  ptr += sizeof(double);
1210  } else goto handle_unusual;
1211  continue;
1212  default: {
1213  handle_unusual:
1214  if ((tag == 0) || ((tag & 7) == 4)) {
1215  CHK_(ptr);
1216  ctx->SetLastTag(tag);
1217  goto success;
1218  }
1219  ptr = UnknownFieldParse(tag,
1220  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1221  ptr, ctx);
1222  CHK_(ptr != nullptr);
1223  continue;
1224  }
1225  } // switch
1226  } // while
1227 success:
1228  return ptr;
1229 failure:
1230  ptr = nullptr;
1231  goto success;
1232 #undef CHK_
1233 }
1234 
1235 ::PROTOBUF_NAMESPACE_ID::uint8* ConstraintSolverStatistics::_InternalSerialize(
1236  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1237  // @@protoc_insertion_point(serialize_to_array_start:operations_research.ConstraintSolverStatistics)
1238  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1239  (void) cached_has_bits;
1240 
1241  // int64 num_branches = 1;
1242  if (this->_internal_num_branches() != 0) {
1243  target = stream->EnsureSpace(target);
1244  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_num_branches(), target);
1245  }
1246 
1247  // int64 num_failures = 2;
1248  if (this->_internal_num_failures() != 0) {
1249  target = stream->EnsureSpace(target);
1250  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_num_failures(), target);
1251  }
1252 
1253  // int64 num_solutions = 3;
1254  if (this->_internal_num_solutions() != 0) {
1255  target = stream->EnsureSpace(target);
1256  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_num_solutions(), target);
1257  }
1258 
1259  // int64 bytes_used = 4;
1260  if (this->_internal_bytes_used() != 0) {
1261  target = stream->EnsureSpace(target);
1262  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_bytes_used(), target);
1263  }
1264 
1265  // double duration_seconds = 5;
1266  if (!(this->_internal_duration_seconds() <= 0 && this->_internal_duration_seconds() >= 0)) {
1267  target = stream->EnsureSpace(target);
1268  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(5, this->_internal_duration_seconds(), target);
1269  }
1270 
1271  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1272  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1273  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1274  }
1275  // @@protoc_insertion_point(serialize_to_array_end:operations_research.ConstraintSolverStatistics)
1276  return target;
1277 }
1278 
1280 // @@protoc_insertion_point(message_byte_size_start:operations_research.ConstraintSolverStatistics)
1281  size_t total_size = 0;
1282 
1283  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1284  // Prevent compiler warnings about cached_has_bits being unused
1285  (void) cached_has_bits;
1286 
1287  // int64 num_branches = 1;
1288  if (this->_internal_num_branches() != 0) {
1289  total_size += 1 +
1290  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1291  this->_internal_num_branches());
1292  }
1293 
1294  // int64 num_failures = 2;
1295  if (this->_internal_num_failures() != 0) {
1296  total_size += 1 +
1297  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1298  this->_internal_num_failures());
1299  }
1300 
1301  // int64 num_solutions = 3;
1302  if (this->_internal_num_solutions() != 0) {
1303  total_size += 1 +
1304  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1305  this->_internal_num_solutions());
1306  }
1307 
1308  // int64 bytes_used = 4;
1309  if (this->_internal_bytes_used() != 0) {
1310  total_size += 1 +
1311  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1312  this->_internal_bytes_used());
1313  }
1314 
1315  // double duration_seconds = 5;
1316  if (!(this->_internal_duration_seconds() <= 0 && this->_internal_duration_seconds() >= 0)) {
1317  total_size += 1 + 8;
1318  }
1319 
1320  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1321  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1322  _internal_metadata_, total_size, &_cached_size_);
1323  }
1324  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1325  SetCachedSize(cached_size);
1326  return total_size;
1327 }
1328 
1329 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ConstraintSolverStatistics::_class_data_ = {
1330  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1331  ConstraintSolverStatistics::MergeImpl
1332 };
1333 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ConstraintSolverStatistics::GetClassData() const { return &_class_data_; }
1334 
1335 void ConstraintSolverStatistics::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
1336  const ::PROTOBUF_NAMESPACE_ID::Message&from) {
1337  static_cast<ConstraintSolverStatistics *>(to)->MergeFrom(
1338  static_cast<const ConstraintSolverStatistics &>(from));
1339 }
1340 
1341 
1343 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.ConstraintSolverStatistics)
1344  GOOGLE_DCHECK_NE(&from, this);
1345  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1346  (void) cached_has_bits;
1347 
1348  if (from._internal_num_branches() != 0) {
1349  _internal_set_num_branches(from._internal_num_branches());
1350  }
1351  if (from._internal_num_failures() != 0) {
1352  _internal_set_num_failures(from._internal_num_failures());
1353  }
1354  if (from._internal_num_solutions() != 0) {
1355  _internal_set_num_solutions(from._internal_num_solutions());
1356  }
1357  if (from._internal_bytes_used() != 0) {
1358  _internal_set_bytes_used(from._internal_bytes_used());
1359  }
1360  if (!(from._internal_duration_seconds() <= 0 && from._internal_duration_seconds() >= 0)) {
1361  _internal_set_duration_seconds(from._internal_duration_seconds());
1362  }
1363  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1364 }
1365 
1367 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.ConstraintSolverStatistics)
1368  if (&from == this) return;
1369  Clear();
1370  MergeFrom(from);
1371 }
1372 
1374  return true;
1375 }
1376 
1377 void ConstraintSolverStatistics::InternalSwap(ConstraintSolverStatistics* other) {
1378  using std::swap;
1379  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1380  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1381  PROTOBUF_FIELD_OFFSET(ConstraintSolverStatistics, duration_seconds_)
1382  + sizeof(ConstraintSolverStatistics::duration_seconds_)
1383  - PROTOBUF_FIELD_OFFSET(ConstraintSolverStatistics, num_branches_)>(
1384  reinterpret_cast<char*>(&num_branches_),
1385  reinterpret_cast<char*>(&other->num_branches_));
1386 }
1387 
1388 ::PROTOBUF_NAMESPACE_ID::Metadata ConstraintSolverStatistics::GetMetadata() const {
1389  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1392 }
1393 
1394 // ===================================================================
1395 
1397  public:
1398  static const ::operations_research::LocalSearchStatistics& local_search_statistics(const SearchStatistics* msg);
1399  static const ::operations_research::ConstraintSolverStatistics& constraint_solver_statistics(const SearchStatistics* msg);
1400 };
1401 
1402 const ::operations_research::LocalSearchStatistics&
1404  return *msg->local_search_statistics_;
1405 }
1406 const ::operations_research::ConstraintSolverStatistics&
1408  return *msg->constraint_solver_statistics_;
1409 }
1410 SearchStatistics::SearchStatistics(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1411  bool is_message_owned)
1412  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
1413  SharedCtor();
1414  if (!is_message_owned) {
1415  RegisterArenaDtor(arena);
1416  }
1417  // @@protoc_insertion_point(arena_constructor:operations_research.SearchStatistics)
1418 }
1420  : ::PROTOBUF_NAMESPACE_ID::Message() {
1421  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1422  if (from._internal_has_local_search_statistics()) {
1423  local_search_statistics_ = new ::operations_research::LocalSearchStatistics(*from.local_search_statistics_);
1424  } else {
1425  local_search_statistics_ = nullptr;
1426  }
1427  if (from._internal_has_constraint_solver_statistics()) {
1428  constraint_solver_statistics_ = new ::operations_research::ConstraintSolverStatistics(*from.constraint_solver_statistics_);
1429  } else {
1430  constraint_solver_statistics_ = nullptr;
1431  }
1432  // @@protoc_insertion_point(copy_constructor:operations_research.SearchStatistics)
1433 }
1434 
1435 inline void SearchStatistics::SharedCtor() {
1436 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
1437  reinterpret_cast<char*>(&local_search_statistics_) - reinterpret_cast<char*>(this)),
1438  0, static_cast<size_t>(reinterpret_cast<char*>(&constraint_solver_statistics_) -
1439  reinterpret_cast<char*>(&local_search_statistics_)) + sizeof(constraint_solver_statistics_));
1440 }
1441 
1443  // @@protoc_insertion_point(destructor:operations_research.SearchStatistics)
1444  if (GetArenaForAllocation() != nullptr) return;
1445  SharedDtor();
1446  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1447 }
1448 
1449 inline void SearchStatistics::SharedDtor() {
1450  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1451  if (this != internal_default_instance()) delete local_search_statistics_;
1452  if (this != internal_default_instance()) delete constraint_solver_statistics_;
1453 }
1454 
1455 void SearchStatistics::ArenaDtor(void* object) {
1456  SearchStatistics* _this = reinterpret_cast< SearchStatistics* >(object);
1457  (void)_this;
1458 }
1459 void SearchStatistics::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1460 }
1461 void SearchStatistics::SetCachedSize(int size) const {
1462  _cached_size_.Set(size);
1463 }
1464 
1466 // @@protoc_insertion_point(message_clear_start:operations_research.SearchStatistics)
1467  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1468  // Prevent compiler warnings about cached_has_bits being unused
1469  (void) cached_has_bits;
1470 
1471  if (GetArenaForAllocation() == nullptr && local_search_statistics_ != nullptr) {
1472  delete local_search_statistics_;
1473  }
1474  local_search_statistics_ = nullptr;
1475  if (GetArenaForAllocation() == nullptr && constraint_solver_statistics_ != nullptr) {
1476  delete constraint_solver_statistics_;
1477  }
1478  constraint_solver_statistics_ = nullptr;
1479  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1480 }
1481 
1482 const char* SearchStatistics::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1483 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1484  while (!ctx->Done(&ptr)) {
1485  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1486  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1487  switch (tag >> 3) {
1488  // .operations_research.LocalSearchStatistics local_search_statistics = 1;
1489  case 1:
1490  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1491  ptr = ctx->ParseMessage(_internal_mutable_local_search_statistics(), ptr);
1492  CHK_(ptr);
1493  } else goto handle_unusual;
1494  continue;
1495  // .operations_research.ConstraintSolverStatistics constraint_solver_statistics = 2;
1496  case 2:
1497  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1498  ptr = ctx->ParseMessage(_internal_mutable_constraint_solver_statistics(), ptr);
1499  CHK_(ptr);
1500  } else goto handle_unusual;
1501  continue;
1502  default: {
1503  handle_unusual:
1504  if ((tag == 0) || ((tag & 7) == 4)) {
1505  CHK_(ptr);
1506  ctx->SetLastTag(tag);
1507  goto success;
1508  }
1509  ptr = UnknownFieldParse(tag,
1510  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1511  ptr, ctx);
1512  CHK_(ptr != nullptr);
1513  continue;
1514  }
1515  } // switch
1516  } // while
1517 success:
1518  return ptr;
1519 failure:
1520  ptr = nullptr;
1521  goto success;
1522 #undef CHK_
1523 }
1524 
1525 ::PROTOBUF_NAMESPACE_ID::uint8* SearchStatistics::_InternalSerialize(
1526  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1527  // @@protoc_insertion_point(serialize_to_array_start:operations_research.SearchStatistics)
1528  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1529  (void) cached_has_bits;
1530 
1531  // .operations_research.LocalSearchStatistics local_search_statistics = 1;
1532  if (this->_internal_has_local_search_statistics()) {
1533  target = stream->EnsureSpace(target);
1534  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1535  InternalWriteMessage(
1536  1, _Internal::local_search_statistics(this), target, stream);
1537  }
1538 
1539  // .operations_research.ConstraintSolverStatistics constraint_solver_statistics = 2;
1540  if (this->_internal_has_constraint_solver_statistics()) {
1541  target = stream->EnsureSpace(target);
1542  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1543  InternalWriteMessage(
1544  2, _Internal::constraint_solver_statistics(this), target, stream);
1545  }
1546 
1547  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1548  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1549  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1550  }
1551  // @@protoc_insertion_point(serialize_to_array_end:operations_research.SearchStatistics)
1552  return target;
1553 }
1554 
1556 // @@protoc_insertion_point(message_byte_size_start:operations_research.SearchStatistics)
1557  size_t total_size = 0;
1558 
1559  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1560  // Prevent compiler warnings about cached_has_bits being unused
1561  (void) cached_has_bits;
1562 
1563  // .operations_research.LocalSearchStatistics local_search_statistics = 1;
1564  if (this->_internal_has_local_search_statistics()) {
1565  total_size += 1 +
1566  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1567  *local_search_statistics_);
1568  }
1569 
1570  // .operations_research.ConstraintSolverStatistics constraint_solver_statistics = 2;
1571  if (this->_internal_has_constraint_solver_statistics()) {
1572  total_size += 1 +
1573  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1574  *constraint_solver_statistics_);
1575  }
1576 
1577  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1578  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1579  _internal_metadata_, total_size, &_cached_size_);
1580  }
1581  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1582  SetCachedSize(cached_size);
1583  return total_size;
1584 }
1585 
1586 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SearchStatistics::_class_data_ = {
1587  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1588  SearchStatistics::MergeImpl
1589 };
1590 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SearchStatistics::GetClassData() const { return &_class_data_; }
1591 
1592 void SearchStatistics::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
1593  const ::PROTOBUF_NAMESPACE_ID::Message&from) {
1594  static_cast<SearchStatistics *>(to)->MergeFrom(
1595  static_cast<const SearchStatistics &>(from));
1596 }
1597 
1598 
1600 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.SearchStatistics)
1601  GOOGLE_DCHECK_NE(&from, this);
1602  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1603  (void) cached_has_bits;
1604 
1605  if (from._internal_has_local_search_statistics()) {
1606  _internal_mutable_local_search_statistics()->::operations_research::LocalSearchStatistics::MergeFrom(from._internal_local_search_statistics());
1607  }
1608  if (from._internal_has_constraint_solver_statistics()) {
1609  _internal_mutable_constraint_solver_statistics()->::operations_research::ConstraintSolverStatistics::MergeFrom(from._internal_constraint_solver_statistics());
1610  }
1611  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1612 }
1613 
1615 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.SearchStatistics)
1616  if (&from == this) return;
1617  Clear();
1618  MergeFrom(from);
1619 }
1620 
1622  return true;
1623 }
1624 
1625 void SearchStatistics::InternalSwap(SearchStatistics* other) {
1626  using std::swap;
1627  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1628  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1629  PROTOBUF_FIELD_OFFSET(SearchStatistics, constraint_solver_statistics_)
1630  + sizeof(SearchStatistics::constraint_solver_statistics_)
1631  - PROTOBUF_FIELD_OFFSET(SearchStatistics, local_search_statistics_)>(
1632  reinterpret_cast<char*>(&local_search_statistics_),
1633  reinterpret_cast<char*>(&other->local_search_statistics_));
1634 }
1635 
1636 ::PROTOBUF_NAMESPACE_ID::Metadata SearchStatistics::GetMetadata() const {
1637  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1640 }
1641 
1642 // @@protoc_insertion_point(namespace_scope)
1643 } // namespace operations_research
1644 PROTOBUF_NAMESPACE_OPEN
1645 template<> PROTOBUF_NOINLINE ::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics* Arena::CreateMaybeMessage< ::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics >(Arena* arena) {
1646  return Arena::CreateMessageInternal< ::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics >(arena);
1647 }
1648 template<> PROTOBUF_NOINLINE ::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics* Arena::CreateMaybeMessage< ::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics >(Arena* arena) {
1649  return Arena::CreateMessageInternal< ::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics >(arena);
1650 }
1651 template<> PROTOBUF_NOINLINE ::operations_research::LocalSearchStatistics* Arena::CreateMaybeMessage< ::operations_research::LocalSearchStatistics >(Arena* arena) {
1652  return Arena::CreateMessageInternal< ::operations_research::LocalSearchStatistics >(arena);
1653 }
1654 template<> PROTOBUF_NOINLINE ::operations_research::ConstraintSolverStatistics* Arena::CreateMaybeMessage< ::operations_research::ConstraintSolverStatistics >(Arena* arena) {
1655  return Arena::CreateMessageInternal< ::operations_research::ConstraintSolverStatistics >(arena);
1656 }
1657 template<> PROTOBUF_NOINLINE ::operations_research::SearchStatistics* Arena::CreateMaybeMessage< ::operations_research::SearchStatistics >(Arena* arena) {
1658  return Arena::CreateMessageInternal< ::operations_research::SearchStatistics >(arena);
1659 }
1660 PROTOBUF_NAMESPACE_CLOSE
1661 
1662 // @@protoc_insertion_point(global_scope)
1663 #include <google/protobuf/port_undef.inc>
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto[5]
void CopyFrom(const LocalSearchStatistics_LocalSearchFilterStatistics &from)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const ::operations_research::LocalSearchStatistics & local_search_statistics(const SearchStatistics *msg)
static const SearchStatistics * internal_default_instance()
static const ::operations_research::ConstraintSolverStatistics & constraint_solver_statistics(const SearchStatistics *msg)
void MergeFrom(const LocalSearchStatistics_LocalSearchOperatorStatistics &from)
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
Definition: id_map.h:263
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_NOINLINE ::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics * Arena::CreateMaybeMessage< ::operations_research::LocalSearchStatistics_LocalSearchFilterStatistics >(Arena *arena)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const LocalSearchStatistics &from)
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto_getter()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics * Arena::CreateMaybeMessage< ::operations_research::LocalSearchStatistics_LocalSearchOperatorStatistics >(Arena *arena)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LocalSearchStatisticsDefaultTypeInternal _LocalSearchStatistics_default_instance_
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
void MergeFrom(const SearchStatistics &from)
void CopyFrom(const LocalSearchStatistics_LocalSearchOperatorStatistics &from)
PROTOBUF_NOINLINE ::operations_research::ConstraintSolverStatistics * Arena::CreateMaybeMessage< ::operations_research::ConstraintSolverStatistics >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::LocalSearchStatistics * Arena::CreateMaybeMessage< ::operations_research::LocalSearchStatistics >(Arena *arena)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const LocalSearchStatistics_LocalSearchFilterStatistics &from)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LocalSearchStatistics_LocalSearchOperatorStatisticsDefaultTypeInternal _LocalSearchStatistics_LocalSearchOperatorStatistics_default_instance_
void MergeFrom(const ConstraintSolverStatistics &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void MergeFrom(const LocalSearchStatistics &from)
PROTOBUF_NOINLINE ::operations_research::SearchStatistics * Arena::CreateMaybeMessage< ::operations_research::SearchStatistics >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
#define CHK_(x)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto::offsets [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LocalSearchStatistics_LocalSearchFilterStatisticsDefaultTypeInternal _LocalSearchStatistics_LocalSearchFilterStatistics_default_instance_
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto_once
void CopyFrom(const ConstraintSolverStatistics &from)
Collection of objects used to extend the Constraint Solver library.
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SearchStatisticsDefaultTypeInternal _SearchStatistics_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintSolverStatisticsDefaultTypeInternal _ConstraintSolverStatistics_default_instance_
void CopyFrom(const SearchStatistics &from)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const ** file_level_enum_descriptors_ortools_2fconstraint_5fsolver_2fsearch_5fstats_2eproto