21 namespace foreign_storage {
26 template <
typename Type>
31 void read(int8_t*
const destination,
32 const size_t num_bytes,
33 const size_t offset = 0,
36 const int destination_device_id = -1)
override;
40 const size_t num_bytes,
41 const size_t offset = 0,
43 const int source_device_id = -1)
override;
45 void reserve(
size_t additional_num_bytes)
override;
49 const size_t num_bytes,
51 const int device_id = -1)
override;
64 template <
typename FindContainer>
66 if (invalid_indices.empty()) {
71 auto index = std::distance(start, &value);
72 return invalid_indices.find(index) != invalid_indices.end();
void eraseInvalidData(const FindContainer &invalid_indices)
void append(int8_t *source, const size_t num_bytes, const Data_Namespace::MemoryLevel source_buffer_type=Data_Namespace::CPU_LEVEL, const int device_id=-1) override
void read(int8_t *const destination, const size_t num_bytes, const size_t offset=0, const Data_Namespace::MemoryLevel destination_buffer_type=Data_Namespace::CPU_LEVEL, const int destination_device_id=-1) override
size_t reservedSize() const override
int8_t * getMemoryPtr() override
void reserve(size_t additional_num_bytes) override
std::vector< Type > buffer_
std::vector< Type > * getBufferPtr()
size_t pageCount() const override
An AbstractBuffer is a unit of data management for a data manager.
void write(int8_t *source, const size_t num_bytes, const size_t offset=0, const Data_Namespace::MemoryLevel source_buffer_type=Data_Namespace::CPU_LEVEL, const int source_device_id=-1) override
size_t pageSize() const override
TypedParquetStorageBuffer()
void reserveNumElements(size_t additional_num_elements)
Data_Namespace::MemoryLevel getType() const override
void appendElement(const Type &element)