Sha256: 336b0d076daefbec77c4f9d546f0f6209e09baaf14252888c44fd85024c3f343
Contents?: true
Size: 1.11 KB
Versions: 69
Compression:
Stored size: 1.11 KB
Contents
// Copyright Daniel Wallin 2006. Use, modification and distribution is // subject to 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_TEMPLATE_KEYWORD_060203_HPP # define BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP # include <boost/mpl/and.hpp> # include <boost/mpl/not.hpp> # include <boost/type_traits/is_convertible.hpp> # include <boost/type_traits/is_reference.hpp> namespace boost { namespace parameter { namespace aux { struct template_keyword_tag {}; template <class T, class U> struct is_pointer_convertible : is_convertible<T*, U*> {}; template <class T> struct is_template_keyword : mpl::and_< mpl::not_<is_reference<T> > , is_pointer_convertible<T, template_keyword_tag> > {}; } // namespace aux template <class Tag, class T> struct template_keyword : aux::template_keyword_tag { typedef Tag key_type; typedef T value_type; typedef value_type reference; }; }} // namespace boost::parameter #endif // BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
Version data entries
69 entries across 69 versions & 3 rubygems