[[["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\u003ediffn\u003c/code\u003e constraint in C++ enforces non-overlapping relationships between rectangles or objects represented by intervals.\u003c/p\u003e\n"],["\u003cp\u003eTwo primary functions are highlighted: \u003ccode\u003eAddDiffnCumulativeRelationOnX\u003c/code\u003e and \u003ccode\u003eNonOverlappingRectangles\u003c/code\u003e, offering ways to define these relationships within a model.\u003c/p\u003e\n"],["\u003cp\u003eDocumentation for these functions is auto-generated and can be found on the OR-Tools GitHub repository, with specific links provided for further exploration.\u003c/p\u003e\n"]]],["The core content details two C++ functions related to scheduling and constraint satisfaction within the OR-Tools library. `AddDiffnCumulativeRelationOnX` accepts two `SchedulingConstraintHelper` pointers and a `Model` pointer, with a void return type. `NonOverlappingRectangles` takes vectors of `IntervalVariable` for x and y dimensions and a boolean, returning a function that takes a `Model` pointer. The provided comments indicates both functions are used in managing diffn constraints, which are often used to enforce that rectangles do not overlap.\n"],null,["# diffn\n\nC++ Reference: diffn\n====================\n\n\nNote: This documentation is automatically generated.\n\n| Function | Type | Arguments | Comments |\n|---------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|----------|\n| [`AddDiffnCumulativeRelationOnX`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/diffn.h#L91) | Return type: `void ` Arguments: `SchedulingConstraintHelper* x, SchedulingConstraintHelper* y, Model* model` \u003cbr /\u003e |\n| [`NonOverlappingRectangles`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/diffn.h#L98) | Return type: `inline std::function\u003cvoid(Model*)\u003e ` Arguments: ` const std::vector\u003cIntervalVariable\u003e& x, const std::vector\u003cIntervalVariable\u003e& y, bool is_strict` \u003cbr /\u003e |"]]