Apache Arrow (C++)
A columnar in-memory analytics layer designed to accelerate big data.
Public Member Functions | Protected Attributes | List of all members
arrow::BufferBuilder Class Reference

#include <arrow/buffer.h>

Inheritance diagram for arrow::BufferBuilder:
arrow::TypedBufferBuilder< T > arrow::TypedBufferBuilder< int32_t > arrow::TypedBufferBuilder< uint8_t >

Public Member Functions

 BufferBuilder (MemoryPool *pool)
 
Status Resize (const int64_t elements)
 Resizes the buffer to the nearest multiple of 64 bytes per Layout.md. More...
 
Status Append (const uint8_t *data, int64_t length)
 
template<size_t NBYTES>
Status Append (const std::array< uint8_t, NBYTES > &data)
 
Status Advance (const int64_t length)
 
void UnsafeAppend (const uint8_t *data, int64_t length)
 
Status Finish (std::shared_ptr< Buffer > *out)
 
void Reset ()
 
int64_t capacity () const
 
int64_t length () const
 
const uint8_t * data () const
 

Protected Attributes

std::shared_ptr< PoolBufferbuffer_
 
MemoryPoolpool_
 
uint8_t * data_
 
int64_t capacity_
 
int64_t size_
 

Constructor & Destructor Documentation

◆ BufferBuilder()

arrow::BufferBuilder::BufferBuilder ( MemoryPool pool)
inlineexplicit

Member Function Documentation

◆ Advance()

Status arrow::BufferBuilder::Advance ( const int64_t  length)
inline

◆ Append() [1/2]

Status arrow::BufferBuilder::Append ( const uint8_t *  data,
int64_t  length 
)
inline

◆ Append() [2/2]

template<size_t NBYTES>
Status arrow::BufferBuilder::Append ( const std::array< uint8_t, NBYTES > &  data)
inline

◆ capacity()

int64_t arrow::BufferBuilder::capacity ( ) const
inline

◆ data()

const uint8_t* arrow::BufferBuilder::data ( ) const
inline

◆ Finish()

Status arrow::BufferBuilder::Finish ( std::shared_ptr< Buffer > *  out)
inline

◆ length()

int64_t arrow::BufferBuilder::length ( ) const
inline

◆ Reset()

void arrow::BufferBuilder::Reset ( )
inline

◆ Resize()

Status arrow::BufferBuilder::Resize ( const int64_t  elements)
inline

Resizes the buffer to the nearest multiple of 64 bytes per Layout.md.

◆ UnsafeAppend()

void arrow::BufferBuilder::UnsafeAppend ( const uint8_t *  data,
int64_t  length 
)
inline

Member Data Documentation

◆ buffer_

std::shared_ptr<PoolBuffer> arrow::BufferBuilder::buffer_
protected

◆ capacity_

int64_t arrow::BufferBuilder::capacity_
protected

◆ data_

uint8_t* arrow::BufferBuilder::data_
protected

◆ pool_

MemoryPool* arrow::BufferBuilder::pool_
protected

◆ size_

int64_t arrow::BufferBuilder::size_
protected

The documentation for this class was generated from the following file: