ossrv_pub/boost_apis/boost/mpl/print.hpp
changeset 0 e4d67989cc36
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ossrv_pub/boost_apis/boost/mpl/print.hpp	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,74 @@
+
+#ifndef BOOST_MPL_PRINT_HPP_INCLUDED
+#define BOOST_MPL_PRINT_HPP_INCLUDED
+
+// Copyright David Abrahams 2003
+// Copyright Aleksey Gurtovoy 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.
+
+// $Source: /cvsroot/boost/boost/boost/mpl/print.hpp,v $
+// $Date: 2006/11/10 23:15:49 $
+// $Revision: 1.2.14.1 $
+
+#include <boost/mpl/aux_/config/msvc.hpp>
+#include <boost/mpl/identity.hpp>
+
+namespace boost { namespace mpl {
+  
+namespace aux {
+#if defined(BOOST_MSVC)
+# pragma warning(push, 3)
+// we only want one warning from MSVC, so turn off the other one
+# pragma warning(disable: 4307)
+#elif defined(__MWERKS__)
+# pragma warn_hidevirtual on
+   struct print_base { virtual void f() {} };
+#endif
+
+#if defined(__EDG_VERSION__)
+  template <class T>
+  struct dependent_unsigned
+  {
+      static const unsigned value = 1;
+  };
+#endif
+} // namespace aux 
+
+
+template <class T>
+struct print
+    : mpl::identity<T>
+#if defined(__MWERKS__)
+    , aux::print_base
+#endif 
+{
+#if defined(BOOST_MSVC)
+    enum { n = sizeof(T) + -1 };
+#elif defined(__MWERKS__)
+    void f(int);
+#else 
+    enum {
+        n =
+# if defined(__EDG_VERSION__)
+           aux::dependent_unsigned<T>::value > -1
+# else 
+           sizeof(T) > -1
+# endif 
+        };
+#endif 
+};
+
+#if defined(BOOST_MSVC)
+# pragma warning(pop)
+#elif defined(__MWERKS__)
+# pragma warn_hidevirtual reset
+#endif
+
+}}
+
+#endif // BOOST_MPL_PRINT_HPP_INCLUDED