[[["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\u003e\u003ccode\u003eSolutionCallback\u003c/code\u003e serves as a base class for SWIG director based on solution callbacks, allowing users to interact with the solver during the search process.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to access solution information, such as objective value, best objective bound, and values of variables.\u003c/p\u003e\n"],["\u003cp\u003eUsers can control the search by stopping it or setting a boolean to stop the search atomically.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes methods to track solver statistics like deterministic time, wall time, number of branches, conflicts, and propagations.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the SWIG documentation for more details on directors: \u003ca href=\"http://www.swig.org/Doc4.0/SWIGDocumentation.html#CSharp_directors\"\u003ehttp://www.swig.org/Doc4.0/SWIGDocumentation.html#CSharp_directors\u003c/a\u003e.\u003c/p\u003e\n"]]],["The `SolutionCallback` class, a base for SWIG directors, provides methods for monitoring and controlling the solution process. Key actions include: retrieving the `BestObjectiveBound`, `ObjectiveValue`, and various time metrics (`DeterministicTime`, `UserTime`, `WallTime`). It allows obtaining solution details, like `SolutionBooleanValue` and `SolutionIntegerValue`. The class also tracks statistics such as `NumBinaryPropagations`, `NumConflicts`, and `NumBranches`. Methods are provided to `StopSearch`, `Run`, and check `HasResponse`, including setting a boolean pointer to stop the search.\n"],null,["# SolutionCallback\n\nC++ Reference: class SolutionCallback\n=====================================\n\n\nNote: This documentation is automatically generated.\nBase class for SWIG director based on solution callbacks. See \u003chttp://www.swig.org/Doc4.0/SWIGDocumentation.html#CSharp_directors\u003e.\n\n| Method ||\n|-----------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|\n| [`BestObjectiveBound`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L66) | Return type: `double ` \u003cbr /\u003e |\n| [`DeterministicTime`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L62) | Return type: `double ` \u003cbr /\u003e |\n| [`HasResponse`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L80) | Return type: `bool ` \u003cbr /\u003e |\n| [`NumBinaryPropagations`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L54) | Return type: `int64_t ` \u003cbr /\u003e |\n| [`NumBooleans`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L48) | Return type: `int64_t ` \u003cbr /\u003e |\n| [`NumBranches`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L50) | Return type: `int64_t ` \u003cbr /\u003e |\n| [`NumConflicts`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L52) | Return type: `int64_t ` \u003cbr /\u003e |\n| [`NumIntegerPropagations`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L56) | Return type: `int64_t ` \u003cbr /\u003e |\n| [`ObjectiveValue`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L64) | Return type: `double ` \u003cbr /\u003e |\n| [`OnSolutionCallback`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L44) | Return type: `virtual void ` \u003cbr /\u003e |\n| [`Response`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L75) | Return type: `operations_research::sat::CpSolverResponse ` \u003cbr /\u003e |\n| [`Run`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L46) | Return type: `void ` Arguments: `const operations_research::sat::CpSolverResponse& response` \u003cbr /\u003e |\n| [`SetAtomicBooleanToStopTheSearch`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L78) | Return type: `void ` Arguments: `std::atomic\u003cbool\u003e* stopped_ptr` We use mutable and non const methods to overcome SWIG difficulties. |\n| [`SolutionBooleanValue`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L70) | Return type: `bool ` Arguments: `int index` \u003cbr /\u003e |\n| [`~SolutionCallback`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L42) | Return type: `virtual ` \u003cbr /\u003e |\n| [`SolutionIntegerValue`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L68) | Return type: `int64_t ` Arguments: `int index` \u003cbr /\u003e |\n| [`StopSearch`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L73) | Return type: `void ` Stops the search. |\n| [`UserTime`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L60) | Return type: `double ` \u003cbr /\u003e |\n| [`WallTime`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/swig_helper.h#L58) | Return type: `double ` \u003cbr /\u003e |"]]