#include <SimpleDB.h>
Collaboration diagram for PLearn::SimpleDBIndexKey< KeyType >:
Public Types | |
typedef KeyType | ByteArr |
typedef ByteArr::iterator | iterator |
Public Member Functions | |
SimpleDBIndexKey () | |
default ctor | |
SimpleDBIndexKey (size_t len) | |
SimpleDBIndexKey (const unsigned char *the_raw, size_t len) | |
SimpleDBIndexKey (const ByteArr &the_raw) | |
operator char * () const | |
size_t | byteLength () const |
bool | operator== (const SimpleDBIndexKey &other) const |
relational operators | |
bool | operator!= (const SimpleDBIndexKey &other) const |
void | resize (size_t len) |
ByteArr::iterator | begin () |
ByteArr::iterator | end () |
Private Attributes | |
ByteArr | raw |
Definition at line 420 of file SimpleDB.h.
|
These is a small semantic clash between what Hash requires and the way database rows are implemented. According to the C++ standard, the only type that is guaranteed to map to any preconceived notion of "amorphous byte" is the unsigned char (assuming 8-bit chars). Hence, all our internal data storage is performed this way. However, Hash works with plain chars, which causes a somewhat annoying compiler complaint of possible conversion error. This is why you see the static_cast in operator char*(). Definition at line 432 of file SimpleDB.h. |
|
Definition at line 433 of file SimpleDB.h. |
|
default ctor
Definition at line 435 of file SimpleDB.h. |
|
Definition at line 437 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. |
|
Definition at line 440 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::begin(), std::copy(), and PLearn::SimpleDBIndexKey< KeyType >::raw. |
|
Definition at line 446 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. |
|
Definition at line 480 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. Referenced by PLearn::SimpleDB< KeyType, QueryResult >::findEqualLinear(), PLearn::SimpleDB< KeyType, QueryResult >::indexColumn(), and PLearn::SimpleDBIndexKey< KeyType >::SimpleDBIndexKey(). |
|
Definition at line 463 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. |
|
Definition at line 484 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. |
|
REquired interface. There is one small thing that our dear Hash Table class does not account for: operator char*() MUST BE CONST! or otherwise, the conversion operator is not called properly. Definition at line 459 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. |
|
Definition at line 472 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. |
|
relational operators
Definition at line 468 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. |
|
Definition at line 476 of file SimpleDB.h. References PLearn::SimpleDBIndexKey< KeyType >::raw. |
|