18#ifndef ORTOOLS_MATH_OPT_ELEMENTAL_ELEMENTS_H_
19#define ORTOOLS_MATH_OPT_ELEMENTAL_ELEMENTS_H_
24#include "absl/strings/string_view.h"
43 "variable",
"linear_constraint",
"auxiliary_objective",
44 "quadratic_constraint",
"indicator_constraint"};
48 "var",
"lin_con",
"aux_obj",
"quad_con",
"indic_con"};
53template <
typename Sink>
58template <ElementType element_type>
61template <ElementType element_type,
typename Container>
64template <ElementType element_type>
67template <ElementType element_type>
74template <ElementType element_type>
constexpr std::array< std::remove_cv_t< T >, N > to_array(T(&ts)[N])
TaggedIdsConstView< element_type, Container > ElementIdsConstView
ElementId< ElementType::kAuxiliaryObjective > AuxiliaryObjectiveId
typename TaggedIdsVector< tag >::View TaggedIdsSpan
static constexpr bool is_element_id_v
constexpr absl::string_view kShortElementNames[kNumElements]
ElementId< ElementType::kVariable > VariableId
constexpr int kNumElements
void AbslStringify(Sink &sink, const RemoteStreamingSolveMode mode)
ElementId< ElementType::kQuadraticConstraint > QuadraticConstraintId
std::ostream & operator<<(std::ostream &ostr, const SecondOrderConeConstraint &constraint)
ElementId< ElementType::kLinearConstraint > LinearConstraintId
absl::string_view ToString(const AttrT attr)
TaggedId< element_type > ElementId
TaggedIdsVector< element_type > ElementIdsVector
constexpr absl::string_view kElementNames[kNumElements]
TaggedIdsSpan< element_type > ElementIdsSpan
ElementId< ElementType::kIndicatorConstraint > IndicatorConstraintId