[[["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\u003eNoCyclePropagator\u003c/code\u003e class in C++ is designed to ensure that there are no cycles in a given directed graph.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eNoCyclePropagator\u003c/code\u003e constructor takes the number of nodes, vectors of tails and heads, literals, and a model as arguments.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eIncrementalPropagate\u003c/code\u003e and \u003ccode\u003ePropagate\u003c/code\u003e methods are used, which both return a boolean value.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSetLevel\u003c/code\u003e method allows the user to set a level with an integer value.\u003c/p\u003e\n"]]],["The `NoCyclePropagator` class in C++ enforces the absence of cycles in a directed graph. It utilizes methods like `IncrementalPropagate` and `Propagate` to check for cycle existence, returning a boolean result. `SetLevel` manages the propagation level. The constructor, `NoCyclePropagator`, takes in parameters like the number of nodes, tails, heads, literals, and a model, to setup the problem. The method takes watch indices for the `IncrementalPropagate`.\n"],null,["# NoCyclePropagator\n\nC++ Reference: class NoCyclePropagator\n======================================\n\n\nNote: This documentation is automatically generated.\nEnforce the fact that there is no cycle in the given directed graph.\n\n| Method ||\n|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`IncrementalPropagate`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/circuit.h#L129) | Return type: `bool ` Arguments: `const std::vector\u003cint\u003e& watch_indices` \u003cbr /\u003e |\n| [`NoCyclePropagator`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/circuit.h#L123) | \u003cbr /\u003e Arguments: `int num_nodes, const std::vector\u003cint\u003e& tails, const std::vector\u003cint\u003e& heads, const std::vector\u003cLiteral\u003e& literals, Model* model` \u003cbr /\u003e |\n| [`Propagate`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/circuit.h#L128) | Return type: `bool ` \u003cbr /\u003e |\n| [`SetLevel`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/circuit.h#L127) | Return type: `void ` Arguments: `int level` \u003cbr /\u003e |"]]