]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/dll/include/boost/dll/detail/get_mem_fn_type.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / dll / include / boost / dll / detail / get_mem_fn_type.hpp
CommitLineData
7c673cae
FG
1// Copyright 2016 Klemens Morgenstern
2//
3// Distributed under the Boost Software License, Version 1.0.
4// (See accompanying file LICENSE_1_0.txt
5// or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7// For more information, see http://www.boost.org
8
9#ifndef BOOST_DLL_DETAIL_GET_MEM_FN_TYPE_HPP_
10#define BOOST_DLL_DETAIL_GET_MEM_FN_TYPE_HPP_
11
12namespace boost { namespace dll { namespace detail {
13
14template<typename Class, typename Func>
15struct get_mem_fn_type;
16
17template<typename Class, typename Return, typename ...Args>
18struct get_mem_fn_type<Class, Return(Args...)> {
19 typedef Return (Class::*mem_fn)(Args...);
20};
21
22template<typename Class, typename Return, typename ...Args>
23struct get_mem_fn_type<const Class, Return(Args...)> {
24 typedef Return (Class::*mem_fn)(Args...) const ;
25};
26
27template<typename Class, typename Return, typename ...Args>
28struct get_mem_fn_type<volatile Class, Return(Args...)> {
29 typedef Return (Class::*mem_fn)(Args...) volatile;
30};
31
32template<typename Class, typename Return, typename ...Args>
33struct get_mem_fn_type<const volatile Class, Return(Args...)> {
34 typedef Return (Class::*mem_fn)(Args...) const volatile ;
35};
36
37}}} // namespace boost::dll::detail
38
39
40#endif /* BOOST_DLL_SMART_LIBRARY_HPP_ */