51 void *dst,
void *src, std::size_t count)
const
53 bool *boolArray =
reinterpret_cast<bool *
>(src);
54 char *charArray =
reinterpret_cast<char *
>(dst);
55 std::bitset<8> bitSet;
57 for (; i < count; ++i) {
58 bitSet.set(i % 8, boolArray[i]);
60 char packed = bitSet.to_ulong();
61 charArray[i / 8] = packed;
65 char packed = bitSet.to_ulong();
66 charArray[i / 8] = packed;
71 void *dst,
void *src, std::size_t count)
const
73 bool *boolArray =
reinterpret_cast<bool *
>(dst);
74 char *charArray =
reinterpret_cast<char *
>(src);
75 std::bitset<8> bitSet;
76 for (std::size_t i = 0; i < count; i += 8) {
77 bitSet = charArray[i / 8];
78 for (std::size_t j = i; j < std::min(count, i + 8); ++j) {
79 boolArray[j] = bitSet[j % 8];
virtual void Pack(void *destination, void *source, std::size_t count) const
If the on-storage layout and the in-memory layout differ, packing creates an on-disk page from an in-...
virtual void Unpack(void *destination, void *source, std::size_t count) const
If the on-storage layout and the in-memory layout differ, unpacking creates a memory page from an on-...
static RColumnElementBase Generate(EColumnType type)
Pairs of C++ type and column type, like float and EColumnType::kReal32.