[[["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\u003eSharedClausesManager\u003c/code\u003e class in C++ stores and manages binary clauses identified by workers, ensuring thread safety.\u003c/p\u003e\n"],["\u003cp\u003eIt utilizes literals as encoded in \u003ccode\u003ecp_model.proto\u003c/code\u003e, which can include negative numbers.\u003c/p\u003e\n"],["\u003cp\u003eWorkers can add clauses, retrieve unseen clauses, and register new IDs through the provided methods.\u003c/p\u003e\n"],["\u003cp\u003eLogging and statistics functionalities are also available for analysis.\u003c/p\u003e\n"]]],["The `SharedClausesManager` class manages binary clauses shared by workers in a thread-safe manner, using literals from `cp_model.proto`. Key actions include: `AddBinaryClause` to add a binary clause given an ID and two literals; `GetUnseenBinaryClauses` to retrieve unseen clauses; `LogStatistics` for logging search statistics; `RegisterNewId` to get a unique ID; and `SetWorkerNameForId` to associate a worker's name with an ID. Literals can be negative numbers.\n"],null,["# SharedClausesManager\n\nC++ Reference: class SharedClausesManager\n=========================================\n\n\nNote: This documentation is automatically generated.\nThis class holds all the binary clauses that were found and shared by the workers. \n\nIt is thread-safe. \n\nNote that this uses literal as encoded in a cp_model.proto. The literals can thus be negative numbers.\n\n| Method ||\n|-------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`AddBinaryClause`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/synchronization.h#L494) | Return type: `void ` Arguments: `int id, int lit1, int lit2` \u003cbr /\u003e |\n| [`GetUnseenBinaryClauses`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/synchronization.h#L498) | Return type: `void ` Arguments: `int id, std::vector\u003cstd::pair\u003cint, int\u003e\u003e* new_clauses` Fills flat_clauses with (lit1 of clause1, lit2 of clause1, lit1 of clause 2, lit2 of clause2 ...) |\n| [`LogStatistics`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/synchronization.h#L505) | Return type: `void ` Arguments: `SolverLogger* logger` Search statistics. |\n| [`RegisterNewId`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/synchronization.h#L501) | Return type: `int ` \u003cbr /\u003e |\n| [`SetWorkerNameForId`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/synchronization.h#L502) | Return type: `void ` Arguments: `int id, const std::string& worker_name` \u003cbr /\u003e |"]]