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

 adapters
 
 compute
 
 csv
 
 flight
 
 gpu
 
 hiveserver2
 
 io
 
 ipc
 
 py
 
 stl
 
 util
 

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
 Concrete Array class for variable-size binary data. More...
 
class  BinaryBuilder
 Builder class for variable-length binary data. More...
 
class  BinaryDictionaryBuilder
 
class  BinaryType
 Concrete type class for variable-size binary data. More...
 
class  BooleanArray
 Concrete Array class for boolean data. More...
 
class  BooleanBuilder
 
class  BooleanType
 Concrete type class for boolean data. More...
 
class  Buffer
 Object containing a pointer to a piece of contiguous memory with a particular size. More...
 
class  BufferBuilder
 A class for incrementally building a contiguous chunk of in-memory data. More...
 
class  ChunkedArray
 A data structure managing a list of primitive Arrow arrays logically as one large array. More...
 
class  Column
 An immutable column data structure consisting of a field (type metadata) and a chunked data array. More...
 
struct  Compression
 
class  DataType
 Base class for all data types. More...
 
class  Date32Type
 Concrete type class for 32-bit date data (as number of days since UNIX epoch) More...
 
class  Date64Type
 Concrete type class for 64-bit date data (as number of milliseconds since UNIX epoch) More...
 
class  DateType
 Base type class for date data. More...
 
class  Decimal128
 Represents a signed 128-bit integer in two's complement. More...
 
class  Decimal128Array
 Concrete Array class for 128-bit decimal data. More...
 
class  Decimal128Builder
 
class  Decimal128Type
 Concrete type class for 128-bit decimal data. More...
 
class  DecimalType
 Base type class for (fixed-size) decimal data. More...
 
class  DictionaryArray
 Concrete Array class for dictionary data. More...
 
class  DictionaryBuilder
 Array builder for created encoded DictionaryArray from dense array. More...
 
class  DictionaryBuilder< NullType >
 
class  DictionaryType
 Concrete type class for dictionary data. More...
 
class  DoubleType
 Concrete type class for 64-bit floating-point data (C "double") More...
 
class  Field
 The combination of a field name and data type, with optional metadata. More...
 
class  FixedSizeBinaryArray
 Concrete Array class for fixed-size binary data. More...
 
class  FixedSizeBinaryBuilder
 
class  FixedSizeBinaryType
 Concrete type class for fixed-size binary data. More...
 
class  FixedWidthType
 Base class for all fixed-width data types. More...
 
class  FlatArray
 Base class for non-nested arrays. More...
 
class  FloatingPoint
 Base class for all floating-point data types. More...
 
class  FloatType
 Concrete type class for 32-bit floating-point data (C "float") More...
 
class  HalfFloatType
 Concrete type class for 16-bit floating-point data. More...
 
struct  has_c_type
 
class  HashUtil
 Utility class to compute hash values. More...
 
class  Int16Type
 Concrete type class for signed 16-bit integer data. More...
 
class  Int32Type
 Concrete type class for signed 32-bit integer data. More...
 
class  Int64Type
 Concrete type class for signed 64-bit integer data. More...
 
class  Int8Type
 Concrete type class for signed 8-bit integer data. More...
 
class  Integer
 Base class for all integral data types. More...
 
class  IntervalType
 
struct  is_8bit_int
 
struct  IsFloatingPoint
 
struct  IsInteger
 
struct  IsNumeric
 
struct  IsSignedInt
 
struct  IsUnsignedInt
 
class  KeyValueMetadata
 
class  ListArray
 Concrete Array class for list data. More...
 
class  ListBuilder
 Builder class for variable-length list array value types. More...
 
class  ListType
 Concrete type class for list data. More...
 
class  LoggingMemoryPool
 
class  MemoryPool
 Base class for memory allocation. More...
 
class  MutableBuffer
 A Buffer whose contents can be mutated. More...
 
class  NestedType
 
class  NoExtraMeta
 
class  NullArray
 Degenerate null type Array. More...
 
class  NullBuilder
 
class  NullType
 Concrete type class for always-null data. More...
 
class  Number
 Base class for all numeric data types. More...
 
class  NumericArray
 
class  NumericBuilder
 Base class for all Builders that emit an Array of a scalar numerical type. More...
 
class  NumericTensor
 
class  ParametricType
 Base class for all parametric data types. More...
 
struct  PrettyPrintOptions
 
class  PrimitiveArray
 Base class for arrays of fixed-size logical types. More...
 
class  PrimitiveBuilder
 
class  PrimitiveCType
 Base class for all data types representing primitive values. More...
 
class  ProxyMemoryPool
 Derived class for memory allocation. More...
 
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
 A mutable buffer that can be resized. More...
 
class  Schema
 Sequence of arrow::Field objects describing the columns of a record batch or table data structure. More...
 
class  Status
 
class  stl_allocator
 
class  StringArray
 Concrete Array class for variable-size string (utf-8) data. More...
 
class  StringBuilder
 Builder class for UTF8 strings. More...
 
class  StringDictionaryBuilder
 Dictionary array builder with convenience methods for strings. More...
 
class  StringType
 Concrete type class for variable-size string data, utf8-encoded. More...
 
class  StructArray
 Concrete Array class for struct data. More...
 
class  StructBuilder
 Append, Resize and Reserve methods are acting on StructBuilder. More...
 
class  StructType
 Concrete type class for struct data. More...
 
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
 Base type class for time data. More...
 
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< Decimal128Type >
 
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
 Concrete type class for unsigned 16-bit integer data. More...
 
class  UInt32Type
 Concrete type class for unsigned 32-bit integer data. More...
 
class  UInt64Type
 Concrete type class for unsigned 64-bit integer data. More...
 
class  UInt8Type
 Concrete type class for unsigned 8-bit integer data. More...
 
class  UnionArray
 Concrete Array class for union data. More...
 
struct  UnionMode
 
class  UnionType
 Concrete type class for union data. More...
 

Typedefs

using BufferVector = std::vector< std::shared_ptr< Buffer > >
 
using ArrayVector = std::vector< std::shared_ptr< Array > >
 
using DecimalArray = Decimal128Array
 
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 >
 
using DecimalBuilder = Decimal128Builder
 
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 >
using is_number = std::is_base_of< Number, T >
 
template<typename T >
using enable_if_8bit_int = typename std::enable_if< is_8bit_int< T >::value >::type
 
template<typename T >
using enable_if_primitive_ctype = typename std::enable_if< std::is_base_of< PrimitiveCType, T >::value >::type
 
template<typename T >
using enable_if_date = typename std::enable_if< std::is_base_of< DateType, T >::value >::type
 
template<typename T >
using enable_if_integer = typename std::enable_if< std::is_base_of< Integer, T >::value >::type
 
template<typename T >
using enable_if_signed_integer = typename std::enable_if< std::is_base_of< Integer, T >::value &&std::is_signed< typename T::c_type >::value >::type
 
template<typename T >
using enable_if_unsigned_integer = typename std::enable_if< std::is_base_of< Integer, T >::value &&std::is_unsigned< typename T::c_type >::value >::type
 
template<typename T >
using enable_if_floating_point = typename std::enable_if< std::is_base_of< FloatingPoint, T >::value >::type
 
template<typename T >
using enable_if_time = typename std::enable_if< std::is_base_of< TimeType, T >::value >::type
 
template<typename T >
using enable_if_timestamp = typename std::enable_if< std::is_base_of< TimestampType, T >::value >::type
 
template<typename T >
using enable_if_has_c_type = typename std::enable_if< has_c_type< T >::value >::type
 
template<typename T >
using enable_if_null = typename std::enable_if< std::is_same< NullType, T >::value >::type
 
template<typename T >
using enable_if_binary = typename std::enable_if< std::is_base_of< BinaryType, T >::value >::type
 
template<typename T >
using enable_if_boolean = typename std::enable_if< std::is_same< BooleanType, T >::value >::type
 
template<typename T >
using enable_if_fixed_size_binary = typename std::enable_if< std::is_base_of< FixedSizeBinaryType, T >::value >::type
 
template<typename T >
using enable_if_list = typename std::enable_if< std::is_base_of< ListType, T >::value >::type
 
template<typename T >
using enable_if_number = typename std::enable_if< is_number< T >::value >::type
 
typedef int32_t hash_slot_t
 

Enumerations

