[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eCombinedDisjunctive\u003c/code\u003e class manages disjunctive constraints within a Constraint Programming model in C++.\u003c/p\u003e\n"],["\u003cp\u003eIt requires calling \u003ccode\u003eAddNoOverlap\u003c/code\u003e for all disjunctive constraints after creation to ensure they are handled correctly.\u003c/p\u003e\n"],["\u003cp\u003eThe primary method, \u003ccode\u003ePropagate\u003c/code\u003e, enforces the disjunctive constraints, likely by updating variable domains to maintain feasibility.\u003c/p\u003e\n"]]],["The `CombinedDisjunctive` class in C++ manages disjunctive constraints. Key actions include its initialization via the constructor, `CombinedDisjunctive(Model* model)`. The `AddNoOverlap` method, `AddNoOverlap(const std::vector\u003cIntervalVariable\u003e& var)`, is essential for defining all disjunctive constraints. Finally, the `Propagate` method, `Propagate()`, with a boolean return type, is crucial for the class's core logic, although its specific details are not provided in this summary.\n"],null,["# CombinedDisjunctive\n\nC++ Reference: class CombinedDisjunctive\n========================================\n\n\nNote: This documentation is automatically generated.\n\n| Method ||\n|------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`AddNoOverlap`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/disjunctive.h#L201) | Return type: `void ` Arguments: `const std::vector\u003cIntervalVariable\u003e& var` After creation, this must be called for all the disjunctive constraints in the model. |\n| [`CombinedDisjunctive`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/disjunctive.h#L197) | Return type: `explicit ` Arguments: `Model* model` \u003cbr /\u003e |\n| [`Propagate`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/disjunctive.h#L203) | Return type: `bool ` \u003cbr /\u003e |"]]