Loading [MathJax]/extensions/tex2jax.js
IODA
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ioda::Types Namespace Reference

Defines the type system used for manipulating IODA objects. More...

Namespaces

 constants
 Useful compile-time definitions.
 

Classes

struct  is_string
 Convenience struct to determine if a type can represent a string. More...
 
struct  is_string< std::string >
 Convenience struct to determine if a type can represent a string. More...
 
struct  GetType_Wrapper
 Wrapper struct to call GetType. Needed because of C++ template rules. More...
 

Typedefs

typedef std::function< Type(gsl::not_null< const ::ioda::detail::Type_Provider * >)> TypeWrapper_function
 

Functions

template<class DataType , int Array_Type_Dimensionality = 0>
Type GetType (gsl::not_null< const ::ioda::detail::Type_Provider * > t, std::initializer_list< Dimensions_t > Adims={}, typename std::enable_if<!is_string< DataType >::value >::type *=0)
 For fundamental, non-string types. More...
 
template<class DataType , int String_Type_Length = constants::_Variable_Length>
Type GetType (gsl::not_null< const ::ioda::detail::Type_Provider * > t, std::initializer_list< Dimensions_t >={}, typename std::enable_if< is_string< DataType >::value >::type *=0)
 For fundamental string types. These are either constant or variable length arrays. Separate handling elsewhere. More...
 
 IODA_ADD_FUNDAMENTAL_TYPE (bool)
 
 IODA_ADD_FUNDAMENTAL_TYPE (short int)
 
 IODA_ADD_FUNDAMENTAL_TYPE (unsigned short int)
 
 IODA_ADD_FUNDAMENTAL_TYPE (int)
 
 IODA_ADD_FUNDAMENTAL_TYPE (unsigned int)
 
 IODA_ADD_FUNDAMENTAL_TYPE (long int)
 
 IODA_ADD_FUNDAMENTAL_TYPE (unsigned long int)
 
 IODA_ADD_FUNDAMENTAL_TYPE (long long int)
 
 IODA_ADD_FUNDAMENTAL_TYPE (unsigned long long int)
 
 IODA_ADD_FUNDAMENTAL_TYPE (signed char)
 
 IODA_ADD_FUNDAMENTAL_TYPE (unsigned char)
 
 IODA_ADD_FUNDAMENTAL_TYPE (char)
 
 IODA_ADD_FUNDAMENTAL_TYPE (wchar_t)
 
 IODA_ADD_FUNDAMENTAL_TYPE (char16_t)
 
 IODA_ADD_FUNDAMENTAL_TYPE (char32_t)
 
 IODA_ADD_FUNDAMENTAL_TYPE (float)
 
 IODA_ADD_FUNDAMENTAL_TYPE (double)
 
 IODA_ADD_FUNDAMENTAL_TYPE (long double)
 

Detailed Description

Defines the type system used for manipulating IODA objects.

Function Documentation

◆ IODA_ADD_FUNDAMENTAL_TYPE() [1/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( bool  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [2/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( char  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [3/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( char16_t  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [4/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( char32_t  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [5/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( double  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [6/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( float  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [7/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( int  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [8/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( long double  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [9/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( long int  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [10/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( long long int  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [11/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( short int  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [12/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( signed char  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [13/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( unsigned char  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [14/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( unsigned int  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [15/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( unsigned long int  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [16/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( unsigned long long int  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [17/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( unsigned short int  )

◆ IODA_ADD_FUNDAMENTAL_TYPE() [18/18]

ioda::Types::IODA_ADD_FUNDAMENTAL_TYPE ( wchar_t  )