mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-11-10 15:16:34 +00:00
29 lines
823 B
C++
29 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
|