internal.hpp File Reference
Include dependency graph for internal.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  class_of< T >
 
struct  class_of< Signature T::* >
 
struct  invoke_of< bool,... >
 
struct  invoke_of< true, Args... >
 
struct  is_noexcept_swappable_with< T, U >
 
struct  is_nothrow_swappable< T, U >
 
struct  is_swappable< class, class, class >
 
struct  deduce< is_swappable_with< T, U >, is_swappable_with< U, T > >>
 
struct  is_swappable_with< T, U >
 
struct  make_detect< T, Void, class,... >
 
struct  make_detect< T, meta::deduce< U< Args... > >, U, Args... >
 
struct  undefined
 

Namespaces

 core
 
Copyright © 2013 - 2015 MNMLSTC.
 
 core::v2
 
 core::v2::impl
 

Typedefs

template
<
class
T
>
using class_of_t = typename class_of< T >::type
 
template
<
class
T
>
using decay_t = typename ::std::decay< T >::type
 
template<bool B, class T = void>
using enable_if_t = typename ::std::enable_if< B, T >::type
 
template
<
class
T
>
using remove_reference_t = typename ::std::remove_reference< T >::type
 

Functions

template<class... Args>
constexpr undefined INVOKE (undefined, Args &&...) noexcept
 
template<class Functor , class... Args>
constexpr auto INVOKE (Functor &&f, Args &&... args) -> enable_if_t< not ::std::is_member_pointer< decay_t< Functor >>::value, decltype(pass< Functor >(f)(pass< Args >(args)...)) >
 
template<class Functor , class... Args>
auto INVOKE (Functor &&f, Args &&... args) -> enable_if_t< ::std::is_member_pointer< decay_t< Functor >>::value, decltype(::std::mem_fn(pass< Functor >(f))(pass< Args >(args)...)) >
 
template
<
class
T
>
constexpr T && pass (remove_reference_t< T > &t) noexcept
 
template
<
class
T
>
constexpr T && pass (remove_reference_t< T > &&t) noexcept