Apache Arrow (C++)
A columnar in-memory analytics layer designed to accelerate big data.
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
arrow Namespace Reference

Top-level namespace for Apache Arrow C++ API. More...

Namespaces

 compute
 
 gpu
 
 io
 
 ipc
 
 py
 

Classes

class  AdaptiveIntBuilder
 
class  AdaptiveUIntBuilder
 
class  Array
 Array base type Immutable data array with some logical type and some length. More...
 
class  ArrayBuilder
 Base class for all data array builders. More...
 
class  ArrayData
 Mutable container for generic Arrow array data. More...
 
class  ArrayVisitor
 
class  BinaryArray
 
class  BinaryBuilder
 Builder class for variable-length binary data. More...
 
class  BinaryDictionaryBuilder
 
class  BinaryType
 
class  BinaryUniqueBuilder
 
class  BitReader
 Utility class to read bit/byte stream. More...
 
class  BitWriter
 Utility class to write bit/byte streams. More...
 
class  BooleanArray
 
class  BooleanBuilder
 
class  BooleanType
 
class  BrotliCodec
 
class  Buffer
 Immutable API for a chunk of bytes which may or may not be owned by the class instance. More...
 
class  BufferBuilder
 
class  BufferDescr
 
class  ChunkedArray
 A data structure managing a list of primitive Arrow arrays logically as one large array. More...
 
class  Codec
 
class  Column
 An immutable column data structure consisting of a field (type metadata) and a logical chunked data array. More...
 
struct  Compression
 
class  CpuInfo
 CpuInfo is an interface to query for cpu information at runtime. More...
 
class  DataType
 
class  Date32Type
 Date as int32_t days since UNIX epoch. More...
 
class  Date64Type
 Date as int64_t milliseconds since UNIX epoch. More...
 
class  DateType
 
struct  Decimal
 
class  Decimal128
 Represents a signed 128-bit integer in two's complement. More...
 
class  DecimalArray
 
class  DecimalBuilder
 
class  DecimalType
 
class  DictionaryArray
 
class  DictionaryBuilder
 Array builder for created encoded DictionaryArray from dense array data. More...
 
class  DictionaryBuilder< NullType >
 
class  DictionaryType
 
class  DoubleType
 
class  Field
 
class  FixedSizeBinaryArray
 
class  FixedSizeBinaryBuilder
 
class  FixedSizeBinaryType
 
class  FixedWidthType
 
class  FlatArray
 
class  FloatingPoint
 
class  FloatType
 
class  GZipCodec
 
class  HalfFloatType
 
class  HashUtil
 Utility class to compute hash values. More...
 
class  Int16Type
 
class  Int32Type
 
class  Int64Type
 
class  Int8Type
 
class  Integer
 
class  IntervalType
 
struct  IsFloatingPoint
 
struct  IsInteger
 
struct  IsNumeric
 
struct  IsOneOf
 Metafunction to allow checking if a type matches any of another set of types. More...
 
struct  IsOneOf< T, U, Args... >
 Base case: nothing has matched. More...
 
struct  IsSignedInt
 
struct  IsUnsignedInt
 
class  KeyValueMetadata
 
class  ListArray
 
class  ListBuilder
 Builder class for variable-length list array value types. More...
 
class  ListType
 
class  LoggingMemoryPool
 
class  Lz4Codec
 
class  MemoryPool
 Base class for memory allocation. More...
 
class  MutableBuffer
 A Buffer whose contents can be mutated. May or may not own its data. More...
 
class  NestedType
 
class  NoExtraMeta
 
class  NullArray
 Degenerate null type Array. More...
 
class  NullBuilder
 
class  NullType
 
class  Number
 
class  NumericArray
 
class  NumericBuilder
 Base class for all Builders that emit an Array of a scalar numerical type. More...
 
class  NumericTensor
 
class  ParametricType
 A superclass for types having additional metadata. More...
 
class  PoolBuffer
 A Buffer whose lifetime is tied to a particular MemoryPool. More...
 
struct  PrettyPrintOptions
 
class  PrimitiveArray
 Base class for fixed-size logical types. More...
 
class  PrimitiveBuilder
 
class  PrimitiveCType
 
class  Random
 
class  RecordBatch
 Collection of equal-length arrays matching a particular Schema. More...
 
class  RecordBatchBuilder
 Helper class for creating record batches iteratively given a known schema. More...
 
class  RecordBatchReader
 Abstract interface for reading stream of record batches. More...
 
class  ResizableBuffer
 
class  RleDecoder
 Utility classes to do run length encoding (RLE) for fixed bit width values. More...
 
class  RleEncoder
 Class to incrementally build the rle data. More...
 
class  Schema
 Sequence of arrow::Field objects describing the columns of a record batch or table data structure. More...
 
class  SnappyCodec
 
class  Status
 
class  stl_allocator
 
class  StringArray
 
class  StringBuilder
 Builder class for UTF8 strings. More...
 
class  StringDictionaryBuilder
 Dictionary array builder with convenience methods for strings. More...
 
class  StringType
 
class  StringUniqueBuilder
 Unique array builder with convenience methods for strings. More...
 
class  StructArray
 
class  StructBuilder
 Append, Resize and Reserve methods are acting on StructBuilder. More...
 
class  StructType
 
class  Table
 Logical table as sequence of chunked arrays. More...
 
class  TableBatchReader
 Compute a sequence of record batches from a (possibly chunked) Table. More...
 
class  Tensor
 
class  Time32Type
 
class  Time64Type
 
class  TimestampType
 
class  TimeType
 
struct  TimeUnit
 
struct  Type
 Main data type enumeration. More...
 
class  TypedBufferBuilder
 
struct  TypeTraits
 
struct  TypeTraits< BinaryType >
 
struct  TypeTraits< BooleanType >
 
struct  TypeTraits< Date32Type >
 
struct  TypeTraits< Date64Type >
 
struct  TypeTraits< DecimalType >
 
struct  TypeTraits< DictionaryType >
 
struct  TypeTraits< DoubleType >
 
struct  TypeTraits< FixedSizeBinaryType >
 
struct  TypeTraits< FloatType >
 
struct  TypeTraits< HalfFloatType >
 
struct  TypeTraits< Int16Type >
 
struct  TypeTraits< Int32Type >
 
struct  TypeTraits< Int64Type >
 
struct  TypeTraits< Int8Type >
 
struct  TypeTraits< ListType >
 
struct  TypeTraits< NullType >
 
struct  TypeTraits< StringType >
 
struct  TypeTraits< StructType >
 
struct  TypeTraits< Time32Type >
 
struct  TypeTraits< Time64Type >
 
struct  TypeTraits< TimestampType >
 
struct  TypeTraits< UInt16Type >
 
struct  TypeTraits< UInt32Type >
 
struct  TypeTraits< UInt64Type >
 
struct  TypeTraits< UInt8Type >
 
struct  TypeTraits< UnionType >
 
class  TypeVisitor
 
class  UInt16Type
 
class  UInt32Type
 
class  UInt64Type
 
class  UInt8Type
 
class  UnionArray
 
class  UnionType
 
class  UniqueBuilder
 Array builder that only adds elements if they already exist. More...
 
class  ZSTDCodec
 

Typedefs

using BufferVector = std::vector< std::shared_ptr< Buffer > >
 
using UInt8Builder = NumericBuilder< UInt8Type >
 
using UInt16Builder = NumericBuilder< UInt16Type >
 
using UInt32Builder = NumericBuilder< UInt32Type >
 
using UInt64Builder = NumericBuilder< UInt64Type >
 
using Int8Builder = NumericBuilder< Int8Type >
 
using Int16Builder = NumericBuilder< Int16Type >
 
using Int32Builder = NumericBuilder< Int32Type >
 
using Int64Builder = NumericBuilder< Int64Type >
 
using TimestampBuilder = NumericBuilder< TimestampType >
 
using Time32Builder = NumericBuilder< Time32Type >
 
using Time64Builder = NumericBuilder< Time64Type >
 
using Date32Builder = NumericBuilder< Date32Type >
 
using Date64Builder = NumericBuilder< Date64Type >
 
using HalfFloatBuilder = NumericBuilder< HalfFloatType >
 
using FloatBuilder = NumericBuilder< FloatType >
 
using DoubleBuilder = NumericBuilder< DoubleType >
 
typedef int32_t hash_slot_t
 
using ArrayVector = std::vector< std::shared_ptr< Array > >
 
using TypePtr = std::shared_ptr< DataType >
 
using Date64Array = NumericArray< Date64Type >
 
using Date32Array = NumericArray< Date32Type >
 
using Time32Array = NumericArray< Time32Type >
 
using Time64Array = NumericArray< Time64Type >
 
using TimestampArray = NumericArray< TimestampType >
 
using IntervalArray = NumericArray< IntervalType >
 
template<typename T , typename... Args>
using EnableIfIsOneOf = typename std::enable_if< IsOneOf< T, Args... >::value, T >::type
 Shorthand for using IsOneOf + std::enable_if. More...
 

Enumerations

enum  StatusCode : char {
  StatusCode::OK = 0, StatusCode::OutOfMemory = 1, StatusCode::KeyError = 2, StatusCode::TypeError = 3,
  StatusCode::Invalid = 4, StatusCode::IOError = 5, StatusCode::UnknownError = 9, StatusCode::NotImplemented = 10,
  StatusCode::SerializationError = 11, StatusCode::PythonError = 12, StatusCode::PlasmaObjectExists = 20, StatusCode::PlasmaObjectNonexistent = 21,
  StatusCode::PlasmaStoreFull = 22
}
 