enum  StatusCode : char {
  StatusCode::OK = 0, StatusCode::OutOfMemory = 1, StatusCode::KeyError = 2, StatusCode::TypeError = 3,
  StatusCode::Invalid = 4, StatusCode::IOError = 5, StatusCode::CapacityError = 6, StatusCode::UnknownError = 9,
  StatusCode::NotImplemented = 10, StatusCode::SerializationError = 11, StatusCode::PythonError = 12, StatusCode::RError = 13,
  StatusCode::PlasmaObjectExists = 20, StatusCode::PlasmaObjectNonexistent = 21, StatusCode::PlasmaStoreFull = 22, StatusCode::PlasmaObjectAlreadySealed = 23,
  StatusCode::StillExecuting = 24
}
 
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
 
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, zero its padding. More...
 
Status AllocateBuffer (MemoryPool *pool, const int64_t size, std::unique_ptr< Buffer > *out)
 Allocate a fixed size mutable buffer from a memory pool, zero its padding. More...
 
Status AllocateBuffer (const int64_t size, std::shared_ptr< Buffer > *out)
 Allocate a fixed-size mutable buffer from the default memory pool. More...
 
Status AllocateBuffer (const int64_t size, std::unique_ptr< Buffer > *out)
 Allocate a fixed-size mutable buffer from the default memory pool. More...
 
Status AllocateResizableBuffer (MemoryPool *pool, const int64_t size, std::shared_ptr< ResizableBuffer > *out)
 Allocate a resizeable buffer from a memory pool, zero its padding. More...
 
Status AllocateResizableBuffer (MemoryPool *pool, const int64_t size, std::unique_ptr< ResizableBuffer > *out)
 Allocate a resizeable buffer from a memory pool, zero its padding. More...
 
Status AllocateResizableBuffer (const int64_t size, std::shared_ptr< ResizableBuffer > *out)
 Allocate a resizeable buffer from the default memory pool. More...
 
Status AllocateResizableBuffer (const int64_t size, std::unique_ptr< ResizableBuffer > *out)
 Allocate a resizeable buffer from the default memory pool. More...
 
Status AllocateEmptyBitmap (MemoryPool *pool, int64_t length, std::shared_ptr< Buffer > *out)
 Allocate a zero-initialized bitmap buffer from a memory pool. More...
 
Status AllocateEmptyBitmap (int64_t length, std::shared_ptr< Buffer > *out)
 Allocate a zero-initialized bitmap buffer from the default memory pool. More...
 
Status MakeBuilder (MemoryPool *pool, const std::shared_ptr< DataType > &type, std::unique_ptr< ArrayBuilder > *out)
 
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 Array &arr, const PrettyPrintOptions &options, std::ostream *sink)
 Print human-readable representation of Array. More...
 
Status PrettyPrint (const Array &arr, const PrettyPrintOptions &options, std::string *result)
 Print human-readable representation of Array. More...
 
Status PrettyPrint (const ChunkedArray &chunked_arr, const PrettyPrintOptions &options, std::ostream *sink)
 Print human-readable representation of ChunkedArray. More...
 
Status PrettyPrint (const ChunkedArray &chunked_arr, const PrettyPrintOptions &options, std::string *result)
 Print human-readable representation of ChunkedArray. 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...
 
std::ostream & operator<< (std::ostream &os, const DataType &type)
 
std::shared_ptr< DataTypefixed_size_binary (int32_t byte_width)
 Create a FixedSizeBinaryType instance. More...
 
std::shared_ptr< DataTypedecimal (int32_t precision, int32_t scale)
 Create a Decimal128Type instance. More...
 
std::shared_ptr< DataTypelist (const std::shared_ptr< Field > &value_type)
 Create a ListType instance from its child Field type. More...
 
std::shared_ptr< DataTypelist (const std::shared_ptr< DataType > &value_type)
 Create a ListType instance from its child DataType. More...
 
std::shared_ptr< DataTypetimestamp (TimeUnit::type unit)
 Create a TimestampType instance from its unit. More...
 
std::shared_ptr< DataTypetimestamp (TimeUnit::type unit, const std::string &timezone)
 Create a TimestampType instance from its unit and timezone. More...
 
std::shared_ptr< DataTypetime32 (TimeUnit::type unit)
 Create a 32-bit time type instance. More...
 
std::shared_ptr< DataTypetime64 (TimeUnit::type unit)
 Create a 64-bit time type instance. More...
 
std::shared_ptr< DataTypestruct_ (const std::vector< std::shared_ptr< Field >> &fields)
 Create a StructType instance. More...
 
std::shared_ptr< DataTypeunion_ (const std::vector< std::shared_ptr< Field >> &child_fields, const std::vector< uint8_t > &type_codes, UnionMode::type mode=UnionMode::SPARSE)
 Create a UnionType instance. More...
 
std::shared_ptr< DataTypeunion_ (const std::vector< std::shared_ptr< Array >> &children, UnionMode::type mode=UnionMode::SPARSE)
 Create a UnionType instance. More...
 
std::shared_ptr< DataTypedictionary (const std::shared_ptr< DataType > &index_type, const std::shared_ptr< Array > &values, bool ordered=false)
 Create a DictionaryType instance. 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 ()
 Return a NullType instance. More...
 
std::shared_ptr< DataTypeboolean ()
 Return a BooleanType instance. More...
 
std::shared_ptr< DataTypeint8 ()
 Return a Int8Type instance. More...
 
std::shared_ptr< DataTypeint16 ()
 Return a Int16Type instance. More...
 
std::shared_ptr< DataTypeint32 ()
 Return a Int32Type instance. More...
 
std::shared_ptr< DataTypeint64 ()
 Return a Int64Type instance. More...
 
std::shared_ptr< DataTypeuint8 ()
 Return a UInt8Type instance. More...
 
std::shared_ptr< DataTypeuint16 ()
 Return a UInt16Type instance. More...
 
std::shared_ptr< DataTypeuint32 ()
 Return a UInt32Type instance. More...
 
std::shared_ptr< DataTypeuint64 ()
 Return a UInt64Type instance. More...
 
std::shared_ptr< DataTypefloat16 ()
 Return a HalfFloatType instance. More...
 
std::shared_ptr< DataTypefloat32 ()
 Return a FloatType instance. More...
 
std::shared_ptr< DataTypefloat64 ()
 Return a DoubleType instance. More...
 
std::shared_ptr< DataTypeutf8 ()
 Return a StringType instance. More...
 
std::shared_ptr< DataTypebinary ()
 Return a BinaryType instance. More...
 
std::shared_ptr< DataTypedate32 ()
 Return a Date32Type instance. More...
 
std::shared_ptr< DataTypedate64 ()
 Return a Date64Type instance. More...
 
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 &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)
 
std::shared_ptr< KeyValueMetadatakey_value_metadata (const std::unordered_map< std::string, std::string > &pairs)
 Create a KeyValueMetadata instance. More...
 
int GetCpuThreadPoolCapacity ()
 Get the capacity of the global thread pool. More...
 
Status SetCpuThreadPoolCapacity (int threads)
 Set the capacity of the global thread pool. More...
 
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 >
 
constexpr int64_t kBinaryMemoryLimit = std::numeric_limits<int32_t>::max() - 1
 
constexpr int64_t kListMaximumElements = std::numeric_limits<int32_t>::max() - 1
 
constexpr int64_t kMinBuilderCapacity = 1 << 5
 

Detailed Description

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

Implementation of Flight RPC client using gRPC. API should be.

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

◆ DecimalArray

◆ DecimalBuilder

◆ DoubleBuilder

◆ enable_if_8bit_int

template<typename T >
using arrow::enable_if_8bit_int = typedef typename std::enable_if<is_8bit_int<T>::value>::type

◆ enable_if_binary

template<typename T >
using arrow::enable_if_binary = typedef typename std::enable_if<std::is_base_of<BinaryType, T>::value>::type

◆ enable_if_boolean

template<typename T >
using arrow::enable_if_boolean = typedef typename std::enable_if<std::is_same<BooleanType, T>::value>::type

◆ enable_if_date

template<typename T >
using arrow::enable_if_date = typedef typename std::enable_if<std::is_base_of<DateType, T>::value>::type

◆ enable_if_fixed_size_binary

template<typename T >
using arrow::enable_if_fixed_size_binary = typedef typename std::enable_if<std::is_base_of<FixedSizeBinaryType, T>::value>::type

◆ enable_if_floating_point

template<typename T >
using arrow::enable_if_floating_point = typedef typename std::enable_if<std::is_base_of<FloatingPoint, T>::value>::type

◆ enable_if_has_c_type

template<typename T >
using arrow::enable_if_has_c_type = typedef typename std::enable_if<has_c_type<T>::value>::type

◆ enable_if_integer

template<typename T >
using arrow::enable_if_integer = typedef typename std::enable_if<std::is_base_of<Integer, T>::value>::type

◆ enable_if_list

template<typename T >
using arrow::enable_if_list = typedef typename std::enable_if<std::is_base_of<ListType, T>::value>::type

◆ enable_if_null

template<typename T >
using arrow::enable_if_null = typedef typename std::enable_if<std::is_same<NullType, T>::value>::type

◆ enable_if_number

template<typename T >
using arrow::enable_if_number = typedef typename std::enable_if<is_number<T>::value>::type

◆ enable_if_primitive_ctype

template<typename T >
using arrow::enable_if_primitive_ctype = typedef typename std::enable_if<std::is_base_of<PrimitiveCType, T>::value>::type

◆ enable_if_signed_integer

template<typename T >
using arrow::enable_if_signed_integer = typedef typename std::enable_if<std::is_base_of<Integer, T>::value && std::is_signed<typename T::c_type>::value>::type

◆ enable_if_time

template<typename T >
using arrow::enable_if_time = typedef typename std::enable_if<std::is_base_of<TimeType, T>::value>::type

◆ enable_if_timestamp

template<typename T >
using arrow::enable_if_timestamp = typedef typename std::enable_if<std::is_base_of<TimestampType, T>::value>::type

◆ enable_if_unsigned_integer

template<typename T >
using arrow::enable_if_unsigned_integer = typedef typename std::enable_if<std::is_base_of<Integer, T>::value && std::is_unsigned<typename T::c_type>::value>::type

◆ FloatBuilder

◆ HalfFloatBuilder

◆ hash_slot_t

typedef int32_t arrow::hash_slot_t

◆ Int16Builder

◆ Int32Builder

◆ Int64Builder

◆ Int8Builder

◆ IntervalArray

◆ is_number

template<typename T >
using arrow::is_number = typedef std::is_base_of<Number, T>

◆ Time32Array

◆ Time32Builder

◆ Time64Array

◆ Time64Builder

◆ TimestampArray

◆ TimestampBuilder

◆ UInt16Builder

◆ UInt32Builder

◆ UInt64Builder

◆ UInt8Builder

Enumeration Type Documentation

◆ DateUnit

enum arrow::DateUnit : char
strong
Enumerator
DAY 
MILLI 

◆ StatusCode

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

Function Documentation

◆ AllocateBuffer() [1/4]

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

Allocate a fixed size mutable buffer from a memory pool, zero its padding.

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

◆ AllocateBuffer() [2/4]

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

Allocate a fixed size mutable buffer from a memory pool, zero its padding.

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

◆ AllocateBuffer() [3/4]

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

Allocate a fixed-size mutable buffer from the default memory pool.

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

◆ AllocateBuffer() [4/4]

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

Allocate a fixed-size mutable buffer from the default memory pool.

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

◆ AllocateEmptyBitmap() [1/2]

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

Allocate a zero-initialized bitmap buffer from a memory pool.

Parameters
[in]poolmemory pool to allocate memory from
[in]lengthsize in bits of bitmap to allocate
[out]outthe resulting buffer
Returns
Status message

◆ AllocateEmptyBitmap() [2/2]

Status arrow::AllocateEmptyBitmap ( int64_t  length,
std::shared_ptr< Buffer > *  out 
)

Allocate a zero-initialized bitmap buffer from the default memory pool.

Parameters
[in]lengthsize in bits of bitmap to allocate
[out]outthe resulting buffer
Returns
Status message

◆ AllocateResizableBuffer() [1/4]

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

Allocate a resizeable buffer from a memory pool, zero its padding.

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

◆ AllocateResizableBuffer() [2/4]

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

Allocate a resizeable buffer from a memory pool, zero its padding.

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

◆ AllocateResizableBuffer() [3/4]

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

Allocate a resizeable buffer from the default memory pool.

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

◆ AllocateResizableBuffer() [4/4]

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

Allocate a resizeable buffer from the default memory pool.

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

◆ ArrayApproxEquals()

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()

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

Returns true if the arrays are exactly equal.

◆ ArrayRangeEquals()

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 ( )

Return a BinaryType instance.

◆ boolean()

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

Return a BooleanType instance.

◆ 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

◆ date32()

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

Return a Date32Type instance.

◆ date64()

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

Return a Date64Type instance.

◆ DebugPrint()

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

◆ decimal()

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

Create a Decimal128Type instance.

