OmniSciDB  04ee39c94c
Experimental Namespace Reference

Namespaces

 Cpp14
 

Classes

struct  ConstExprPair
 
struct  MetaSwitchTraits
 
struct  MetaSwitchTraits< SQLTypeInfo >
 
struct  MetaType
 
class  MetaTypeAny
 
struct  MetaTypeClass
 
class  MetaTypeClassAny
 
struct  MetaTypeClassDeterminant
 
struct  MetaTypeClassDeterminant< Array >
 
struct  MetaTypeClassDeterminant< Bucketizable >
 
struct  MetaTypeClassDeterminant< Geometry >
 
struct  MetaTypeClassDeterminant< String >
 
class  MetaTypeClassFactory
 
class  MetaTypeFactory
 
struct  UncapturedMetaType
 
struct  UncapturedMetaTypeClass
 

Typedefs

template<typename T >
using MetaTypeOptional = boost::optional< T >
 
using UncapturedMetaTypeOptional = MetaTypeOptional< UncapturedMetaType >
 
using UncapturedMetaTypeClassOptional = MetaTypeOptional< UncapturedMetaTypeClass >
 
template<typename T , T VALUE>
using CapturedMetaTypeOptional = MetaTypeOptional< MetaType< T, VALUE > >
 
template<MetaTypeClassifications T>
using CapturedMetaTypeClassOptional = MetaTypeOptional< MetaTypeClass< T > >
 
using GeoMetaTypeFactory = MetaTypeFactory< SQLTypes, kPOINT, kLINESTRING, kPOLYGON, kMULTIPOLYGON >
 
using FullMetaTypeFactory = MetaTypeFactory< SQLTypes, kNULLT, kBOOLEAN, kCHAR, kVARCHAR, kNUMERIC, kDECIMAL, kINT, kSMALLINT, kFLOAT, kDOUBLE, kTIME, kTIMESTAMP, kBIGINT, kTEXT, kDATE, kARRAY, kINTERVAL_DAY_TIME, kINTERVAL_YEAR_MONTH, kPOINT, kLINESTRING, kPOLYGON, kMULTIPOLYGON, kTINYINT, kGEOMETRY, kGEOGRAPHY, kEVAL_CONTEXT_TYPE >
 
using GeoMetaTypeClassFactory = MetaTypeClassFactory< Geometry >
 
using StringMetaTypeClassFactory = MetaTypeClassFactory< String >
 
using FullMetaTypeClassFactory = MetaTypeClassFactory< Geometry, Array, String, Bucketizable >
 
template<template< class > class SPECIALIZED_HANDLER>
using GeoMetaTypeHandler = MetaTypeHandler< SPECIALIZED_HANDLER, SQLTypes, kPOINT, kLINESTRING, kPOLYGON, kMULTIPOLYGON >
 
template<template< class > class SPECIALIZED_HANDLER>
using FullMetaTypeHandler = MetaTypeHandler< SPECIALIZED_HANDLER, SQLTypes, kNULLT, kBOOLEAN, kCHAR, kVARCHAR, kNUMERIC, kDECIMAL, kINT, kSMALLINT, kFLOAT, kDOUBLE, kTIME, kTIMESTAMP, kBIGINT, kTEXT, kDATE, kARRAY, kINTERVAL_DAY_TIME, kINTERVAL_YEAR_MONTH, kPOINT, kLINESTRING, kPOLYGON, kMULTIPOLYGON, kTINYINT, kGEOMETRY, kGEOGRAPHY, kEVAL_CONTEXT_TYPE >
 
template<template< class > class SPECIALIZED_HANDLER>
using GeoVsNonGeoClassHandler = MetaTypeClassHandler< SPECIALIZED_HANDLER, Geometry >
 
template<template< class > class SPECIALIZED_HANDLER>
using FullMetaTypeClassHandler = MetaTypeClassHandler< SPECIALIZED_HANDLER, Geometry, Array, String, Bucketizable >
 

Enumerations

enum  MetaTypeClassifications { Geometry, Array, String, Bucketizable }
 

Functions

template<template< class > class SPECIALIZED_HANDLER, typename SQL_TYPE_INFO , typename... HANDLER_ARGS>
decltype(auto) FullMetaTypeSwitch (SQL_TYPE_INFO const &ti, HANDLER_ARGS &&... handler_args)
 
