souffle
2.0.2-371-g6315b36
|
Bidirectional mappping between records and record references. More...
#include <RecordTable.h>
Data Structures | |
struct | RecordHash |
hash function for unordered record map More... | |
Public Member Functions | |
RamDomain | pack (const RamDomain *tuple) |
convert record pointer to a record reference More... | |
RamDomain | pack (std::vector< RamDomain > vector) |
converts record to a record reference More... | |
RecordMap (size_t arity) | |
const RamDomain * | unpack (RamDomain index) const |
convert record reference to a record pointer More... | |
Private Attributes | |
const size_t | arity |
arity of record More... | |
std::vector< std::vector< RamDomain > > | indexToRecord |
array of records; index represents record reference More... | |
std::unordered_map< std::vector< RamDomain >, RamDomain, RecordHash > | recordToIndex |
map from records to references More... | |
Bidirectional mappping between records and record references.
Definition at line 40 of file RecordTable.h.
|
inlineexplicit |
Definition at line 72 of file RecordTable.h.
convert record pointer to a record reference
Definition at line 97 of file RecordTable.h.
References indexToRecord.
convert record reference to a record pointer
Definition at line 113 of file RecordTable.h.
|
private |
arity of record
Definition at line 49 of file RecordTable.h.
|
private |
array of records; index represents record reference
Definition at line 69 of file RecordTable.h.
Referenced by pack().
|
private |
map from records to references
Definition at line 65 of file RecordTable.h.