source: NonGTP/Boost/boost/parameter/aux_/tag.hpp @ 857

Revision 857, 1.1 KB checked in by igarcia, 18 years ago (diff)
Line 
1// Copyright David Abrahams 2005. Distributed under the Boost
2// Software License, Version 1.0. (See accompanying
3// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
4#ifndef BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP
5# define BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP
6
7# include <boost/parameter/aux_/unwrap_cv_reference.hpp>
8# include <boost/parameter/aux_/tagged_argument.hpp>
9
10namespace boost { namespace parameter { namespace aux {
11
12template <class Keyword, class ActualArg
13#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
14        , class = typename is_cv_reference_wrapper<ActualArg>::type
15#endif
16          >
17struct tag
18{
19    typedef tagged_argument<
20        Keyword
21      , typename unwrap_cv_reference<ActualArg>::type
22    > type;
23};
24
25#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
26template <class Keyword, class ActualArg>
27struct tag<Keyword,ActualArg,mpl::false_>
28{
29    typedef tagged_argument<
30        Keyword
31      , ActualArg
32    > type;
33};
34#endif
35
36}}} // namespace boost::parameter::aux_
37
38#endif // BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP
Note: See TracBrowser for help on using the repository browser.