$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: oryol_at_[hidden]
Date: 2008-04-18 13:46:00
Author: jeremypack
Date: 2008-04-18 13:45:59 EDT (Fri, 18 Apr 2008)
New Revision: 44549
URL: http://svn.boost.org/trac/boost/changeset/44549
Log:
Changes to shared_library.hpp to attempt to successfully compile on MSVC.
Added:
   sandbox/boost/extension/impl/shared_library.hpp   (contents, props changed)
Text files modified: 
   sandbox/boost/extension/shared_library.hpp |    19 ++++++-------------                     
   1 files changed, 6 insertions(+), 13 deletions(-)
Added: sandbox/boost/extension/impl/shared_library.hpp
==============================================================================
--- (empty file)
+++ sandbox/boost/extension/impl/shared_library.hpp	2008-04-18 13:45:59 EDT (Fri, 18 Apr 2008)
@@ -0,0 +1,19 @@
+/*
+ * Boost.Extension / implementation header for Boost.PreProcessor
+ *
+ * (C) Copyright Jeremy Pack 2007
+ * 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/ for latest version.
+ */
+# define N BOOST_PP_ITERATION()
+// No ifndef headers - this is meant to be included multiple times.
+template <class ReturnValue BOOST_PP_COMMA_IF(N)
+          BOOST_PP_ENUM_PARAMS(N, class Param) >
+ReturnValue (*get(const std::string& name))(BOOST_PP_ENUM_PARAMS(N, Param)) {
+  return reinterpret_cast<ReturnValue (*)(BOOST_PP_ENUM_PARAMS(N, Param))>
+      (get_function(handle_, name.c_str()));
+}
+#undef N
\ No newline at end of file
Modified: sandbox/boost/extension/shared_library.hpp
==============================================================================
--- sandbox/boost/extension/shared_library.hpp	(original)
+++ sandbox/boost/extension/shared_library.hpp	2008-04-18 13:45:59 EDT (Fri, 18 Apr 2008)
@@ -15,16 +15,9 @@
 #include <string>
 #include <boost/extension/impl/library_impl.hpp>
 #include <boost/extension/common.hpp>
-namespace boost { namespace extensions {
-
-#define BOOST_EXTENSION_SHARED_LIBRARY_GET_FUNCTION(Z, N, _) \
-template <class ReturnValue BOOST_PP_COMMA_IF(N) \
-          BOOST_PP_ENUM_PARAMS(N, class Param) > \
-ReturnValue (*get(const std::string& name))(BOOST_PP_ENUM_PARAMS(N, Param)) { \
-  return reinterpret_cast<ReturnValue (*)(BOOST_PP_ENUM_PARAMS(N, Param))> \
-      (get_function(handle_, name.c_str())); \
-}
+#include <boost/preprocessor/iteration/iterate.hpp>
 
+namespace boost { namespace extensions {
 
 class shared_library
 {
@@ -39,10 +32,10 @@
   shared_library(const std::string& location, bool auto_close = false)
   :location_(location), handle_(0), auto_close_(auto_close) {
   }
-
-BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_EXTENSION_MAX_FUNCTOR_PARAMS), \
-                BOOST_EXTENSION_SHARED_LIBRARY_GET_FUNCTION, _)
-
+#define BOOST_PP_ITERATION_LIMITS (0, \
+    BOOST_PP_INC(BOOST_REFLECTION_MAX_FUNCTOR_PARAMS) - 1)
+#define BOOST_PP_FILENAME_1 <boost/extension/impl/shared_library.hpp>
+#include BOOST_PP_ITERATE()
 protected:
   std::string location_;
   library_handle handle_;