[[["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\u003eRevBitSet\u003c/code\u003e represents a reversible bitset, primarily used for maintaining supports in constraint programming.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods for setting, clearing, and checking the status of individual bits within the bitset.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRevBitSet\u003c/code\u003e allows efficient operations for determining cardinality, such as checking if the bitset is empty or contains only one bit.\u003c/p\u003e\n"],["\u003cp\u003eThe class supports reversibility, enabling backtracking and exploration of different solution states.\u003c/p\u003e\n"]]],["The `RevBitSet` class in C++ manages reversible bitsets for maintaining supports. Key actions include: setting a specific bit to one (`SetToOne`) or zero (`SetToZero`), and clearing all bits (`ClearAll`). The class can return the number of bits set (`Cardinality`), check if a specific bit is set (`IsSet`), and determine if only one or no bits are set (`IsCardinalityOne`, `IsCardinalityZero`). It can also return the first bit set starting from a specified index (`GetFirstBit`). The size of the bitset can be set in the constructor (`RevBitSet`).\n"],null,["# RevBitSet\n\nC++ Reference: class RevBitSet\n==============================\n\n\nNote: This documentation is automatically generated.\nThis class represents a reversible bitset. This class is useful to maintain supports.\n\n| Method ||\n|-------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`Cardinality`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L434) | Return type: `int64_t ` Returns the number of bits set to one. |\n| [`ClearAll`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L443) | Return type: `void ` Arguments: `Solver* const solver` Cleans all bits. |\n| [`GetFirstBit`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L441) | Return type: `int64_t ` Arguments: `int start` Gets the index of the first bit set starting from start. It returns -1 if the bitset is empty after start. |\n| [`IsCardinalityOne`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L438) | Return type: `bool ` Does it contains only one bit set? |\n| [`IsCardinalityZero`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L436) | Return type: `bool ` Is bitset null? |\n| [`IsSet`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L432) | Return type: `bool ` Arguments: `int64_t index` Returns whether the 'index' bit is set. |\n| [`RevBitSet`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L424) | Return type: `explicit ` Arguments: `int64_t size` \u003cbr /\u003e |\n| [`~RevBitSet`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L425) | \u003cbr /\u003e |\n| [`SetToOne`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L428) | Return type: `void ` Arguments: `Solver* const solver, int64_t index` Sets the 'index' bit. |\n| [`SetToZero`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L430) | Return type: `void ` Arguments: `Solver* const solver, int64_t index` Erases the 'index' bit. |"]]