File indexing completed on 2024-11-16 09:12:23
0001
0002
0003
0004
0005
0006
0007 #if !defined(FUSION_ACCESS_04182005_0737)
0008 #define FUSION_ACCESS_04182005_0737
0009
0010 #include <boost/fusion/support/config.hpp>
0011 #include <boost/type_traits/add_const.hpp>
0012 #include <boost/type_traits/add_reference.hpp>
0013
0014 namespace boost { namespace fusion { namespace detail
0015 {
0016 template <typename T>
0017 struct ref_result
0018 {
0019 typedef typename add_reference<T>::type type;
0020 };
0021
0022 template <typename T>
0023 struct cref_result
0024 {
0025 typedef typename
0026 add_reference<
0027 typename add_const<T>::type
0028 >::type
0029 type;
0030 };
0031
0032 template <typename T>
0033 struct call_param
0034 {
0035 typedef T const& type;
0036 };
0037
0038 template <typename T>
0039 struct call_param<T&>
0040 {
0041 typedef T& type;
0042 };
0043
0044 template <typename T>
0045 struct call_param<T const>
0046 {
0047 typedef T const& type;
0048 };
0049
0050 template <typename T>
0051 struct call_param<T volatile>
0052 {
0053 typedef T const& type;
0054 };
0055
0056 template <typename T>
0057 struct call_param<T const volatile>
0058 {
0059 typedef T const& type;
0060 };
0061
0062 }}}
0063
0064 #endif
0065