diff options
Diffstat (limited to 'contrib/src/boost/type_traits/is_base_of.hpp')
-rw-r--r-- | contrib/src/boost/type_traits/is_base_of.hpp | 78 |
1 files changed, 39 insertions, 39 deletions
diff --git a/contrib/src/boost/type_traits/is_base_of.hpp b/contrib/src/boost/type_traits/is_base_of.hpp index 89f2f67..137d179 100644 --- a/contrib/src/boost/type_traits/is_base_of.hpp +++ b/contrib/src/boost/type_traits/is_base_of.hpp @@ -1,39 +1,39 @@ - -// (C) Copyright Rani Sharoni 2003-2005. -// 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_IS_BASE_OF_HPP_INCLUDED -#define BOOST_TT_IS_BASE_OF_HPP_INCLUDED - -#include <boost/type_traits/is_base_and_derived.hpp> -#include <boost/type_traits/is_same.hpp> -#include <boost/type_traits/is_class.hpp> - -namespace boost { - - namespace detail{ - template <class B, class D> - struct is_base_of_imp - { - typedef typename remove_cv<B>::type ncvB; - typedef typename remove_cv<D>::type ncvD; - BOOST_STATIC_CONSTANT(bool, value = ( - (::boost::detail::is_base_and_derived_impl<ncvB,ncvD>::value) || - (::boost::is_same<ncvB,ncvD>::value && ::boost::is_class<ncvB>::value))); - }; - } - - template <class Base, class Derived> struct is_base_of - : public integral_constant<bool, (::boost::detail::is_base_of_imp<Base, Derived>::value)> {}; - - template <class Base, class Derived> struct is_base_of<Base, Derived&> : false_type{}; - template <class Base, class Derived> struct is_base_of<Base&, Derived&> : false_type{}; - template <class Base, class Derived> struct is_base_of<Base&, Derived> : false_type{}; - -} // namespace boost - -#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED +
+// (C) Copyright Rani Sharoni 2003-2005.
+// 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_IS_BASE_OF_HPP_INCLUDED
+#define BOOST_TT_IS_BASE_OF_HPP_INCLUDED
+
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits/is_class.hpp>
+
+namespace boost {
+
+ namespace detail{
+ template <class B, class D>
+ struct is_base_of_imp
+ {
+ typedef typename remove_cv<B>::type ncvB;
+ typedef typename remove_cv<D>::type ncvD;
+ BOOST_STATIC_CONSTANT(bool, value = (
+ (::boost::detail::is_base_and_derived_impl<ncvB,ncvD>::value) ||
+ (::boost::is_same<ncvB,ncvD>::value && ::boost::is_class<ncvB>::value)));
+ };
+ }
+
+ template <class Base, class Derived> struct is_base_of
+ : public integral_constant<bool, (::boost::detail::is_base_of_imp<Base, Derived>::value)> {};
+
+ template <class Base, class Derived> struct is_base_of<Base, Derived&> : false_type{};
+ template <class Base, class Derived> struct is_base_of<Base&, Derived&> : false_type{};
+ template <class Base, class Derived> struct is_base_of<Base&, Derived> : false_type{};
+
+} // namespace boost
+
+#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
|