template<template< class > class SPECIALIZED_HANDLER, typename SQL_TYPE_INFO , typename... HANDLER_ARGS>
decltype(auto) FullMetaTypeClassSwitch (SQL_TYPE_INFO const &ti, HANDLER_ARGS &&... handler_args)
 

Typedef Documentation

◆ CapturedMetaTypeClassOptional

template<MetaTypeClassifications T>
using Experimental::CapturedMetaTypeClassOptional = typedef MetaTypeOptional<MetaTypeClass<T> >

Definition at line 109 of file ExperimentalTypeUtilities.h.

◆ CapturedMetaTypeOptional

template<typename T , T VALUE>
using Experimental::CapturedMetaTypeOptional = typedef MetaTypeOptional<MetaType<T, VALUE> >

Definition at line 106 of file ExperimentalTypeUtilities.h.

◆ FullMetaTypeClassFactory

◆ FullMetaTypeClassHandler

template<template< class > class SPECIALIZED_HANDLER>
using Experimental::FullMetaTypeClassHandler = typedef MetaTypeClassHandler<SPECIALIZED_HANDLER, Geometry, Array, String, Bucketizable>

Definition at line 407 of file ExperimentalTypeUtilities.h.

◆ FullMetaTypeFactory

◆ FullMetaTypeHandler

◆ GeoMetaTypeClassFactory

◆ GeoMetaTypeFactory

◆ GeoMetaTypeHandler

template<template< class > class SPECIALIZED_HANDLER>
using Experimental::GeoMetaTypeHandler = typedef MetaTypeHandler<SPECIALIZED_HANDLER, SQLTypes, kPOINT, kLINESTRING, kPOLYGON, kMULTIPOLYGON>

Definition at line 370 of file ExperimentalTypeUtilities.h.

◆ GeoVsNonGeoClassHandler

template<template< class > class SPECIALIZED_HANDLER>
using Experimental::GeoVsNonGeoClassHandler = typedef MetaTypeClassHandler<SPECIALIZED_HANDLER, Geometry>

Definition at line 403 of file ExperimentalTypeUtilities.h.

◆ MetaTypeOptional

template<typename T >
using Experimental::MetaTypeOptional = typedef boost::optional<T>

Definition at line 100 of file ExperimentalTypeUtilities.h.

◆ StringMetaTypeClassFactory

◆ UncapturedMetaTypeClassOptional

◆ UncapturedMetaTypeOptional

Enumeration Type Documentation

◆ MetaTypeClassifications

Function Documentation

◆ FullMetaTypeClassSwitch()

template<template< class > class SPECIALIZED_HANDLER, typename SQL_TYPE_INFO , typename... HANDLER_ARGS>
decltype(auto) Experimental::FullMetaTypeClassSwitch ( SQL_TYPE_INFO const &  ti,
HANDLER_ARGS &&...  handler_args 
)

Definition at line 422 of file ExperimentalTypeUtilities.h.

References Experimental::MetaTypeClassFactory< CLASSIFICATIONS_PACK >::getMetaTypeClass().

423  {
424  auto ti_meta_type_class = FullMetaTypeClassFactory::getMetaTypeClass(ti);
425  auto meta_type_class_handler = FullMetaTypeClassHandler<SPECIALIZED_HANDLER>();
426  return meta_type_class_handler(ti_meta_type_class,
427  std::forward<HANDLER_ARGS>(handler_args)...);
428 }
+ Here is the call graph for this function:

◆ FullMetaTypeSwitch()

template<template< class > class SPECIALIZED_HANDLER, typename SQL_TYPE_INFO , typename... HANDLER_ARGS>
decltype(auto) Experimental::FullMetaTypeSwitch ( SQL_TYPE_INFO const &  ti,
HANDLER_ARGS &&...  handler_args 
)

Definition at line 412 of file ExperimentalTypeUtilities.h.

References Experimental::MetaTypeFactory< T, VALUES_PACK >::getMetaType().

413  {
414  auto ti_meta_type = FullMetaTypeFactory::getMetaType(ti.get_type());
415  auto meta_type_handler = FullMetaTypeHandler<SPECIALIZED_HANDLER>();
416  return meta_type_handler(ti_meta_type, std::forward<HANDLER_ARGS>(handler_args)...);
417 }
+ Here is the call graph for this function: