mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-11-14 00:56:35 +00:00
30 lines
823 B
C++
30 lines
823 B
C++
|
/*
|
||
|
|
||
|
@Copyright Barrett Adair 2015-2017
|
||
|
Distributed under the Boost Software License, Version 1.0.
|
||
|
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
|
||
|
|
||
|
*/
|
||
|
|
||
|
#ifndef BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
|
||
|
#define BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
|
||
|
|
||
|
#include <boost/callable_traits/detail/forward_declarations.hpp>
|
||
|
#include <boost/callable_traits/detail/utility.hpp>
|
||
|
|
||
|
namespace boost { namespace callable_traits { namespace detail {
|
||
|
|
||
|
// Here is where the magic happens
|
||
|
template<typename T>
|
||
|
using traits = typename BOOST_CLBL_TRTS_DISJUNCTION(
|
||
|
function_object<unwrap_reference<T>>,
|
||
|
function<T>,
|
||
|
pmf<T>,
|
||
|
pmd<T>,
|
||
|
default_callable_traits<T>
|
||
|
)::traits;
|
||
|
|
||
|
}}} // namespace boost::callable_traits::detail
|
||
|
|
||
|
#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
|