/extlibs/Boost/include/boost/type_traits/add_cv.hpp
https://bitbucket.org/hugoruscitti/pilascpp · C++ Header · 48 lines · 19 code · 14 blank · 15 comment · 0 complexity · daac95f56a0ba94c3b7ef3adb5c22f80 MD5 · raw file
- // (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
- // Hinnant & John Maddock 2000.
- // Use, modification and distribution are 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).
- //
- // See http://www.boost.org/libs/type_traits for most recent version including documentation.
- #ifndef BOOST_TT_ADD_CV_HPP_INCLUDED
- #define BOOST_TT_ADD_CV_HPP_INCLUDED
- #include <boost/config.hpp>
- // should be the last #include
- #include <boost/type_traits/detail/type_trait_def.hpp>
- namespace boost {
- // * convert a type T to a const volatile type - add_cv<T>
- // this is not required since the result is always
- // the same as "T const volatile", but it does suppress warnings
- // from some compilers:
- #if defined(BOOST_MSVC)
- // This bogus warning will appear when add_volatile is applied to a
- // const volatile reference because we can't detect const volatile
- // references with MSVC6.
- # pragma warning(push)
- # pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
- #endif
- BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_cv,T,T const volatile)
- #if defined(BOOST_MSVC)
- # pragma warning(pop)
- #endif
- #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_cv,T&,T&)
- #endif
- } // namespace boost
- #include <boost/type_traits/detail/type_trait_undef.hpp>
- #endif // BOOST_TT_ADD_CV_HPP_INCLUDED