Apache Arrow (C++)
A columnar in-memory analytics layer designed to accelerate big data.
Classes | Namespaces | Macros
type_traits.h File Reference
#include <type_traits>
#include "arrow/type_fwd.h"
#include "arrow/util/bit-util.h"

Go to the source code of this file.

Classes

struct  arrow::TypeTraits< T >
 
struct  arrow::TypeTraits< NullType >
 
struct  arrow::TypeTraits< UInt8Type >
 
struct  arrow::TypeTraits< Int8Type >
 
struct  arrow::TypeTraits< UInt16Type >
 
struct  arrow::TypeTraits< Int16Type >
 
struct  arrow::TypeTraits< UInt32Type >
 
struct  arrow::TypeTraits< Int32Type >
 
struct  arrow::TypeTraits< UInt64Type >
 
struct  arrow::TypeTraits< Int64Type >
 
struct  arrow::TypeTraits< Date64Type >
 
struct  arrow::TypeTraits< Date32Type >
 
struct  arrow::TypeTraits< TimestampType >
 
struct  arrow::TypeTraits< Time32Type >
 
struct  arrow::TypeTraits< Time64Type >
 
struct  arrow::TypeTraits< HalfFloatType >
 
struct  arrow::TypeTraits< FloatType >
 
struct  arrow::TypeTraits< DoubleType >
 
struct  arrow::TypeTraits< DecimalType >
 
struct  arrow::TypeTraits< BooleanType >
 
struct  arrow::TypeTraits< StringType >
 
struct  arrow::TypeTraits< BinaryType >
 
struct  arrow::TypeTraits< FixedSizeBinaryType >
 
struct  arrow::TypeTraits< ListType >
 
struct  arrow::TypeTraits< StructType >
 
struct  arrow::TypeTraits< UnionType >
 
struct  arrow::TypeTraits< DictionaryType >
 
struct  arrow::IsUnsignedInt< T >
 
struct  arrow::IsSignedInt< T >
 
struct  arrow::IsInteger< T >
 
struct  arrow::IsFloatingPoint< T >
 
struct  arrow::IsNumeric< T >
 

Namespaces

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

Macros

#define GET_ATTR(ATTR_NAME, DEFAULT)
 
#define PRIMITIVE_TRAITS(T)
 

Macro Definition Documentation

◆ GET_ATTR

#define GET_ATTR (   ATTR_NAME,
  DEFAULT 
)
Value:
template <typename T, typename Enable = void> \
struct GetAttr_##ATTR_NAME { \
using type = DEFAULT; \
}; \
\
template <typename T> \
struct GetAttr_##ATTR_NAME<T, typename as_void<typename T::ATTR_NAME>::type> { \
using type = typename T::ATTR_NAME; \
};

◆ PRIMITIVE_TRAITS

#define PRIMITIVE_TRAITS (   T)
Value:
using TypeClass = \
typename std::conditional<std::is_base_of<DataType, T>::value, T, \
typename detail::GetAttr_TypeClass<T>::type>::type; \
using c_type = typename detail::GetAttr_c_type<TypeClass>::type