SigUtil  0.95
Utility modules for modern C++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
eval.hpp File Reference

Go to the source code of this file.

Namespaces

 sig
 
 sig::impl
 

Typedefs

template<class... Args>
using sig::impl::eval_result_type = decltype(eval(std::declval< Args >()...))
 

Functions

template<class F , class... Args, class = typename std::enable_if<!std::is_member_function_pointer<F>::value>::type, class = typename std::enable_if<!std::is_member_object_pointer<F>::value>::type>
auto sig::impl::eval (F &&f, Args &&...args) -> decltype(f(std::forward< Args >(args)...))
 
template<class R , class C , class... Args>
auto sig::impl::eval (R(C::*f)() const, const C &c, Args &&...args) -> R
 for const function of const object More...
 
template<class R , class C , class... Args>
auto sig::impl::eval (R(C::*f)() const, C &c, Args &&...args) -> R
 for const function of object More...
 
template<class R , class C >
auto sig::impl::eval (R(C::*m), const C &c) -> const R &
 for member variable More...
 
template<class R , class C >
auto sig::impl::eval (R(C::*m), C &c) -> R &
 for const member variable More...