56 const CpModelProto& in_model,
bool first_copy =
false,
57 std::function<
bool(
int)> active_constraints =
nullptr);
71 bool CreateUnsatModel(
int c,
const ConstraintProto& ct);
74 bool PrepareEnforcementCopy(
const ConstraintProto& ct);
75 bool PrepareEnforcementCopyWithDup(
const ConstraintProto& ct);
76 void FinishEnforcementCopy(ConstraintProto* ct);
79 bool CopyBoolOr(
const ConstraintProto& ct);
80 bool CopyBoolOrWithDupSupport(
const ConstraintProto& ct);
81 bool FinishBoolOrCopy();
83 bool CopyBoolAnd(
const ConstraintProto& ct);
84 bool CopyBoolAndWithDupSupport(
const ConstraintProto& ct);
86 bool CopyAtMostOne(
const ConstraintProto& ct);
87 bool CopyExactlyOne(
const ConstraintProto& ct);
89 bool CopyElement(
const ConstraintProto& ct);
90 bool CopyIntProd(
const ConstraintProto& ct,
bool ignore_names);
91 bool CopyIntDiv(
const ConstraintProto& ct,
bool ignore_names);
92 bool CopyIntMod(
const ConstraintProto& ct,
bool ignore_names);
93 bool CopyLinear(
const ConstraintProto& ct,
bool canonicalize);
94 bool CopyLinearExpression(
const LinearExpressionProto& expr,
95 LinearExpressionProto* dst,
96 absl::Span<const int> enforcement_literals = {});
97 bool CopyAutomaton(
const ConstraintProto& ct);
98 bool CopyTable(
const ConstraintProto& ct);
99 bool CopyAllDiff(
const ConstraintProto& ct);
100 bool CopyLinMax(
const ConstraintProto& ct);
105 bool CopyInterval(
const ConstraintProto& ct,
int c,
bool ignore_names);
106 bool AddLinearConstraintForInterval(
const ConstraintProto& ct);
111 void CopyAndMapNoOverlap(
const ConstraintProto& ct);
112 void CopyAndMapNoOverlap2D(
const ConstraintProto& ct);
113 bool CopyAndMapCumulative(
const ConstraintProto& ct);
118 std::vector<int> non_fixed_variables_;
119 std::vector<int64_t> non_fixed_coefficients_;
120 std::vector<int64_t> interval_mapping_;
121 int starting_constraint_index_ = 0;
123 std::vector<int> temp_enforcement_literals_;
124 absl::flat_hash_set<int> temp_enforcement_literals_set_;
126 std::vector<int> temp_literals_;
127 absl::flat_hash_set<int> temp_literals_set_;
129 ConstraintProto tmp_constraint_;