◆ 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 a DictionaryType instance.

◆ 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)

Create a FixedSizeBinaryType instance.

◆ float16()

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

Return a HalfFloatType instance.

◆ float32()

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

Return a FloatType instance.

◆ float64()

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

Return a DoubleType instance.

◆ GetCpuThreadPoolCapacity()

int arrow::GetCpuThreadPoolCapacity ( )

Get the capacity of the global thread pool.

Return the number of worker threads in the thread pool to which Arrow dispatches various CPU-bound tasks. This is an ideal number, not necessarily the exact number of threads at a given point in time.

You can change this number using SetCpuThreadPoolCapacity().

◆ int16()

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

Return a Int16Type instance.

◆ int32()

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

Return a Int32Type instance.

◆ int64()

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

Return a Int64Type instance.

◆ int8()

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

Return a Int8Type instance.

◆ key_value_metadata()

std::shared_ptr<KeyValueMetadata> arrow::key_value_metadata ( const std::unordered_map< std::string, std::string > &  pairs)

Create a KeyValueMetadata instance.

Parameters
pairskey-value mapping

◆ list() [1/2]

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

Create a ListType instance from its child Field type.

◆ list() [2/2]

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

Create a ListType instance from its child DataType.

◆ MakeArray()

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 
)

◆ null()

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

Return a NullType instance.

◆ 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 
)

◆ operator~()

Decimal128 arrow::operator~ ( const Decimal128 operand)

◆ PrettyPrint() [1/8]

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

Print human-readable representation of RecordBatch.

◆ PrettyPrint() [2/8]

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

Print human-readable representation of Array.

◆ PrettyPrint() [3/8]

Status arrow::PrettyPrint ( const Array arr,
const PrettyPrintOptions options,
std::ostream *  sink 
)

Print human-readable representation of Array.

◆ PrettyPrint() [4/8]

Status arrow::PrettyPrint ( const Array arr,
const PrettyPrintOptions options,
std::string *  result 
)

Print human-readable representation of Array.

◆ PrettyPrint() [5/8]

Status arrow::PrettyPrint ( const ChunkedArray chunked_arr,
const PrettyPrintOptions options,
std::ostream *  sink 
)

Print human-readable representation of ChunkedArray.

◆ PrettyPrint() [6/8]

Status arrow::PrettyPrint ( const ChunkedArray chunked_arr,
const PrettyPrintOptions options,
std::string *  result 
)

Print human-readable representation of ChunkedArray.

◆ PrettyPrint() [7/8]

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

◆ PrettyPrint() [8/8]

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

◆ 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

◆ SetCpuThreadPoolCapacity()

Status arrow::SetCpuThreadPoolCapacity ( int  threads)

Set the capacity of the global thread pool.

Set the number of worker threads int the thread pool to which Arrow dispatches various CPU-bound tasks.

The current number is returned by GetCpuThreadPoolCapacity().

◆ 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 a StructType instance.

◆ TensorEquals()

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

◆ time32()

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

Create a 32-bit time type instance.

Unit can be either SECOND or MILLI

◆ time64()

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

Create a 64-bit time type instance.

Unit can be either MICRO or NANO

◆ timestamp() [1/2]

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

Create a TimestampType instance from its unit.

◆ timestamp() [2/2]

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

Create a TimestampType instance from its unit and timezone.

◆ TypeEquals()

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 ( )

Return a UInt16Type instance.

◆ uint32()

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

Return a UInt32Type instance.

◆ uint64()

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

Return a UInt64Type instance.

◆ uint8()

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

Return a UInt8Type instance.

◆ union_() [1/2]

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

Create a UnionType instance.

◆ union_() [2/2]

std::shared_ptr<DataType> arrow::union_ ( const std::vector< std::shared_ptr< Array >> &  children,
UnionMode::type  mode = UnionMode::SPARSE 
)

Create a UnionType instance.

◆ utf8()

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

Return a StringType instance.

◆ 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

◆ kBinaryMemoryLimit

constexpr int64_t arrow::kBinaryMemoryLimit = std::numeric_limits<int32_t>::max() - 1

◆ kListMaximumElements

constexpr int64_t arrow::kListMaximumElements = std::numeric_limits<int32_t>::max() - 1

◆ kMinBuilderCapacity

constexpr int64_t arrow::kMinBuilderCapacity = 1 << 5

◆ 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 >