90 const std::vector<std::pair<L, size_t>>& keys) {
91 std::vector<AssignmentType> allPossValues;
92 AssignmentType assignment;
93 for (
const auto& [idx, _] : keys) assignment[idx] = 0;
95 const size_t nrKeys = keys.size();
97 allPossValues.push_back(assignment);
101 for (j = 0; j < nrKeys; j++) {
102 auto [idx, cardinality] = keys[j];
106 const bool carry = (assignment[idx] == cardinality);
112 if (j == nrKeys)
break;
114 return allPossValues;