OmniSciDB  343343d194
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Experimental Namespace Reference

Namespaces

 Cpp14
 

Classes

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

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

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

Definition at line 109 of file ExperimentalTypeUtilities.h.

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

Definition at line 106 of file ExperimentalTypeUtilities.h.

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.

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.

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

Definition at line 403 of file ExperimentalTypeUtilities.h.

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

Definition at line 100 of file ExperimentalTypeUtilities.h.

Enumeration Type Documentation

Function Documentation

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:

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: