| Brick Library 0.1
    Performance-portable stencil datalayout & codegen | 
Set using bitfield. More...
#include <bitset.h>
| Public Member Functions | |
| BitSet () | |
| Default to empty set. | |
| BitSet (uint64_t s) | |
| Initialize a set based on an unsigned bitfield. | |
| BitSet (std::initializer_list< int > l) | |
| Initialize a set based on a list of numbers. | |
| BitSet & | flip (long pos) | 
| Flipping an element. | |
| long | size () const | 
| The number of elements currently stored in the set. | |
| bool | get (long pos) const | 
| Return whether a number is in the set. | |
| BitSet | operator& (BitSet a) const | 
| Intersection with another set. | |
| BitSet | operator| (BitSet a) const | 
| Union with another set. | |
| BitSet | operator^ (BitSet a) const | 
| \(A \cup B - A \cap B\) | |
| operator bool () const | |
| Test emptiness, true if not empty. | |
| bool | operator<= (BitSet a) const | 
| True if \(A \subseteq B\). | |
| bool | operator>= (BitSet a) const | 
| True if \(A \supseteq B\). | |
| BitSet | operator! () const | 
| Negate all elements in the set, not a set operation. | |
| Static Public Member Functions | |
| static uint64_t | to_set (long pos) | 
| Turn number into corresponding element of set. | |
| Public Attributes | |
| uint64_t | set | 
| The bitfield of this set. | |
| Static Public Attributes | |
| static const long | zero = 31 | 
| negative zero start at 31 (1<<31). | |
| Related Functions | |
| (Note that these are not member functions.) | |
| std::ostream & | operator<< (std::ostream &os, const BitSet &bs) | 
| Print a bit set. | |
| std::istream & | operator>> (std::istream &is, BitSet &bs) | 
| Read a bit set. | |
Set using bitfield.
Numbers are translated into elements and then stored in the bitfield. Can only held numbers in \([-32,31]\).
| 
 | inline | 
Default to empty set.
| 
 | inline | 
Initialize a set based on an unsigned bitfield.
| 
 | inline | 
| 
 | inline | 
Flipping an element.
| pos | the number | 
Add the element if not exist, or remove it if it does.
| 
 | inline | 
Return whether a number is in the set.
| 
 | inline | 
Test emptiness, true if not empty.
| 
 | inline | 
| 
 | inline | 
True if \(A \subseteq B\).
| 
 | inline | 
True if \(A \supseteq B\).
| 
 | inline | 
The number of elements currently stored in the set.
| 
 | inlinestatic | 
Turn number into corresponding element of set.
| pos | Input number | 
| 
 | related | 
Print a bit set.
Example:
| 
 | related | 
Read a bit set.
Input is the same format as output. Numbers are separated by appended sign.
| uint64_t BitSet::set | 
The bitfield of this set.
| 
 | static | 
negative zero start at 31 (1<<31).