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

Go to the source code of this file.

Classes

struct  apply_functor< F >
 
struct  bit_and< T >
 
struct  bit_and< void >
 
struct  bit_not< T >
 
struct  bit_not< void >
 
struct  bit_or< T >
 
struct  bit_or< void >
 
struct  bit_xor< T >
 
struct  bit_xor< void >
 
struct  converter< T >
 
struct  divides< T >
 
struct  divides< void >
 
struct  equal_to< T >
 
struct  equal_to< void >
 
struct  function_traits< F >
 
struct  function_traits< F >
 
struct  function_traits< R(*)(Args...)>
 
struct  function_traits< R(Args...)>
 
struct  function_traits< R(C::*)(Args...) const >
 
struct  function_traits< R(C::*)(Args...) const volatile >
 
struct  function_traits< R(C::*)(Args...) volatile >
 
struct  function_traits< R(C::*)(Args...)>
 
struct  function_traits< R(C::*)>
 
struct  greater< T >
 
struct  greater< void >
 
struct  greater_equal< T >
 
struct  greater_equal< void >
 
struct  less< T >
 
struct  less< void >
 
struct  less_equal< T >
 
struct  less_equal< void >
 
struct  logical_and< T >
 
struct  logical_and< void >
 
struct  logical_not< T >
 
struct  logical_not< void >
 
struct  logical_or< T >
 
struct  logical_or< void >
 
struct  minus< T >
 
struct  minus< void >
 
struct  modulus< T >
 
struct  modulus< void >
 
struct  multiplies< T >
 
struct  multiplies< void >
 
struct  negate< T >
 
struct  negate< void >
 
struct  not_equal_to< T >
 
struct  not_equal_to< void >
 
struct  not_fn_functor< F >
 
struct  plus< T >
 
struct  plus< void >
 

Namespaces

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

Typedefs

template
<
class
T
>
using is_reference_wrapper = meta::is_specialization_of< remove_cv_t< T >, ::std::reference_wrapper >
 

Functions

template<class F , class T , ::std::size_t... I>
auto apply (F &&f, T &&t, index_sequence< I... >) -> decltype(invoke(core::forward< F >(f), ::std::get< I >(core::forward< T >(t))...))
 
template<class Functor , class T , class I = make_index_sequence<::std::tuple_size<decay_t<T>>::value>>
auto apply (Functor &&f, T &&t) -> decltype(apply(core::forward< Functor >(f), core::forward< T >(t), I
 
template<class Functor , class... Args>
auto invoke (Functor &&f, Args &&... args) -> enable_if_t< ::std::is_member_pointer< decay_t< Functor >>::value, result_of_t< Functor &&(Args &&...)> >
 
template
<
class
F
>
auto make_apply (F &&f) -> apply_functor< F >
 
template
<
class
F
>
not_fn_functor< decay_t< F > > not_fn (F &&f)