37 throw std::logic_error(
"row store exceeds capacity");
50 void *
memory(std::size_t attr_id)
const {
53 return reinterpret_cast<uint8_t*
>(
data_.
addr()) + offset;
56 void dump(std::ostream &out)
const override;
This class implements a column store.
void * memory(std::size_t attr_id) const
Returns the memory address where the column assigned to the attribute with id attr_id starts.
void append() override
Append a row to the store.
static constexpr std::size_t ALLOCATION_SIZE
1 GiB
std::size_t row_size() const
Returns the effective size of a row, in bits.
const memory::Memory & memory() const override
Returns the memory of the store.
virtual std::size_t num_rows() const override
Return the number of rows in this store.
void drop() override
Drop the most recently appended row.
memory::LinearAllocator allocator_
the memory allocator
Defines a generic store interface.
const Table & table() const
A table is a sorted set of attributes.
This is the simplest kind of allocator.
Represents a mapping created by a memory::Allocator.
void * addr() const
Returns a pointer to the beginning of the virtual address space where this allocation is mapped to.