aboutsummaryrefslogtreecommitdiff
path: root/cutl/details/boost/type_traits/add_reference.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'cutl/details/boost/type_traits/add_reference.hpp')
-rw-r--r--cutl/details/boost/type_traits/add_reference.hpp107
1 files changed, 0 insertions, 107 deletions
diff --git a/cutl/details/boost/type_traits/add_reference.hpp b/cutl/details/boost/type_traits/add_reference.hpp
deleted file mode 100644
index 2467326..0000000
--- a/cutl/details/boost/type_traits/add_reference.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-// (C) Copyright 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_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
-#include <cutl/details/boost/type_traits/is_reference.hpp>
-#include <cutl/details/boost/detail/workaround.hpp>
-#include <cutl/details/boost/config.hpp>
-
-// should be the last #include
-#include <cutl/details/boost/type_traits/detail/type_trait_def.hpp>
-
-namespace cutl_details_boost {
-
-namespace detail {
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-template <bool x>
-struct reference_adder
-{
- template <typename T> struct result_
- {
- typedef T& type;
- };
-};
-
-template <>
-struct reference_adder<true>
-{
- template <typename T> struct result_
- {
- typedef T type;
- };
-};
-
-template <typename T>
-struct add_reference_impl
-{
- typedef typename reference_adder<
- ::cutl_details_boost::is_reference<T>::value
- >::template result_<T> result;
-
- typedef typename result::type type;
-};
-
-#else
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-
-template <typename T>
-struct add_reference_rvalue_layer
-{
- typedef T& type;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <typename T>
-struct add_reference_rvalue_layer<T&&>
-{
- typedef T&& type;
-};
-#endif
-
-template <typename T>
-struct add_reference_impl
-{
- typedef typename add_reference_rvalue_layer<T>::type type;
-};
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
-#endif
-
-#endif
-
-// these full specialisations are always required:
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void,void)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const,void const)
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void volatile,void volatile)
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const volatile,void const volatile)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename cutl_details_boost::detail::add_reference_impl<T>::type)
-
-// agurt, 07/mar/03: workaround Borland's ill-formed sensitivity to an additional
-// level of indirection, here
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
-#endif
-
-} // namespace cutl_details_boost
-
-#include <cutl/details/boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED