libqi-api  release-2.5.3-2016-11-18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Typedefs
qi::type Namespace Reference

Contains anything related to compile-time type manipulation. More...

Namespaces

 detail
 

Typedefs

using True = std::true_type
 
using False = std::false_type
 
template<typename A , typename B >
using Equal = typename std::is_same< A, B >::type
 
template<typename A >
using RemoveCv = typename detail::RemoveCvImpl< A >::type
 
template<typename A >
using RemoveRef = typename std::remove_reference< A >::type
 Remove reference (normal reference and r-value reference). More...
 
template<typename A >
using RemoveCvRef = RemoveCv< RemoveRef< A >>
 
template<typename A >
using HasMemberOperatorCall = typename detail::HasMemberOperatorCallImpl< A >::type
 
template<typename A >
using IsFunctionObject = typename detail::IsFunctionObjectImpl< A >::type
 
template<typename A >
using Function = typename detail::FunctionImpl< A >::type
 

Detailed Description

Contains anything related to compile-time type manipulation.

Typedef Documentation

template<typename A , typename B >
using qi::type::Equal = typedef typename std::is_same<A, B>::type

Definition at line 21 of file traits.hpp.

using qi::type::False = typedef std::false_type

Definition at line 18 of file traits.hpp.

template<typename A >
using qi::type::Function = typedef typename detail::FunctionImpl<A>::type

Returns the function type for the passed callable. Callable -> BuiltinFunction For example, the type char const* (float&, int) is returned for decltype([](float&, int) {return "abc";})

Definition at line 133 of file traits.hpp.

template<typename A >
using qi::type::HasMemberOperatorCall = typedef typename detail::HasMemberOperatorCallImpl<A>::type

Definition at line 79 of file traits.hpp.

template<typename A >
using qi::type::IsFunctionObject = typedef typename detail::IsFunctionObjectImpl<A>::type

A FunctionObject is an object that can be used on the left of the function call operator. This is different from Callable, which includes builtin functions.

Definition at line 92 of file traits.hpp.

template<typename A >
using qi::type::RemoveCv = typedef typename detail::RemoveCvImpl<A>::type

Remove const and volatile on all types, including member functions. std::remove_cv doesn't handle the latter case.

Definition at line 52 of file traits.hpp.

template<typename A >
using qi::type::RemoveCvRef = typedef RemoveCv<RemoveRef<A>>

Remove the reference, then the const / volatile qualifier. For example, for the type A const&, this will return A.

Definition at line 61 of file traits.hpp.

template<typename A >
using qi::type::RemoveRef = typedef typename std::remove_reference<A>::type

Remove reference (normal reference and r-value reference).

Definition at line 56 of file traits.hpp.

using qi::type::True = typedef std::true_type

Definition at line 17 of file traits.hpp.