diff options
Diffstat (limited to 'cutl/details/boost/mpl/aux_/msvc_is_class.hpp')
-rw-r--r-- | cutl/details/boost/mpl/aux_/msvc_is_class.hpp | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/cutl/details/boost/mpl/aux_/msvc_is_class.hpp b/cutl/details/boost/mpl/aux_/msvc_is_class.hpp deleted file mode 100644 index 17da363..0000000 --- a/cutl/details/boost/mpl/aux_/msvc_is_class.hpp +++ /dev/null @@ -1,58 +0,0 @@ - -#ifndef BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED -#define BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id: msvc_is_class.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ -// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $ -// $Revision: 49267 $ - -#include <cutl/details/boost/mpl/if.hpp> -#include <cutl/details/boost/mpl/bool.hpp> -#include <cutl/details/boost/mpl/aux_/type_wrapper.hpp> -#include <cutl/details/boost/mpl/aux_/yes_no.hpp> - -#include <cutl/details/boost/type_traits/is_reference.hpp> - -namespace cutl_details_boost { namespace mpl { namespace aux { - -template< typename T > struct is_class_helper -{ - typedef int (T::* type)(); -}; - -// MSVC 6.x-specific lightweight 'is_class' implementation; -// Distinguishing feature: does not instantiate the type being tested. -template< typename T > -struct msvc_is_class_impl -{ - template< typename U> - static yes_tag test(type_wrapper<U>*, /*typename*/ is_class_helper<U>::type = 0); - static no_tag test(void const volatile*, ...); - - enum { value = sizeof(test((type_wrapper<T>*)0)) == sizeof(yes_tag) }; - typedef bool_<value> type; -}; - -// agurt, 17/sep/04: have to check for 'is_reference' upfront to avoid ICEs in -// complex metaprograms -template< typename T > -struct msvc_is_class - : if_< - is_reference<T> - , false_ - , msvc_is_class_impl<T> - >::type -{ -}; - -}}} - -#endif // BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED |