10std::strong_ordering Bound::operator<=>(
const Bound& other)
const {
11 const auto& [value_l, type_l, lit_l, expl_l] = *
this;
12 const auto& [value_r, type_r, lit_r, expl_r] = other;
13 if (*value_l < *value_r)
return std::strong_ordering::less;
14 if (*value_l > *value_r)
return std::strong_ordering::greater;
15 if (type_l < type_r)
return std::strong_ordering::less;
16 if (type_l > type_r)
return std::strong_ordering::greater;
17 return std::strong_ordering::equal;
19bool Bound::operator==(
const Bound& other)
const {
20 const auto& [value_l, type_l, lit_l, expl_l] = *
this;
21 const auto& [value_r, type_r, lit_r, expl_r] = other;
22 return *value_l == *value_r && type_l == type_r && lit_l == lit_r && expl_l == expl_r;
25std::ostream& operator<<(std::ostream& os,
const Bound& bound) {
26 const auto& [value, type, lit, expl] = bound;
27 return os <<
"Bound{ " << *value <<
", " << type <<
", " << lit <<
", " << expl <<
" }";
Global namespace for the dlinear library.