enum  BufferType : char { BufferType::DATA, BufferType::OFFSET, BufferType::TYPE, BufferType::VALIDITY }
 
enum  UnionMode : char { UnionMode::SPARSE, UnionMode::DENSE }
 
enum  DateUnit : char { DateUnit::DAY = 0, DateUnit::MILLI = 1 }
 

Functions

template<class T1 , class T2 >
bool operator== (const stl_allocator< T1 > &lhs, const stl_allocator< T2 > &rhs) noexcept
 
template<class T1 , class T2 >
bool operator!= (const stl_allocator< T1 > &lhs, const stl_allocator< T2 > &rhs) noexcept
 
Status MakeArray (const std::shared_ptr< ArrayData > &data, std::shared_ptr< Array > *out)
 Create a strongly-typed Array instance from generic ArrayData. More...
 
std::shared_ptr< ArrayMakeArray (const std::shared_ptr< ArrayData > &data)
 Create a strongly-typed Array instance from generic ArrayData. More...
 
Status ValidateArray (const Array &array)
 Perform any validation checks to determine obvious inconsistencies with the array's internal data. More...
 
std::shared_ptr< BufferSliceMutableBuffer (const std::shared_ptr< Buffer > &buffer, const int64_t offset, const int64_t length)
 Construct a mutable buffer slice. More...
 
Status AllocateBuffer (MemoryPool *pool, const int64_t size, std::shared_ptr< Buffer > *out)
 Allocate a fixed size mutable buffer from a memory pool. More...
 
Status AllocateResizableBuffer (MemoryPool *pool, const int64_t size, std::shared_ptr< ResizableBuffer > *out)
 Allocate resizeable buffer from a memory pool. More...
 
Status MakeBuilder (MemoryPool *pool, const std::shared_ptr< DataType > &type, std::unique_ptr< ArrayBuilder > *out)
 
Status MakeDictionaryBuilder (MemoryPool *pool, const std::shared_ptr< DataType > &type, std::shared_ptr< ArrayBuilder > *out)
 
Status EncodeArrayToDictionary (const Array &input, MemoryPool *pool, std::shared_ptr< Array > *out)
 Convert Array to encoded DictionaryArray form. More...
 
Status EncodeColumnToDictionary (const Column &input, MemoryPool *pool, std::shared_ptr< Column > *out)
 Convert a Column's data internally to DictionaryArray. More...
 
Status ArrayEquals (const Array &left, const Array &right, bool *are_equal)
 Returns true if the arrays are exactly equal. More...
 
Status TensorEquals (const Tensor &left, const Tensor &right, bool *are_equal)
 
Status ArrayApproxEquals (const Array &left, const Array &right, bool *are_equal)
 Returns true if the arrays are approximately equal. More...
 
Status ArrayRangeEquals (const Array &left, const Array &right, int64_t start_idx, int64_t end_idx, int64_t other_start_idx, bool *are_equal)
 Returns true if indicated equal-length segment of arrays is exactly equal. More...
 
Status TypeEquals (const DataType &left, const DataType &right, bool *are_equal)
 Returns true if the type metadata are exactly equal. More...
 
bool ArrayEquals (const Array &left, const Array &right)
 Returns true if the arrays are exactly equal. More...
 
bool TensorEquals (const Tensor &left, const Tensor &right)
 
bool ArrayApproxEquals (const Array &left, const Array &right)
 Returns true if the arrays are approximately equal. More...
 
bool ArrayRangeEquals (const Array &left, const Array &right, int64_t start_idx, int64_t end_idx, int64_t other_start_idx)
 Returns true if indicated equal-length segment of arrays is exactly equal. More...
 
bool TypeEquals (const DataType &left, const DataType &right)
 Returns true if the type metadata are exactly equal. More...
 
MemoryPooldefault_memory_pool ()
 
Status PrettyPrint (const RecordBatch &batch, int indent, std::ostream *sink)
 Print human-readable representation of RecordBatch. More...
 
Status PrettyPrint (const Array &arr, int indent, std::ostream *sink)
 Print human-readable representation of Array. More...
 
Status PrettyPrint (const Schema &schema, const PrettyPrintOptions &options, std::ostream *sink)
 
Status PrettyPrint (const Schema &schema, const PrettyPrintOptions &options, std::string *result)
 
Status DebugPrint (const Array &arr, int indent)
 
Status ConcatenateTables (const std::vector< std::shared_ptr< Table >> &tables, std::shared_ptr< Table > *table)
 Construct table from multiple input tables. More...
 
Status MakeTable (const std::shared_ptr< Schema > &schema, const std::vector< std::shared_ptr< Array >> &arrays, std::shared_ptr< Table > *table)
 Construct table from multiple input tables. More...
 
std::ostream & operator<< (std::ostream &os, const DataType &type)
 
