| Nebula
							 | 
#include <tablesignature.h>
Basically a bitfield with packed ComponentIds.
Can be used to identify tables, or be used as a mask to query the database for tables that contain a certain set of components.
| Public Member Functions | |
| TableSignature () | |
| default constructor. | |
| TableSignature (TableSignature const &rhs) | |
| copy constructor | |
| TableSignature (Util::FixedArray< AttributeId > const &descriptors) | |
| construct from fixed array of component ids | |
| TableSignature (std::initializer_list< AttributeId > descriptors) | |
| construct from component id initializer list, for convenience | |
| TableSignature (AttributeId const *descriptors, SizeT num) | |
| construct from component id pointer array | |
| ~TableSignature () | |
| destructor | |
| TableSignature & | operator= (TableSignature const &rhs) | 
| assignment operator | |
| bool const | operator== (TableSignature const &rhs) const | 
| equality operator | |
| bool const | IsValid () const | 
| check if signature is valid | |
| bool const | IsSet (AttributeId component) const | 
| check if a single bit is set | |
| void | FlipBit (AttributeId component) | 
| flip a bit. | |
| void | SetBit (AttributeId component) | 
| set a bit. | |
| void | ClearBit (AttributeId component) | 
| clear a bit. | |
| Static Public Member Functions | |
| static bool const | CheckBits (TableSignature const &src, TableSignature const &mask) | 
| (src & mask) == mask | |
| static bool const | HasAny (TableSignature const &src, TableSignature const &mask) | 
| check if src has any of the bits in mask set ((src & mask) == 0) | |
| Protected Member Functions | |
| void | Setup (AttributeId const *descriptors, SizeT num) | 
| create bitfield from fixed array. | |
| Protected Attributes | |
| __m128i * | mask | 
| large bit field, using SSE registers | |
| uint8_t | size | 
| number of SSE regs allocated | |
| 
 | inline | 
default constructor.
| 
 | inline | 
copy constructor
| 
 | inline | 
construct from fixed array of component ids
| 
 | inline | 
construct from component id initializer list, for convenience
| 
 | inline | 
construct from component id pointer array
| 
 | inline | 
destructor
| 
 | inlinestatic | 
(src & mask) == mask
This runs on the assumption that we never create a mask that contains more bits than necessary.
i.e, a mask that is 256 bits large but is zero in left most 128 bits is forbidden.
| 
 | inline | 
clear a bit.
| 
 | inline | 
flip a bit.
| 
 | inlinestatic | 
check if src has any of the bits in mask set ((src & mask) == 0)
This runs on the assumption that we never create a mask that contains more bits than necessary.
i.e, a mask that is 256 bits large but is zero in left most 128 bits is forbidden.
| 
 | inline | 
check if a single bit is set
| 
 | inline | 
check if signature is valid
| 
 | inline | 
assignment operator
| 
 | inline | 
equality operator
| 
 | inline | 
set a bit.
| 
 | inlineprotected | 
create bitfield from fixed array.
| 
 | protected | 
large bit field, using SSE registers
| 
 | protected | 
number of SSE regs allocated