Mercurial > hg > vamp-build-and-test
view DEPENDENCIES/generic/include/boost/parameter/aux_/template_keyword.hpp @ 75:a76b96026c2d
Update summarisation
author | Chris Cannam |
---|---|
date | Thu, 30 Oct 2014 13:25:15 +0000 |
parents | 2665513ce2d3 |
children |
line wrap: on
line source
// 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