std::shared_ptr< DataTypefixed_size_binary (int32_t byte_width)
 Make an instance of FixedSizeBinaryType. More...
 
std::shared_ptr< DataTypedecimal (int32_t precision, int32_t scale)
 Make an instance of DecimalType. More...
 
std::shared_ptr< DataTypelist (const std::shared_ptr< Field > &value_type)
 Make an instance of ListType. More...
 
std::shared_ptr< DataTypelist (const std::shared_ptr< DataType > &value_type)
 Make an instance of ListType. More...
 
std::shared_ptr< DataTypetimestamp (TimeUnit::type unit)
 Make an instance of TimestampType. More...
 
std::shared_ptr< DataTypetimestamp (TimeUnit::type unit, const std::string &timezone)
 Make an instance of TimestampType. More...
 
std::shared_ptr< DataTypetime32 (TimeUnit::type unit)
 Create an instance of 32-bit time type Unit can be either SECOND or MILLI. More...
 
std::shared_ptr< DataTypetime64 (TimeUnit::type unit)
 Create an instance of 64-bit time type Unit can be either MICRO or NANO. More...
 
std::shared_ptr< DataTypestruct_ (const std::vector< std::shared_ptr< Field >> &fields)
 Create an instance of Struct type. More...
 
std::shared_ptr< DataTypeunion_ (const std::vector< std::shared_ptr< Field >> &child_fields, const std::vector< uint8_t > &type_codes, UnionMode mode=UnionMode::SPARSE)
 Create an instance of Union type. More...
 
std::shared_ptr< DataTypedictionary (const std::shared_ptr< DataType > &index_type, const std::shared_ptr< Array > &values, bool ordered=false)
 Create an instance of Dictionary type. More...
 
std::shared_ptr< Fieldfield (const std::string &name, const std::shared_ptr< DataType > &type, bool nullable=true, const std::shared_ptr< const KeyValueMetadata > &metadata=NULLPTR)
 Create a Field instance. More...
 
std::shared_ptr< Schemaschema (const std::vector< std::shared_ptr< Field >> &fields, const std::shared_ptr< const KeyValueMetadata > &metadata=NULLPTR)
 Create a Schema instance. More...
 
std::shared_ptr< Schemaschema (std::vector< std::shared_ptr< Field >> &&fields, const std::shared_ptr< const KeyValueMetadata > &metadata=NULLPTR)
 Create a Schema instance. More...
 
std::shared_ptr< DataTypenull ()
 
std::shared_ptr< DataTypeboolean ()
 
std::shared_ptr< DataTypeint8 ()
 
std::shared_ptr< DataTypeint16 ()
 
std::shared_ptr< DataTypeint32 ()
 
std::shared_ptr< DataTypeint64 ()
 
std::shared_ptr< DataTypeuint8 ()
 
std::shared_ptr< DataTypeuint16 ()
 
std::shared_ptr< DataTypeuint32 ()
 
std::shared_ptr< DataTypeuint64 ()
 
std::shared_ptr< DataTypefloat16 ()
 
std::shared_ptr< DataTypefloat32 ()
 
std::shared_ptr< DataTypefloat64 ()
 
std::shared_ptr< DataTypeutf8 ()
 
std::shared_ptr< DataTypebinary ()
 
std::shared_ptr< DataTypedate32 ()
 
std::shared_ptr< DataTypedate64 ()
 
std::shared_ptr< DataTypedecimal_type (int precision, int scale)
 
Status GetEmptyBitmap (MemoryPool *pool, int64_t length, std::shared_ptr< Buffer > *result)
 
Status CopyBitmap (MemoryPool *pool, const uint8_t *bitmap, int64_t offset, int64_t length, std::shared_ptr< Buffer > *out)
 Copy a bit range of an existing bitmap. More...
 
int64_t CountSetBits (const uint8_t *data, int64_t bit_offset, int64_t length)
 Compute the number of 1's in the given data array. More...
 
bool BitmapEquals (const uint8_t *left, int64_t left_offset, const uint8_t *right, int64_t right_offset, int64_t bit_length)
 
bool operator== (const Decimal128 &left, const Decimal128 &right)
 
bool operator!= (const Decimal128 &left, const Decimal128 &right)
 
bool operator< (const Decimal128 &left, const Decimal128 &right)
 
bool operator<= (const Decimal128 &left, const Decimal128 &right)
 
bool operator> (const Decimal128 &left, const Decimal128 &right)
 
bool operator>= (const Decimal128 &left, const Decimal128 &right)
 
Decimal128 operator- (const Decimal128 &operand)
 
Decimal128 operator+ (const Decimal128 &left, const Decimal128 &right)
 
Decimal128 operator- (const Decimal128 &left, const Decimal128 &right)
 
Decimal128 operator* (const Decimal128 &left, const Decimal128 &right)
 
Decimal128 operator/ (const Decimal128 &left, const Decimal128 &right)
 
Decimal128 operator% (const Decimal128 &left, const Decimal128 &right)
 
template<class FUNCTION >
Status ParallelFor (int nthreads, int num_tasks, FUNCTION &&func)
 
uint32_t random_seed ()
 
template<typename VISITOR >
Status VisitTypeInline (const DataType &type, VISITOR *visitor)
 
template<typename VISITOR >
Status VisitArrayInline (const Array &array, VISITOR *visitor)
 

Variables

constexpr int64_t kUnknownNullCount = -1
 
 NumericArray< Int8Type >
 
 NumericArray< UInt8Type >
 
 NumericArray< Int16Type >
 
 NumericArray< UInt16Type >
 
 NumericArray< Int32Type >
 
 NumericArray< UInt32Type >
 
 NumericArray< Int64Type >
 
 NumericArray< UInt64Type >
 
 NumericArray< HalfFloatType >
 
 NumericArray< FloatType >
 
 NumericArray< DoubleType >
 
 NumericArray< Date32Type >
 
 NumericArray< Date64Type >
 
 NumericArray< Time32Type >
 
 NumericArray< Time64Type >
 
 NumericArray< TimestampType >
 

Detailed Description

Top-level namespace for Apache Arrow C++ API.

Typedef Documentation

◆ ArrayVector

using arrow::ArrayVector = typedef std::vector<std::shared_ptr<Array> >

◆ BufferVector

using arrow::BufferVector = typedef std::vector<std::shared_ptr<Buffer> >

◆ Date32Array

◆ Date32Builder

◆ Date64Array

◆ Date64Builder

◆ DoubleBuilder

◆ EnableIfIsOneOf

template<typename T , typename... Args>
using arrow::EnableIfIsOneOf = typedef typename std::enable_if<IsOneOf<T, Args...>::value, T>::type

Shorthand for using IsOneOf + std::enable_if.

◆ FloatBuilder

◆ HalfFloatBuilder

◆ hash_slot_t

typedef int32_t arrow::hash_slot_t

◆ Int16Builder

◆ Int32Builder

◆ Int64Builder

◆ Int8Builder

◆ IntervalArray

◆ Time32Array

◆ Time32Builder

◆ Time64Array

◆ Time64Builder

◆ TimestampArray

◆ TimestampBuilder

◆ TypePtr

using arrow::TypePtr = typedef std::shared_ptr<DataType>

◆ UInt16Builder

◆ UInt32Builder

◆ UInt64Builder

◆ UInt8Builder

Enumeration Type Documentation

◆ BufferType

enum arrow::BufferType : char
strong
Enumerator
DATA 
OFFSET 
TYPE 
VALIDITY 

◆ DateUnit

enum arrow::DateUnit : char
strong
Enumerator
DAY 
MILLI 

◆ StatusCode

enum arrow::StatusCode : char
strong
Enumerator
OK 
OutOfMemory 
KeyError 
TypeError 
Invalid 
IOError 
UnknownError 
NotImplemented 
SerializationError 
PythonError 
PlasmaObjectExists 
PlasmaObjectNonexistent 
PlasmaStoreFull 

◆ UnionMode

enum arrow::UnionMode : char
strong
Enumerator
SPARSE 
DENSE 

Function Documentation

◆ AllocateBuffer()

Status arrow::AllocateBuffer ( MemoryPool pool,
const int64_t  size,
std::shared_ptr< Buffer > *  out 
)

Allocate a fixed size mutable buffer from a memory pool.

Parameters
[in]poola memory pool
[in]sizesize of buffer to allocate
[out]outthe allocated buffer (contains padding)
Returns
Status message

◆ AllocateResizableBuffer()

Status arrow::AllocateResizableBuffer ( MemoryPool pool,
const int64_t  size,
std::shared_ptr< ResizableBuffer > *  out 
)

Allocate resizeable buffer from a memory pool.

Parameters
[in]poola memory pool
[in]sizesize of buffer to allocate
[out]outthe allocated buffer
Returns
Status message

◆ ArrayApproxEquals() [1/2]

Status arrow::ArrayApproxEquals ( const Array left,
const Array right,
bool *  are_equal 
)

Returns true if the arrays are approximately equal.

For non-floating point types, this is equivalent to ArrayEquals(left, right)

Deprecated:
Since 0.8.0

◆ ArrayApproxEquals() [2/2]

bool arrow::ArrayApproxEquals ( const Array left,
const Array right 
)

Returns true if the arrays are approximately equal.

For non-floating point types, this is equivalent to ArrayEquals(left, right)

◆ ArrayEquals() [1/2]

Status arrow::ArrayEquals ( const Array left,
const Array right,
bool *  are_equal 
)

Returns true if the arrays are exactly equal.

Deprecated:
Since 0.8.0

◆ ArrayEquals() [2/2]

