| Server IP : 217.160.0.135 / Your IP : 216.73.217.85 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/include/boost/fusion/functional/adapter/detail/ |
Upload File : |
/*=============================================================================
Copyright (c) 2006-2007 Tobias Schwinger
Use modification and distribution are subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED)
#define BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED
namespace boost { namespace fusion { namespace detail
{
// const reference deduction for function templates that accept T const &
template <typename T> struct cref { typedef T const& type; };
template <typename T> struct cref<T&> { typedef T const& type; };
template <typename T> struct cref<T const> { typedef T const& type; };
// mutable reference deduction for function templates that accept T &
template <typename T> struct mref { typedef T & type; };
template <typename T> struct mref<T&> { typedef T & type; };
// generic reference deduction for function templates that are overloaded
// to accept both T const & and T &
template <typename T> struct gref { typedef T const& type; };
template <typename T> struct gref<T&> { typedef T & type; };
template <typename T> struct gref<T const> { typedef T const& type; };
// appropriately qualified target function in const context
template <typename T> struct qf_c { typedef T const type; };
template <typename T> struct qf_c<T const> { typedef T const type; };
template <typename T> struct qf_c<T &> { typedef T type; };
// appropriately qualified target function in non-const context
template <typename T> struct qf { typedef T type; };
template <typename T> struct qf<T const> { typedef T const type; };
template <typename T> struct qf<T &> { typedef T type; };
}}}
#endif