Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:29:45

0001 /*
0002 
0003 @Copyright Barrett Adair 2015-2017
0004 Distributed under the Boost Software License, Version 1.0.
0005 (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
0006 
0007 */
0008 
0009 #ifndef BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
0010 #define BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
0011 
0012 #include <boost/callable_traits/detail/forward_declarations.hpp>
0013 #include <boost/callable_traits/detail/utility.hpp>
0014 
0015 namespace boost { namespace callable_traits { namespace detail {
0016 
0017     // Here is where the magic happens
0018     template<typename T>
0019     using traits = typename BOOST_CLBL_TRTS_DISJUNCTION(
0020         function_object<unwrap_reference<T>>,
0021         function<T>,
0022         pmf<T>,
0023         pmd<T>,
0024         default_callable_traits<T>
0025     )::traits;
0026 
0027 }}} // namespace boost::callable_traits::detail
0028 
0029 #endif // #ifndef BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP