Sha256: 9f3367abdd08393ac23a7644b3447fe21313560017f2805dc7d541b676c2b7cd
Contents?: true
Size: 1.06 KB
Versions: 14
Compression:
Stored size: 1.06 KB
Contents
// Copyright David Abrahams 2006. // Distributed under 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) #ifndef BOOST_PARAMETER_AUX_PREPROCESSOR_IMPL_PARENTHESIZED_TYPE_HPP #define BOOST_PARAMETER_AUX_PREPROCESSOR_IMPL_PARENTHESIZED_TYPE_HPP namespace boost { namespace parameter { namespace aux { // A metafunction that transforms void(*)(T) -> T template <typename UnaryFunctionPointer> struct unaryfunptr_arg_type; template <typename Arg> struct unaryfunptr_arg_type<void(*)(Arg)> { typedef Arg type; }; template <> struct unaryfunptr_arg_type<void(*)(void)> { typedef void type; }; }}} // namespace boost::parameter::aux // A macro that takes a parenthesized C++ type name (T) and transforms it // into an un-parenthesized type expression equivalent to T. #define BOOST_PARAMETER_PARENTHESIZED_TYPE(x) \ ::boost::parameter::aux::unaryfunptr_arg_type< void(*)x >::type #endif // include guard
Version data entries
14 entries across 14 versions & 1 rubygems