Support Class Library
A set of tools providing classes and utility
Namespaces | Macros | Typedefs | Functions
type_query.h File Reference
#include <type_traits>

Go to the source code of this file.

Namespaces

 scl
 Global namespace of the SCL.
 
 scl::tools
 General purpose tooling.
 
 scl::tools::meta
 A namespace englobing all the TMP tools.
 

Macros

#define SCL_TYPEQUERY_V(ret, fn)
 
#define SCL_TYPEQUERY(alias)
 

Typedefs

template<std::size_t Len, std::size_t Align = sizeof(char)>
using scl::tools::meta::aligned_storage_t = typename std::aligned_storage< Len, Align >::type
 
template<std::size_t Len, class... Types>
using scl::tools::meta::aligned_union_t = typename std::aligned_union< Len, Types... >::type
 
template<class... T>
using scl::tools::meta::common_type_t = typename std::common_type< T... >::type
 
template<class T >
using scl::tools::meta::underlying_type_t = typename std::underlying_type< T >::type
 
template<size_t I, class Tuple >
using scl::tools::meta::tuple_element_t = typename std::tuple_element< I, Tuple >::type
 
template<class Signature >
using scl::tools::meta::result_of_t = typename std::result_of< Signature >::type
 

Functions

template<class T >
constexpr std::size_t scl::tools::meta::alignment_of ()
 
template<class T >
constexpr std::size_t scl::tools::meta::rank ()
 
template<class T , unsigned N = 0>
constexpr std::size_t scl::tools::meta::extent ()
 

Macro Definition Documentation

◆ SCL_TYPEQUERY

#define SCL_TYPEQUERY (   alias)
Value:
template <class... T>\
using alias##_t = typename std::alias<T...>::type;

Definition at line 11 of file type_query.h.

◆ SCL_TYPEQUERY_V

#define SCL_TYPEQUERY_V (   ret,
  fn 
)
Value:
template <class T>\
inline constexpr ret fn(){\
return std::fn<T>::value;\
}

Definition at line 5 of file type_query.h.