diff options
Diffstat (limited to 'contrib/src/boost/mpl/aux_/na.hpp')
-rw-r--r-- | contrib/src/boost/mpl/aux_/na.hpp | 190 |
1 files changed, 95 insertions, 95 deletions
diff --git a/contrib/src/boost/mpl/aux_/na.hpp b/contrib/src/boost/mpl/aux_/na.hpp index f079c1e..0722ff4 100644 --- a/contrib/src/boost/mpl/aux_/na.hpp +++ b/contrib/src/boost/mpl/aux_/na.hpp @@ -1,95 +1,95 @@ - -#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED -#define BOOST_MPL_AUX_NA_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-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$ -// $Date$ -// $Revision$ - -#include <boost/mpl/bool.hpp> -#include <boost/mpl/aux_/na_fwd.hpp> -#include <boost/mpl/aux_/config/msvc.hpp> -#include <boost/mpl/aux_/config/ctps.hpp> - -namespace boost { namespace mpl { - -template< typename T > -struct is_na - : false_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using false_::value; -#endif -}; - -template<> -struct is_na<na> - : true_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using true_::value; -#endif -}; - -template< typename T > -struct is_not_na - : true_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using true_::value; -#endif -}; - -template<> -struct is_not_na<na> - : false_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using false_::value; -#endif -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -template< typename T, typename U > struct if_na -{ - typedef T type; -}; - -template< typename U > struct if_na<na,U> -{ - typedef U type; -}; -#else -template< typename T > struct if_na_impl -{ - template< typename U > struct apply - { - typedef T type; - }; -}; - -template<> struct if_na_impl<na> -{ - template< typename U > struct apply - { - typedef U type; - }; -}; - -template< typename T, typename U > struct if_na - : if_na_impl<T>::template apply<U> -{ -}; -#endif - -}} - -#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED +
+#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED
+#define BOOST_MPL_AUX_NA_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2001-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$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/aux_/na_fwd.hpp>
+#include <boost/mpl/aux_/config/msvc.hpp>
+#include <boost/mpl/aux_/config/ctps.hpp>
+
+namespace boost { namespace mpl {
+
+template< typename T >
+struct is_na
+ : false_
+{
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+ using false_::value;
+#endif
+};
+
+template<>
+struct is_na<na>
+ : true_
+{
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+ using true_::value;
+#endif
+};
+
+template< typename T >
+struct is_not_na
+ : true_
+{
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+ using true_::value;
+#endif
+};
+
+template<>
+struct is_not_na<na>
+ : false_
+{
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+ using false_::value;
+#endif
+};
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+template< typename T, typename U > struct if_na
+{
+ typedef T type;
+};
+
+template< typename U > struct if_na<na,U>
+{
+ typedef U type;
+};
+#else
+template< typename T > struct if_na_impl
+{
+ template< typename U > struct apply
+ {
+ typedef T type;
+ };
+};
+
+template<> struct if_na_impl<na>
+{
+ template< typename U > struct apply
+ {
+ typedef U type;
+ };
+};
+
+template< typename T, typename U > struct if_na
+ : if_na_impl<T>::template apply<U>
+{
+};
+#endif
+
+}}
+
+#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED
|