Support Class Library
A set of tools providing classes and utility
fn_type.h
Go to the documentation of this file.
1 #pragma once
2 #include <functional>
3 #include <type_traits>
4 //#include <scl/tools/meta/is_same.h>
5 
6 namespace scl{
7  namespace tools{
8  namespace meta{
14  template <class Ret, class... Args>
15  using fn_type = Ret(*)(Args...);
16 
23  template <class Ret, class Class, class... Args>
24  using memfn_type = Ret(Class::*)(Args...);
25 
26  template <class Ret, class Class, class... Args>
27  using const_memfn_type = Ret(Class::*)(Args...) const;
28 
29  template <class Ret, class Class>
30  using mem_ptr_type = Ret Class::*;
31 
32  template <class Ret, class... Args>
33  using std_fn_type = std::function<Ret(Args...)>;
34 
35  template <class Ret, class... Args>
36  using fn_sig_type = Ret(Args...);
37  }
38  }
39 }
Ret(*)(Args...) fn_type
An handy type alias to describe function pointer types.
Definition: fn_type.h:15
Global namespace of the SCL.
Definition: alias.hpp:3
Ret(Class::*)(Args...) memfn_type
An handy type alias to describe member function pointer types.
Definition: fn_type.h:24
Ret(Class::*)(Args...) const const_memfn_type
Definition: fn_type.h:27
typename fn_t< F >::fn_type std_fn_type
Definition: fn_introspect.h:86
Ret(Args...) fn_sig_type
Definition: fn_type.h:36
Ret Class::* mem_ptr_type
Definition: fn_type.h:30