bool arrow::ArrayEquals ( const Array left,
const Array right 
)

Returns true if the arrays are exactly equal.

◆ ArrayRangeEquals() [1/2]

Status arrow::ArrayRangeEquals ( const Array left,
const Array right,
int64_t  start_idx,
int64_t  end_idx,
int64_t  other_start_idx,
bool *  are_equal 
)

Returns true if indicated equal-length segment of arrays is exactly equal.

Deprecated:
Since 0.8.0

◆ ArrayRangeEquals() [2/2]

bool arrow::ArrayRangeEquals ( const Array left,
const Array right,
int64_t  start_idx,
int64_t  end_idx,
int64_t  other_start_idx 
)

Returns true if indicated equal-length segment of arrays is exactly equal.

◆ binary()

std::shared_ptr<DataType> arrow::binary ( )

◆ BitmapEquals()

bool arrow::BitmapEquals ( const uint8_t *  left,
int64_t  left_offset,
const uint8_t *  right,
int64_t  right_offset,
int64_t  bit_length 
)

◆ boolean()

std::shared_ptr<DataType> arrow::boolean ( )

◆ ConcatenateTables()

Status arrow::ConcatenateTables ( const std::vector< std::shared_ptr< Table >> &  tables,
std::shared_ptr< Table > *  table 
)

Construct table from multiple input tables.

Returns
Status, fails if any schemas are different

◆ CopyBitmap()

Status arrow::CopyBitmap ( MemoryPool pool,
const uint8_t *  bitmap,
int64_t  offset,
int64_t  length,
std::shared_ptr< Buffer > *  out 
)

Copy a bit range of an existing bitmap.

Parameters
[in]poolmemory pool to allocate memory from
[in]bitmapsource data
[in]offsetbit offset into the source data
[in]lengthnumber of bits to copy
[out]outthe resulting copy
Returns
Status message

◆ CountSetBits()

int64_t arrow::CountSetBits ( const uint8_t *  data,
int64_t  bit_offset,
int64_t  length 
)

Compute the number of 1's in the given data array.

Parameters
[in]dataa packed LSB-ordered bitmap as a byte array
[in]bit_offseta bitwise offset into the bitmap
[in]lengththe number of bits to inspect in the bitmap relative to the offset
Returns
The number of set (1) bits in the range

◆ date32()

std::shared_ptr<DataType> arrow::date32 ( )

◆ date64()

std::shared_ptr<DataType> arrow::date64 ( )

◆ DebugPrint()

Status arrow::DebugPrint ( const Array arr,
int  indent 
)

◆ decimal()

std::shared_ptr<DataType> arrow::decimal ( int32_t  precision,
int32_t  scale 
)

Make an instance of DecimalType.

◆ decimal_type()

std::shared_ptr<DataType> arrow::decimal_type ( int  precision,
int  scale 
)

◆ default_memory_pool()

MemoryPool* arrow::default_memory_pool ( )

◆ dictionary()

std::shared_ptr<DataType> arrow::dictionary ( const std::shared_ptr< DataType > &  index_type,
const std::shared_ptr< Array > &  values,
bool  ordered = false 
)

Create an instance of Dictionary type.

◆ EncodeArrayToDictionary()

Status arrow::EncodeArrayToDictionary ( const Array input,
MemoryPool pool,
std::shared_ptr< Array > *  out 
)

Convert Array to encoded DictionaryArray form.

Parameters
[in]inputThe Array to be encoded
[in]poolMemoryPool to allocate memory for the hash table
[out]outArray encoded to DictionaryArray

◆ EncodeColumnToDictionary()

Status arrow::EncodeColumnToDictionary ( const Column input,
MemoryPool pool,
std::shared_ptr< Column > *  out 
)

Convert a Column's data internally to DictionaryArray.

Parameters
[in]inputThe ChunkedArray to be encoded
[in]poolMemoryPool to allocate memory for the hash table
[out]outColumn with data converted to DictionaryArray

◆ field()

std::shared_ptr<Field> arrow::field ( const std::string &  name,
const std::shared_ptr< DataType > &  type,
bool  nullable = true,
const std::shared_ptr< const KeyValueMetadata > &  metadata = NULLPTR 
)

Create a Field instance.

Parameters
namethe field name
typethe field value type
nullablewhether the values are nullable, default true
metadataany custom key-value metadata, default null

◆ fixed_size_binary()

std::shared_ptr<DataType> arrow::fixed_size_binary ( int32_t  byte_width)

Make an instance of FixedSizeBinaryType.

◆ float16()

std::shared_ptr<DataType> arrow::float16 ( )

◆ float32()

std::shared_ptr<DataType> arrow::float32 ( )

◆ float64()

std::shared_ptr<DataType> arrow::float64 ( )

◆ GetEmptyBitmap()

