diff --git a/ortools/math_opt/storage/model_storage_v2.h b/ortools/math_opt/storage/model_storage_v2.h index cd71e0756c1..13d0d8c8360 100644 --- a/ortools/math_opt/storage/model_storage_v2.h +++ b/ortools/math_opt/storage/model_storage_v2.h @@ -932,6 +932,7 @@ void ModelStorageV2::clear_objective(const ObjectiveId id) { const absl::flat_hash_map& ModelStorageV2::linear_objective( const ObjectiveId id) const { LOG(FATAL) << "cannot be implemented"; + return *static_cast*>(nullptr); } int64_t ModelStorageV2::num_linear_objective_terms(const ObjectiveId id) const { @@ -1024,6 +1025,7 @@ typename ConstraintData::IdType ModelStorageV2::AddAtomicConstraint( const ConstraintData data) { if constexpr (!ConstraintData::kSupportsElemental) { LOG(FATAL) << "elemental not supported yet"; + return {}; } else { return internal::AddAtomicConstraint(data, elemental_); } @@ -1044,6 +1046,7 @@ typename AtomicConstraintTraits::ConstraintData ModelStorageV2::GetConstraintData(IdType id) const { if constexpr (!AtomicConstraintTraits::kSupportsElemental) { LOG(FATAL) << "elemental not supported yet"; + return {}; } else { return internal::GetAtomicConstraint(id, elemental_); } @@ -1053,12 +1056,14 @@ template const typename AtomicConstraintTraits::ConstraintData& ModelStorageV2::constraint_data(const IdType) const { LOG(FATAL) << "not implementable for ModelStorageV2"; + return *static_cast::ConstraintData*>(nullptr); } template int64_t ModelStorageV2::num_constraints() const { if constexpr (!AtomicConstraintTraits::kSupportsElemental) { LOG(FATAL) << "elemental not supported yet"; + return {}; } else { return elemental_.NumElements(AtomicConstraintTraits::kElementType); } @@ -1068,6 +1073,7 @@ template IdType ModelStorageV2::next_constraint_id() const { if constexpr (!AtomicConstraintTraits::kSupportsElemental) { LOG(FATAL) << "elemental not supported yet"; + return {}; } else { return IdType{ elemental_.NextElementId(AtomicConstraintTraits::kElementType)}; @@ -1087,6 +1093,7 @@ template bool ModelStorageV2::has_constraint(const IdType id) const { if constexpr (!AtomicConstraintTraits::kSupportsElemental) { LOG(FATAL) << "elemental not supported yet"; + return {}; } else { return elemental_.ElementExists(id); } @@ -1096,6 +1103,7 @@ template std::vector ModelStorageV2::Constraints() const { if constexpr (!AtomicConstraintTraits::kSupportsElemental) { LOG(FATAL) << "elemental not supported yet"; + return {}; } else { constexpr ElementType e = AtomicConstraintTraits::kElementType; auto els = elemental_.AllElements(); @@ -1112,6 +1120,7 @@ template std::vector ModelStorageV2::SortedConstraints() const { if constexpr (!AtomicConstraintTraits::kSupportsElemental) { LOG(FATAL) << "elemental not supported yet"; + return {}; } else { auto result = Constraints(); absl::c_sort(result); @@ -1123,12 +1132,14 @@ template std::vector ModelStorageV2::ConstraintsWithVariable( const VariableId) const { LOG(FATAL) << "not implementable for ModelStorageV2"; + return {}; } template std::vector ModelStorageV2::VariablesInConstraint( const IdType) const { LOG(FATAL) << "not implementable for ModelStorageV2"; + return {}; } } // namespace operations_research::math_opt