]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/fusion/include/boost/fusion/support/detail/access.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / fusion / include / boost / fusion / support / detail / access.hpp
1 /*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
3
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ==============================================================================*/
7 #if !defined(FUSION_ACCESS_04182005_0737)
8 #define FUSION_ACCESS_04182005_0737
9
10 #include <boost/fusion/support/config.hpp>
11 #include <boost/type_traits/add_const.hpp>
12 #include <boost/type_traits/add_reference.hpp>
13
14 namespace boost { namespace fusion { namespace detail
15 {
16 template <typename T>
17 struct ref_result
18 {
19 typedef typename add_reference<T>::type type;
20 };
21
22 template <typename T>
23 struct cref_result
24 {
25 typedef typename
26 add_reference<
27 typename add_const<T>::type
28 >::type
29 type;
30 };
31
32 template <typename T>
33 struct call_param
34 {
35 typedef T const& type;
36 };
37
38 template <typename T>
39 struct call_param<T&>
40 {
41 typedef T& type;
42 };
43
44 template <typename T>
45 struct call_param<T const>
46 {
47 typedef T const& type;
48 };
49
50 template <typename T>
51 struct call_param<T volatile>
52 {
53 typedef T const& type;
54 };
55
56 template <typename T>
57 struct call_param<T const volatile>
58 {
59 typedef T const& type;
60 };
61
62 }}}
63
64 #endif
65