Status arrow::GetEmptyBitmap ( MemoryPool pool,
int64_t  length,
std::shared_ptr< Buffer > *  result 
)

◆ int16()

std::shared_ptr<DataType> arrow::int16 ( )

◆ int32()

std::shared_ptr<DataType> arrow::int32 ( )

◆ int64()

std::shared_ptr<DataType> arrow::int64 ( )

◆ int8()

std::shared_ptr<DataType> arrow::int8 ( )

◆ list() [1/2]

std::shared_ptr<DataType> arrow::list ( const std::shared_ptr< Field > &  value_type)

Make an instance of ListType.

◆ list() [2/2]

std::shared_ptr<DataType> arrow::list ( const std::shared_ptr< DataType > &  value_type)

Make an instance of ListType.

◆ MakeArray() [1/2]

Status arrow::MakeArray ( const std::shared_ptr< ArrayData > &  data,
std::shared_ptr< Array > *  out 
)

Create a strongly-typed Array instance from generic ArrayData.

Parameters
[in]datathe array contents
[out]outthe resulting Array instance
Returns
Status
Note
Deprecated since 0.8.0

◆ MakeArray() [2/2]

std::shared_ptr<Array> arrow::MakeArray ( const std::shared_ptr< ArrayData > &  data)

Create a strongly-typed Array instance from generic ArrayData.

Parameters
[in]datathe array contents
Returns
the resulting Array instance

◆ MakeBuilder()

Status arrow::MakeBuilder ( MemoryPool pool,
const std::shared_ptr< DataType > &  type,
std::unique_ptr< ArrayBuilder > *  out 
)

◆ MakeDictionaryBuilder()

Status arrow::MakeDictionaryBuilder ( MemoryPool pool,
const std::shared_ptr< DataType > &  type,
std::shared_ptr< ArrayBuilder > *  out 
)

◆ MakeTable()

Status arrow::MakeTable ( const std::shared_ptr< Schema > &  schema,
const std::vector< std::shared_ptr< Array >> &  arrays,
std::shared_ptr< Table > *  table 
)

Construct table from multiple input tables.

Returns
Status, fails if any schemas are different

◆ null()

std::shared_ptr<DataType> arrow::null ( )

◆ operator!=() [1/2]

template<class T1 , class T2 >
bool arrow::operator!= ( const stl_allocator< T1 > &  lhs,
const stl_allocator< T2 > &  rhs 
)
noexcept

◆ operator!=() [2/2]

bool arrow::operator!= ( const Decimal128 left,
const Decimal128 right 
)

◆ operator%()

Decimal128 arrow::operator% ( const Decimal128 left,
const Decimal128 right 
)

◆ operator*()

Decimal128 arrow::operator* ( const Decimal128 left,
const Decimal128 right 
)

◆ operator+()

Decimal128 arrow::operator+ ( const Decimal128 left,
const Decimal128 right 
)

◆ operator-() [1/2]

Decimal128 arrow::operator- ( const Decimal128 operand)

◆ operator-() [2/2]

Decimal128 arrow::operator- ( const Decimal128 left,
const Decimal128 right 
)

◆ operator/()

Decimal128 arrow::operator/ ( const Decimal128 left,
const Decimal128 right 
)

◆ operator<()

bool arrow::operator< ( const Decimal128 left,
const Decimal128 right 
)

◆ operator<<()

std::ostream& arrow::operator<< ( std::ostream &  os,
const DataType type 
)
inline

◆ operator<=()

bool arrow::operator<= ( const Decimal128 left,
const Decimal128 right 
)

◆ operator==() [1/2]

template<class T1 , class T2 >
bool arrow::operator== ( const stl_allocator< T1 > &  lhs,
const stl_allocator< T2 > &  rhs 
)
noexcept

◆ operator==() [2/2]

bool arrow::operator== ( const Decimal128 left,
const Decimal128 right 
)

◆ operator>()

bool arrow::operator> ( const Decimal128 left,
const Decimal128 right 
)

◆ operator>=()

bool arrow::operator>= ( const Decimal128 left,
const Decimal128 right 
)

◆ ParallelFor()

template<class FUNCTION >
Status arrow::ParallelFor ( int  nthreads,
int  num_tasks,
FUNCTION &&  func 
)

◆ PrettyPrint() [1/4]

Status arrow::PrettyPrint ( const RecordBatch batch,
int  indent,
std::ostream *  sink 
)

Print human-readable representation of RecordBatch.

◆ PrettyPrint() [2/4]

Status arrow::PrettyPrint ( const Array arr,
int  indent,
std::ostream *  sink 
)

Print human-readable representation of Array.

◆ PrettyPrint() [3/4]

Status arrow::PrettyPrint ( const Schema schema,
const PrettyPrintOptions options,
std::ostream *  sink 
)

◆ PrettyPrint() [4/4]

