Sha256: 4578db417b53a25a57ae4d79a40be77f92c8614d3d4e9f583dc1e243d132aa05
Contents?: true
Size: 1.09 KB
Versions: 40
Compression:
Stored size: 1.09 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_PARENTHESIZED_TYPE_DWA2006414_HPP # define BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP # include <boost/config.hpp> # include <boost/detail/workaround.hpp> namespace boost { namespace parameter { namespace 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 // A metafunction that transforms void(*)(T) -> T template <class UnaryFunctionPointer> struct unaryfunptr_arg_type; template <class Arg> struct unaryfunptr_arg_type<void(*)(Arg)> { typedef Arg type; }; template <> struct unaryfunptr_arg_type<void(*)(void)> { typedef void type; }; }}} // namespace boost::parameter::aux #endif // BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP
Version data entries
40 entries across 40 versions & 2 rubygems