Apache Arrow (C++)
A columnar in-memory analytics layer designed to accelerate big data.
Classes | Namespaces | Typedefs | Enumerations | Functions
type.h File Reference
#include <climits>
#include <cstdint>
#include <memory>
#include <ostream>
#include <string>
#include <unordered_map>
#include <vector>
#include "arrow/status.h"
#include "arrow/type_fwd.h"
#include "arrow/util/key_value_metadata.h"
#include "arrow/util/macros.h"
#include "arrow/util/visibility.h"
#include "arrow/visitor.h"

Go to the source code of this file.

Classes

struct  arrow::Type
 Main data type enumeration. More...
 
class  arrow::BufferDescr
 
class  arrow::DataType
 
class  arrow::FixedWidthType
 
class  arrow::PrimitiveCType
 
class  arrow::Number
 
class  arrow::Integer
 
class  arrow::FloatingPoint
 
class  arrow::ParametricType
 A superclass for types having additional metadata. More...
 
class  arrow::NestedType
 
class  arrow::NoExtraMeta
 
class  arrow::Field
 
class  arrow::NullType
 
class  arrow::BooleanType
 
class  arrow::UInt8Type
 
class  arrow::Int8Type
 
class  arrow::UInt16Type
 
class  arrow::Int16Type
 
class  arrow::UInt32Type
 
class  arrow::Int32Type
 
class  arrow::UInt64Type
 
class  arrow::Int64Type
 
class  arrow::HalfFloatType
 
class  arrow::FloatType
 
class  arrow::DoubleType
 
class  arrow::ListType
 
class  arrow::BinaryType
 
class  arrow::FixedSizeBinaryType
 
class  arrow::StringType
 
class  arrow::StructType
 
class  arrow::DecimalType
 
class  arrow::UnionType
 
class  arrow::DateType
 
class  arrow::Date32Type
 Date as int32_t days since UNIX epoch. More...
 
class  arrow::Date64Type
 Date as int64_t milliseconds since UNIX epoch. More...
 
struct  arrow::TimeUnit
 
class  arrow::TimeType
 
class  arrow::Time32Type
 
class  arrow::Time64Type
 
class  arrow::TimestampType
 
class  arrow::IntervalType
 
class  arrow::DictionaryType
 
class  arrow::Schema
 Sequence of arrow::Field objects describing the columns of a record batch or table data structure. More...
 

Namespaces

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

Typedefs

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

Enumerations

enum  arrow::BufferType : char { arrow::BufferType::DATA, arrow::BufferType::OFFSET, arrow::BufferType::TYPE, arrow::BufferType::VALIDITY }
 
enum  arrow::UnionMode : char { arrow::UnionMode::SPARSE, arrow::UnionMode::DENSE }
 
enum  arrow::DateUnit : char { arrow::DateUnit::DAY = 0, arrow::DateUnit::MILLI = 1 }
 

Functions

std::ostream & arrow::operator<< (std::ostream &os, const DataType &type)
 
std::shared_ptr< DataType > arrow::fixed_size_binary (int32_t byte_width)
 Make an instance of FixedSizeBinaryType. More...
 
std::shared_ptr< DataType > arrow::decimal (int32_t precision, int32_t scale)
 Make an instance of DecimalType. More...
 
std::shared_ptr< DataType > arrow::list (const std::shared_ptr< Field > &value_type)
 Make an instance of ListType. More...
 
std::shared_ptr< DataType > arrow::list (const std::shared_ptr< DataType > &value_type)
 Make an instance of ListType. More...
 
std::shared_ptr< DataType > arrow::timestamp (TimeUnit::type unit)
 Make an instance of TimestampType. More...
 
std::shared_ptr< DataType > arrow::timestamp (TimeUnit::type unit, const std::string &timezone)
 Make an instance of TimestampType. More...
 
std::shared_ptr< DataType > arrow::time32 (TimeUnit::type unit)
 Create an instance of 32-bit time type Unit can be either SECOND or MILLI. More...
 
std::shared_ptr< DataType > arrow::time64 (TimeUnit::type unit)
 Create an instance of 64-bit time type Unit can be either MICRO or NANO. More...
 
std::shared_ptr< DataType > arrow::struct_ (const std::vector< std::shared_ptr< Field >> &fields)
 Create an instance of Struct type. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...