Status arrow::PrettyPrint ( const Schema schema,
const PrettyPrintOptions options,
std::string *  result 
)

◆ random_seed()

uint32_t arrow::random_seed ( )

◆ schema() [1/2]

std::shared_ptr<Schema> arrow::schema ( const std::vector< std::shared_ptr< Field >> &  fields,
const std::shared_ptr< const KeyValueMetadata > &  metadata = NULLPTR 
)

Create a Schema instance.

Parameters
fieldsthe schema's fields
metadataany custom key-value metadata, default null
Returns
schema shared_ptr to Schema

◆ schema() [2/2]

std::shared_ptr<Schema> arrow::schema ( std::vector< std::shared_ptr< Field >> &&  fields,
const std::shared_ptr< const KeyValueMetadata > &  metadata = NULLPTR 
)

Create a Schema instance.

Parameters
fieldsthe schema's fields (rvalue reference)
metadataany custom key-value metadata, default null
Returns
schema shared_ptr to Schema

◆ SliceMutableBuffer()

std::shared_ptr<Buffer> arrow::SliceMutableBuffer ( const std::shared_ptr< Buffer > &  buffer,
const int64_t  offset,
const int64_t  length 
)

Construct a mutable buffer slice.

If the parent buffer is not mutable, this will abort in debug builds

◆ struct_()

std::shared_ptr<DataType> arrow::struct_ ( const std::vector< std::shared_ptr< Field >> &  fields)

Create an instance of Struct type.

◆ TensorEquals() [1/2]

Status arrow::TensorEquals ( const Tensor left,
const Tensor right,
bool *  are_equal 
)
Deprecated:
Since 0.8.0

◆ TensorEquals() [2/2]

bool arrow::TensorEquals ( const Tensor left,
const Tensor right 
)

◆ time32()

std::shared_ptr<DataType> arrow::time32 ( TimeUnit::type  unit)

Create an instance of 32-bit time type Unit can be either SECOND or MILLI.

◆ time64()

std::shared_ptr<DataType> arrow::time64 ( TimeUnit::type  unit)

Create an instance of 64-bit time type Unit can be either MICRO or NANO.

◆ timestamp() [1/2]

std::shared_ptr<DataType> arrow::timestamp ( TimeUnit::type  unit)

Make an instance of TimestampType.

◆ timestamp() [2/2]

std::shared_ptr<DataType> arrow::timestamp ( TimeUnit::type  unit,
const std::string &  timezone 
)

Make an instance of TimestampType.

◆ TypeEquals() [1/2]

Status arrow::TypeEquals ( const DataType left,
const DataType right,
bool *  are_equal 
)

Returns true if the type metadata are exactly equal.

Deprecated:
Since 0.8.0

◆ TypeEquals() [2/2]

bool arrow::TypeEquals ( const DataType left,
const DataType right 
)

Returns true if the type metadata are exactly equal.

◆ uint16()

std::shared_ptr<DataType> arrow::uint16 ( )

◆ uint32()

std::shared_ptr<DataType> arrow::uint32 ( )

◆ uint64()

std::shared_ptr<DataType> arrow::uint64 ( )

◆ uint8()

std::shared_ptr<DataType> arrow::uint8 ( )

◆ union_()

std::shared_ptr<DataType> arrow::union_ ( const std::vector< std::shared_ptr< Field >> &  child_fields,
const std::vector< uint8_t > &  type_codes,
UnionMode  mode = UnionMode::SPARSE 
)

Create an instance of Union type.

◆ utf8()

std::shared_ptr<DataType> arrow::utf8 ( )

◆ ValidateArray()

Status arrow::ValidateArray ( const Array array)

Perform any validation checks to determine obvious inconsistencies with the array's internal data.

This can be an expensive check.

Parameters
arrayan Array instance
Returns
Status

◆ VisitArrayInline()

template<typename VISITOR >
Status arrow::VisitArrayInline ( const Array array,
VISITOR *  visitor 
)
inline

◆ VisitTypeInline()

template<typename VISITOR >
Status arrow::VisitTypeInline ( const DataType type,
VISITOR *  visitor 
)
inline

Variable Documentation

◆ kUnknownNullCount

constexpr int64_t arrow::kUnknownNullCount = -1

◆ NumericArray< Date32Type >

◆ NumericArray< Date64Type >

◆ NumericArray< DoubleType >

◆ NumericArray< FloatType >

◆ NumericArray< HalfFloatType >

◆ NumericArray< Int16Type >

◆ NumericArray< Int32Type >

◆ NumericArray< Int64Type >

◆ NumericArray< Int8Type >

◆ NumericArray< Time32Type >

◆ NumericArray< Time64Type >

◆ NumericArray< TimestampType >

◆ NumericArray< UInt16Type >

◆ NumericArray< UInt32Type >

◆ NumericArray< UInt64Type >

◆ NumericArray< UInt8Type >