OmniSciDB  85c2d10cdc
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
anonymous_namespace{TypedDataAccessors.h}::NullSentinelSupplier Class Reference

#include <TypedDataAccessors.h>


struct  FPSelector
struct  IntSelector

Public Member Functions

template<typename TYPE_INFO , typename VAL >
auto operator() (TYPE_INFO const &ti, VAL const &) const

Private Member Functions

template<typename TYPE_INFO >
int64_t get_null_sentinel_for_type (TYPE_INFO const &ti, IntSelector const &) const
template<typename TYPE_INFO >
double get_null_sentinel_for_type (TYPE_INFO const &ti, FPSelector const &) const

Detailed Description

Definition at line 392 of file TypedDataAccessors.h.

Member Function Documentation

template<typename TYPE_INFO >
int64_t anonymous_namespace{TypedDataAccessors.h}::NullSentinelSupplier::get_null_sentinel_for_type ( TYPE_INFO const ti,
IntSelector const  
) const

Definition at line 408 of file TypedDataAccessors.h.

References get_logical_type_info(), and inline_int_null_val().

408  {
410  }
SQLTypeInfo get_logical_type_info(const SQLTypeInfo &type_info)
Definition: sqltypes.h:910
int64_t inline_int_null_val(const SQL_TYPE_INFO &ti)

+ Here is the call graph for this function:

template<typename TYPE_INFO >
double anonymous_namespace{TypedDataAccessors.h}::NullSentinelSupplier::get_null_sentinel_for_type ( TYPE_INFO const ti,
FPSelector const  
) const

Definition at line 413 of file TypedDataAccessors.h.

References inline_fp_null_val().

413  {
414  return inline_fp_null_val(ti);
415  }
double inline_fp_null_val(const SQL_TYPE_INFO &ti)

+ Here is the call graph for this function:

template<typename TYPE_INFO , typename VAL >
auto anonymous_namespace{TypedDataAccessors.h}::NullSentinelSupplier::operator() ( TYPE_INFO const ti,
VAL const  
) const

Definition at line 395 of file TypedDataAccessors.h.

References run_benchmark_import::type.

395  {
396  using FloatOrIntSelector =
397  typename std::conditional<std::is_floating_point<std::decay_t<VAL> >::value,
398  FPSelector,
399  IntSelector>::type;
400  return get_null_sentinel_for_type(ti, FloatOrIntSelector());
401  }
int64_t get_null_sentinel_for_type(TYPE_INFO const &ti, IntSelector const &) const

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