// Copyright David Abrahams 2005. 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_TAG_DWA2005610_HPP | |
# define BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP | |
# include <boost/parameter/aux_/unwrap_cv_reference.hpp> | |
# include <boost/parameter/aux_/tagged_argument.hpp> | |
namespace boost { namespace parameter { namespace aux { | |
template <class Keyword, class ActualArg | |
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) | |
, class = typename is_cv_reference_wrapper<ActualArg>::type | |
#endif | |
> | |
struct tag | |
{ | |
typedef tagged_argument< | |
Keyword | |
, typename unwrap_cv_reference<ActualArg>::type | |
> type; | |
}; | |
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) | |
template <class Keyword, class ActualArg> | |
struct tag<Keyword,ActualArg,mpl::false_> | |
{ | |
typedef tagged_argument< | |
Keyword | |
, ActualArg | |
> type; | |
}; | |
#endif | |
}}} // namespace boost::parameter::aux_ | |
#endif // BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP |