25 absl::Span<const int> lci_insertion_sorting_properties) {
26 std::vector<RoutingSearchParameters::InsertionSortingProperty>
29 for (
const int property : lci_insertion_sorting_properties) {
30 sorting_properties.push_back(
31 static_cast<RoutingSearchParameters::InsertionSortingProperty
>(
38 if (sorting_properties.empty()) {
39 sorting_properties.push_back(
40 RoutingSearchParameters::SORTING_PROPERTY_ALLOWED_VEHICLES);
41 sorting_properties.push_back(
42 RoutingSearchParameters::SORTING_PROPERTY_PENALTY);
44 return sorting_properties;
48 RoutingSearchParameters::LocalSearchNeighborhoodOperators* operators) {
49 const auto* reflection = operators->GetReflection();
50 const auto* descriptor = operators->GetDescriptor();
51 const auto* false_enum =
52 OptionalBoolean_descriptor()->FindValueByName(
"BOOL_FALSE");
53 for (
int field_index = 0;
54 field_index < descriptor->field_count(); ++field_index) {
55 const auto* field = descriptor->field(field_index);
56 reflection->SetEnum(operators, field, false_enum);