Boost logo

Boost-Commit :

From: stipe_at_[hidden]
Date: 2008-04-01 14:30:04


Author: srajko
Date: 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
New Revision: 43990
URL: http://svn.boost.org/trac/boost/changeset/43990

Log:
committing uncommitted changes from last year
Text files modified:
   sandbox/rpc/boost/detail/arity.hpp | 58 +++++++++++++++++++++++++++++++
   sandbox/rpc/boost/detail/arity_epilogue.hpp | 27 --------------
   sandbox/rpc/boost/detail/arity_prologue.hpp | 74 ----------------------------------------
   sandbox/rpc/boost/rpc/call.hpp | 1
   sandbox/rpc/boost/rpc/detail/call_template.hpp | 6 +-
   sandbox/rpc/boost/rpc/detail/handler_template.hpp | 4 +-
   sandbox/rpc/boost/rpc/detail/marshaled_template.hpp | 8 ++--
   sandbox/rpc/boost/rpc/detail/serialize_template.hpp | 5 +-
   sandbox/rpc/boost/rpc/marshaled.hpp | 1
   sandbox/rpc/boost/rpc/serialize.hpp | 56 ++++++++++++++++++++++++++++--
   sandbox/rpc/libs/rpc/example/rpc_example.cpp | 4 +
   sandbox/rpc/libs/rpc/vc8ide/example.vcproj | 4 +-
   sandbox/rpc/libs/rpc/vc8ide/rpc.sln | 30 ++++++---------
   sandbox/rpc/libs/rpc/vc8ide/rpc.vcproj | 8 ++--
   sandbox/rpc/libs/rpc/vc8ide/test.vcproj | 4 +-
   15 files changed, 147 insertions(+), 143 deletions(-)

Modified: sandbox/rpc/boost/detail/arity.hpp
==============================================================================
--- sandbox/rpc/boost/detail/arity.hpp (original)
+++ sandbox/rpc/boost/detail/arity.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -6,5 +6,63 @@
 #include <boost/preprocessor/repetition/enum.hpp>
 #include <boost/type_traits/function_traits.hpp>
 #include <boost/detail/storable.hpp>
+#include <boost/preprocessor/tuple/elem.hpp>
+#include "mrepeat.hpp"
+
+// Number of arguments
+#define BOOST_ARITY_NUM_ARGS BOOST_PP_ITERATION()
+#define BOOST_ARITY_NUM_ARGS_SHIFTED BOOST_PP_INC(BOOST_ARITY_NUM_ARGS)
+// deprecated form
+#define BOOST_ARITY_NUM_ARGS_INC BOOST_PP_INC(BOOST_ARITY_NUM_ARGS)
+
+// helper macros
+// Concatenate Prefix, Insertion, and Suffix
+#define BOOST_ARITY_INSERT(P,I,S) BOOST_PP_CAT(P,BOOST_PP_CAT(I,S))
+#define BOOST_ARITY_COMMA BOOST_PP_IF(BOOST_ARITY_NUM_ARGS,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
+#define BOOST_ARITY_COLON BOOST_PP_IF(BOOST_ARITY_NUM_ARGS,:,BOOST_PP_EMPTY())
+
+// for a variable/argument
+// BOOST_ARITY_VAR_[name]_NAME(n) - name of the n^th variable
+#define BOOST_ARITY_aN_NAME(z,n,data) BOOST_PP_CAT(a,BOOST_PP_INC(n))
+#define BOOST_ARITY_argN_type_NAME(z,n,data) BOOST_ARITY_INSERT(arg,BOOST_PP_INC(n),_type)
+
+#define BOOST_ARITY_function_traits_argN_type_TYPENAME(z,n,signature) \
+ typename boost::function_traits<signature>::BOOST_ARITY_argN_type_NAME(z,n,BOOST_PP_EMPTY())
+
+// repetition mechanisms
+#define BOOST_ARITY_REPEAT(macro,data) BOOST_PP_REPEAT(BOOST_ARITY_NUM_ARGS,macro,data)
+#define BOOST_ARITY_ENUM(macro,data) BOOST_PP_ENUM(BOOST_ARITY_NUM_ARGS,macro,data)
+#define BOOST_ARITY_ENUM_TRAILING(macro,data) BOOST_PP_ENUM_TRAILING(BOOST_ARITY_NUM_ARGS,macro,data)
+
+// argI_type definitions
+#define BOOST_ARITY_ARG_TYPE_NAME(I) BOOST_ARITY_INSERT(arg,BOOST_PP_INC(I),_type)
+// argI_storable_type definition
+#define BOOST_ARITY_ARG_STORABLE_NAME(I) BOOST_ARITY_INSERT(arg,BOOST_PP_INC(I),_storable_type)
+
+#define BOOST_ARITY_TYPE(z,I,signature) \
+ typedef typename boost::function_traits<signature>::BOOST_ARITY_ARG_TYPE_NAME(I) \
+ BOOST_ARITY_ARG_TYPE_NAME(I);
+
+
+#define BOOST_ARITY_ENUM_TRAILING_MAM(m1, a2, m3) \
+ BOOST_ARITY_ENUM_TRAILING(BOOST_ARITY_MAM_MACRO, (m1, a2, m3))
+
+#define BOOST_ARITY_CMAMC(c1, m2, a3, m4, c5) \
+ BOOST_ARITY_REPEAT(BOOST_ARITY_CMAMC_MACRO, (c1, m2, a3, m4, c5))
+
+#define BOOST_ARITY_TYPEDEF_MACRO(z, n, m1_a1_m2_a2) \
+ typedef BOOST_ARITY_MAMA_MACRO(z, n, m1_a1_m2_a2);
+
+#define BOOST_ARITY_TYPEDEF(oldtype,newtype) \
+ BOOST_ARITY_REPEAT(BOOST_ARITY_TYPEDEF_MACRO, (oldtype, BOOST_PP_EMPTY(), newtype, BOOST_PP_EMPTY()))
+
+#define BOOST_ARITY_CMAMA(c1, m2, a3, m4, a5) \
+ BOOST_ARITY_REPEAT(BOOST_ARITY_CMAMA_MACRO, (c1, m2, a3, m4, a5))
+
+#define BOOST_ARITY_MMAM(m1, m2, a3, m4) \
+ BOOST_ARITY_REPEAT(BOOST_ARITY_MMAM_MACRO, (m1, m2, a3, m4))
+
+#define BOOST_ARITY_CMC(c1, m, c2) \
+ BOOST_ARITY_REPEAT(BOOST_ARITY_CMC_MACRO, (c1, m, c2))
 
 #endif
\ No newline at end of file

Modified: sandbox/rpc/boost/detail/arity_epilogue.hpp
==============================================================================
--- sandbox/rpc/boost/detail/arity_epilogue.hpp (original)
+++ sandbox/rpc/boost/detail/arity_epilogue.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -1,27 +0,0 @@
-#undef BOOST_ARITY_NUM_ARGS
-#undef BOOST_ARITY_NUM_ARGS_INC
-
-#undef BOOST_ARITY_INSERT
-
-#undef BOOST_ARITY_ARG_TYPE_NAME
-#undef BOOST_ARITY_ARG_STORABLE_NAME
-
-#undef BOOST_ARITY_TYPE
-#undef BOOST_ARITY_TYPES
-
-#undef BOOST_ARITY_STORABLE_TYPE
-#undef BOOST_ARITY_STORABLE_TYPES
-
-#undef BOOST_ARITY_STORABLE
-#undef BOOST_ARITY_STORABLES
-
-#undef BOOST_ARITY_ON_STORABLE
-#undef BOOST_ARITY_ON_STORABLES
-
-#undef BOOST_ARITY_TYPE_PARM
-#undef BOOST_ARITY_TYPE_PARMS
-
-#undef BOOST_ARITY_ON_PARM
-#undef BOOST_ARITY_ON_PARMS
-
-#undef BOOST_ARITY_COMMA
\ No newline at end of file

Modified: sandbox/rpc/boost/detail/arity_prologue.hpp
==============================================================================
--- sandbox/rpc/boost/detail/arity_prologue.hpp (original)
+++ sandbox/rpc/boost/detail/arity_prologue.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -1,76 +1,2 @@
 // Macros defined:
-// everitying intended to work with _SHIFTED has _SHIFTED as suffix
 
-// Number of arguments
-#define BOOST_ARITY_NUM_ARGS BOOST_PP_ITERATION()
-#define BOOST_ARITY_NUM_ARGS_SHIFTED BOOST_PP_INC(BOOST_ARITY_NUM_ARGS)
-// deprecated form
-#define BOOST_ARITY_NUM_ARGS_INC BOOST_PP_INC(BOOST_ARITY_NUM_ARGS)
-
-// helper macros
-// Concatenate Prefix, Insertion, and Suffix
-#define BOOST_ARITY_INSERT(P,I,S) BOOST_PP_CAT(P,BOOST_PP_CAT(I,S))
-#define BOOST_ARITY_COMMA BOOST_PP_IF(BOOST_ARITY_NUM_ARGS,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
-#define BOOST_ARITY_COLON BOOST_PP_IF(BOOST_ARITY_NUM_ARGS,:,BOOST_PP_EMPTY())
-
-// for a variable/argument
-// BOOST_ARITY_VAR_[name]_NAME(n) - name of the n^th variable
-#define BOOST_ARITY_VAR_aN_NAME(n) BOOST_PP_CAT(a,BOOST_PP_INC(n))
-
-// for a type
-// BOOST_ARITY_TYPE_[name]_NAME(n) - name of the n^th type
-// BOOST_ARITY_TYPE_[name]_TYPEDEF(z,n,newtype)
-// - expands to typedef BOOST_ARITY_TYPE_[name]_NAME(n) newtype(n);
-// BOOST_ARITY_TYPE_[name]_VARIABLE(z,n,variable)
-// - expands to BOOST_ARITY_TYPE_[name]_NAME(n) variable(n);
-// BOOST_ARITY_TYPE_[name]_ARGUMENT(z,n,variable)
-#define BOOST_ARITY_TYPE_argN_type_NAME(z,n,data) BOOST_ARITY_INSERT(arg,BOOST_PP_INC(I),_type)
-#define BOOST_ARITY_TYPE_argN_type_TYPEDEF(z,n,newtype) \
- typedef BOOST_ARITY_TYPE_argN_type_TYPEDEF(n) newtype(n);
-#define BOOST_ARITY_TYPE_argN_type_VARIABLE(z,n,variable) \
- BOOST_ARITY_TYPE_argN_type_NAME(n) variable(n);
-#define BOOST_ARITY_TYPE_argN_type_ARGUMENT(z,n,argument) \
- BOOST_ARITY_TYPE_argN_type_NAME(n) variable(n)
-
-// repetition mechanisms
-#define BOOST_ARITY_REPEAT(macro,data) BOOST_PP_REPEAT(BOOST_ARITY_NUM_ARGS,macro,data)
-#define BOOST_ARITY_ENUM(macro,data) BOOST_PP_ENUM(BOOST_ARITY_NUM_ARGS,macro,data)
-#define BOOST_ARITY_ENUM_TRAILING(macro,data) BOOST_PP_ENUM_TRAILING(BOOST_ARITY_NUM_ARGS,macro,data)
-
-// argI_type definitions
-#define BOOST_ARITY_ARG_TYPE_NAME(I) BOOST_ARITY_INSERT(arg,BOOST_PP_INC(I),_type)
-// argI_storable_type definition
-#define BOOST_ARITY_ARG_STORABLE_NAME(I) BOOST_ARITY_INSERT(arg,BOOST_PP_INC(I),_storable_type)
-
-#define BOOST_ARITY_TYPE(z,I,signature) \
- typedef typename boost::function_traits<signature>::BOOST_ARITY_ARG_TYPE_NAME(I) \
- BOOST_ARITY_ARG_TYPE_NAME(I);
-#define BOOST_ARITY_TYPES(signature) \
- BOOST_PP_REPEAT(BOOST_ARITY_NUM_ARGS,BOOST_ARITY_TYPE,signature)
-
-#define BOOST_ARITY_TYPEDEF(oldtype,newtype) \
- BOOST_PP_REPEAT(BOOST_ARITY_NUM_ARGS,
-
-#define BOOST_ARITY_STORABLE_TYPE(z,I,signature) \
- typedef typename boost::detail::storable<typename boost::function_traits<signature>::BOOST_ARITY_ARG_TYPE_NAME(I)>::type \
- BOOST_ARITY_ARG_STORABLE_NAME(I);
-#define BOOST_ARITY_STORABLE_TYPES(signature) \
- BOOST_PP_REPEAT(BOOST_ARITY_NUM_ARGS,BOOST_ARITY_STORABLE_TYPE,signature)
-
-#define BOOST_ARITY_STORABLE(z,n,text) arg##n##_storable_type arg_storable##n;
-#define BOOST_ARITY_STORABLES(n) BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),BOOST_ARITY_STORABLE,_)
-
-#define BOOST_ARITY_STORABLE_RESULT_TYPE typename boost::detail::storable< \
- typename boost::function_traits<Signature>::result_type>::type
-#define BOOST_ARITY_ON_STORABLE(z,n,prefix) prefix arg_storable##n;
-#define BOOST_ARITY_ON_STORABLES(n,prefix) BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),BOOST_ARITY_ON_STORABLE,prefix)
-
-#define BOOST_ARITY_TYPE_PARM(J,I,D) BOOST_ARITY_ARG_TYPE_NAME(I) BOOST_PP_CAT(a,BOOST_PP_INC(I))
-#define BOOST_ARITY_TYPE_PARMS BOOST_PP_ENUM(BOOST_ARITY_NUM_ARGS,BOOST_ARITY_TYPE_PARM,BOOST_PP_EMPTY)
-
-#define BOOST_ARITY_TYPE_PARM_LONG(J,I,signature) \
- typename boost::function_traits<signature>::BOOST_ARITY_ARG_TYPE_NAME(I) BOOST_PP_CAT(a,BOOST_PP_INC(I))
-#define BOOST_ARITY_TYPE_PARMS_LONG(signature) BOOST_PP_ENUM(BOOST_ARITY_NUM_ARGS,BOOST_ARITY_TYPE_PARM_LONG,signature)
-
-#define BOOST_ARITY_ON_PARM(z,n,prefix) prefix a##n;
-#define BOOST_ARITY_ON_PARMS(n,prefix) BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),BOOST_ARITY_ON_PARM,prefix)

Modified: sandbox/rpc/boost/rpc/call.hpp
==============================================================================
--- sandbox/rpc/boost/rpc/call.hpp (original)
+++ sandbox/rpc/boost/rpc/call.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -11,6 +11,7 @@
 #include <boost/call_traits.hpp>
 #include <boost/rpc/detail/archive_out_param.hpp>
 #include <boost/rpc/call_options.hpp>
+#include <boost/detail/storable_arity.hpp>
 
 namespace boost {
 namespace rpc {

Modified: sandbox/rpc/boost/rpc/detail/call_template.hpp
==============================================================================
--- sandbox/rpc/boost/rpc/detail/call_template.hpp (original)
+++ sandbox/rpc/boost/rpc/detail/call_template.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -23,8 +23,8 @@
     virtual void result_string(const std::string &str, const call_options &options);
 };
 #else
- BOOST_ARITY_STORABLE_TYPES(Signature)
- BOOST_ARITY_TYPES(Signature)
+ BOOST_ARITY_TYPEDEF(BOOST_ARITY_storable_TYPENAME, BOOST_ARITY_argN_storable_type_NAME)
+ BOOST_ARITY_CMAMC(typedef, BOOST_ARITY_function_traits_argN_type_TYPENAME, Signature, BOOST_ARITY_argN_type_NAME, ;)
 
     BOOST_PP_REPEAT_FROM_TO(1,BOOST_ARITY_NUM_ARGS_INC,BOOST_RPC_ARGUMENT,_)
 
@@ -34,7 +34,7 @@
     BOOST_PP_IF(BOOST_ARITY_NUM_ARGS,:,BOOST_PP_EMPTY())
     BOOST_PP_ENUM_SHIFTED(BOOST_ARITY_NUM_ARGS_INC,BOOST_RPC_INIT_ARGUMENT,_)
     {
- params = detail::serialize<Id, ArchivePair,Signature>
+ params = detail::serialize<Id, ArchivePair,Signature>()
             (id BOOST_ARITY_COMMA BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_ARITY_NUM_ARGS_INC,a));
     }
     std::auto_ptr<handler_base> spawn_handler()

Modified: sandbox/rpc/boost/rpc/detail/handler_template.hpp
==============================================================================
--- sandbox/rpc/boost/rpc/detail/handler_template.hpp (original)
+++ sandbox/rpc/boost/rpc/detail/handler_template.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -35,8 +35,8 @@
     typedef async_returning_handler<typename boost::function_traits<Signature>::result_type> base_type;
     typedef typename base_type::ptr ptr;
     
- BOOST_ARITY_STORABLE_TYPES(Signature)
- BOOST_ARITY_TYPES(Signature)
+ BOOST_ARITY_TYPEDEF(BOOST_ARITY_storable_TYPENAME, BOOST_ARITY_argN_storable_type_NAME)
+ BOOST_ARITY_CMAMC(typedef, BOOST_ARITY_function_traits_argN_type_TYPENAME, Signature, BOOST_ARITY_argN_type_NAME, ;)
 
     BOOST_ARITY_REPEAT(BOOST_RPC_TYPE_PARGUMENT_VAR,BOOST_RPC_VAR_arg_storableN_NAME)
 public:

Modified: sandbox/rpc/boost/rpc/detail/marshaled_template.hpp
==============================================================================
--- sandbox/rpc/boost/rpc/detail/marshaled_template.hpp (original)
+++ sandbox/rpc/boost/rpc/detail/marshaled_template.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -3,8 +3,8 @@
     BOOST_ARITY_NUM_ARGS, BOOST_ARITY_ENABLE_DISABLE_VOID>
     : public function<ArchivePair>
 {
- BOOST_ARITY_STORABLE_TYPES(Signature)
- BOOST_ARITY_TYPES(Signature)
+ BOOST_ARITY_TYPEDEF(BOOST_ARITY_storable_TYPENAME, BOOST_ARITY_argN_storable_type_NAME)
+ BOOST_ARITY_CMAMC(typedef, BOOST_ARITY_function_traits_argN_type_TYPENAME, Signature, BOOST_ARITY_argN_type_NAME, ;)
 public:
     marshaled_impl(const boost::function<Signature> &f) : func(f)
     {}
@@ -12,8 +12,8 @@
         typename ArchivePair::iarchive_type &params,
         typename ArchivePair::oarchive_type *results = 0)
     {
- BOOST_ARITY_STORABLES(BOOST_ARITY_NUM_ARGS)
- BOOST_ARITY_ON_STORABLES(BOOST_ARITY_NUM_ARGS,params & )
+ BOOST_ARITY_MREPEAT(MMC, (BOOST_ARITY_argN_storable_type_NAME, BOOST_ARITY_arg_storableN_NAME, ;))
+ BOOST_ARITY_MREPEAT(CMC, (params &, BOOST_ARITY_arg_storableN_NAME, ;))
         
 #ifdef BOOST_ARITY_NON_VOID_RETURN_TYPE
         if (options.marshal_option >= boost::rpc::call_options::return_only)

Modified: sandbox/rpc/boost/rpc/detail/serialize_template.hpp
==============================================================================
--- sandbox/rpc/boost/rpc/detail/serialize_template.hpp (original)
+++ sandbox/rpc/boost/rpc/detail/serialize_template.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -1,10 +1,11 @@
 template<typename Id, typename ArchivePair, typename Signature>
 typename boost::enable_if_c<boost::function_traits<Signature>::arity==BOOST_ARITY_NUM_ARGS, std::string>::type
-serialize(typename boost::call_traits<Id>::param_type id BOOST_ARITY_COMMA BOOST_ARITY_TYPE_PARMS_LONG(Signature))
+serialize(typename boost::call_traits<Id>::param_type id
+ BOOST_ARITY_ENUM_TRAILING_MAM(BOOST_ARITY_function_traits_argN_type_TYPENAME, Signature, BOOST_ARITY_aN_NAME))
 {
     std::stringstream stream(std::ios::in | std::ios::out | std::ios::binary);
     typename ArchivePair::oarchive_type archive(stream);
     archive & id;
- BOOST_ARITY_ON_PARMS(BOOST_ARITY_NUM_ARGS,archive & )
+ BOOST_ARITY_CMC(archive &, BOOST_ARITY_aN_NAME, ;)
     return stream.str();
 }

Modified: sandbox/rpc/boost/rpc/marshaled.hpp
==============================================================================
--- sandbox/rpc/boost/rpc/marshaled.hpp (original)
+++ sandbox/rpc/boost/rpc/marshaled.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -7,6 +7,7 @@
 #include <boost/rpc/function.hpp>
 #include <boost/utility/enable_if.hpp>
 #include <boost/rpc/detail/archive_out_param.hpp>
+#include <boost/detail/storable_arity.hpp>
 
 namespace boost {
 namespace rpc {

Modified: sandbox/rpc/boost/rpc/serialize.hpp
==============================================================================
--- sandbox/rpc/boost/rpc/serialize.hpp (original)
+++ sandbox/rpc/boost/rpc/serialize.hpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -1,6 +1,16 @@
 #ifndef BOOST_RPC_SERIALIZE
 #define BOOST_RPC_SERIALIZE
 
+#include <boost/fusion/functional/adapter/unfused_typed.hpp>
+#include <boost/fusion/functional/adapter/fused.hpp>
+#include <boost/fusion/sequence/generation/make_vector.hpp>
+#include <boost/fusion/sequence/generation/vector_tie.hpp>
+#include <boost/fusion/algorithm/iteration/for_each.hpp>
+#include <boost/fusion/algorithm/transformation/zip.hpp>
+#include <boost/function_types/parameter_types.hpp>
+#include <boost/fusion/sequence/adapted/mpl.hpp>
+#include <boost/mpl/push_front.hpp>
+
 #include <boost/rpc/config.hpp>
 #include <boost/detail/arity.hpp>
 #include <boost/call_traits.hpp>
@@ -11,10 +21,48 @@
 namespace rpc {
 namespace detail {
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0,BOOST_RPC_MAX_ARGS,<boost/rpc/detail/serialize_template.hpp>))
-#include <boost/detail/arity_iterate.hpp>
-#undef BOOST_PP_ITERATION_PARAMS_1
+template<typename ArchivePair>
+struct archiver
+{
+ typename ArchivePair::oarchive_type &archive;
+
+ archiver(typename ArchivePair::oarchive_type &archive) : archive(archive) {}
+
+ template <typename T>
+ void operator()(T & val) const
+ {
+ archive & val;
+ }
+};
+
+template<typename ArchivePair, int Args>
+class fused_serialize
+{
+public:
+ // Don't allow less than Args arguments
+ template <class Seq>
+ struct result
+ : public boost::enable_if_c<Args==boost::fusion::result_of::size<Seq>::type::value, std::string>
+ {};
+
+ template <class Seq>
+ std::string operator()(Seq const & s) const
+ {
+ std::stringstream stream(std::ios::in | std::ios::out | std::ios::binary);
+ typename ArchivePair::oarchive_type archive(stream);
+ using namespace boost::fusion;
+ for_each(s, archiver<ArchivePair>(archive) );
+ return stream.str();
+ }
+};
+
+template<typename Id, typename ArchivePair, typename Signature>
+struct serialize
+ : public boost::fusion::unfused_typed<fused_serialize<ArchivePair,
+ boost::function_types::function_arity<Signature>::value + 1>,
+ typename boost::mpl::push_front<typename boost::function_types::parameter_types<Signature>, Id>::type>
+{};
+
 
 } // namespace detail
 } // namespace rpc

Modified: sandbox/rpc/libs/rpc/example/rpc_example.cpp
==============================================================================
--- sandbox/rpc/libs/rpc/example/rpc_example.cpp (original)
+++ sandbox/rpc/libs/rpc/example/rpc_example.cpp 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -4,6 +4,7 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 
 //[ rpc_example
+
 #include <boost/test/unit_test.hpp>
 using boost::unit_test::test_suite;
 
@@ -14,6 +15,7 @@
 #include <boost/rpc/simple_acceptor.hpp>
 #include <boost/rpc/simple_connector.hpp>
 
+
 void nothing()
 {
 }
@@ -122,4 +124,4 @@
     return test;
 }
 
-//]
\ No newline at end of file
+//]

Modified: sandbox/rpc/libs/rpc/vc8ide/example.vcproj
==============================================================================
--- sandbox/rpc/libs/rpc/vc8ide/example.vcproj (original)
+++ sandbox/rpc/libs/rpc/vc8ide/example.vcproj 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -25,7 +25,7 @@
                                 Name="VCNMakeTool"
                                 BuildCommandLine="cd ../example&#x0D;&#x0A;bjam --v2 $(ConfigurationName)"
                                 ReBuildCommandLine="cd ../example&#x0D;&#x0A;bjam --v2 -a"
- CleanCommandLine="cd ../example&#x0D;&#x0A;bjam --v2 --clean"
+ CleanCommandLine="cd ../example&#x0D;&#x0A;bjam --v2 --clean $(ConfigurationName)"
                                 Output="$(OutDir)\rpc_example.exe"
                                 PreprocessorDefinitions=""
                                 IncludeSearchPath="../example"
@@ -45,7 +45,7 @@
                                 Name="VCNMakeTool"
                                 BuildCommandLine="cd ../example&#x0D;&#x0A;bjam --v2 $(ConfigurationName)"
                                 ReBuildCommandLine=""
- CleanCommandLine=""
+ CleanCommandLine="cd ../example&#x0D;&#x0A;bjam --v2 --clean $(ConfigurationName)"
                                 Output="$(OutDir)\rpc_example.exe"
                                 PreprocessorDefinitions=""
                                 IncludeSearchPath=""

Modified: sandbox/rpc/libs/rpc/vc8ide/rpc.sln
==============================================================================
--- sandbox/rpc/libs/rpc/vc8ide/rpc.sln (original)
+++ sandbox/rpc/libs/rpc/vc8ide/rpc.sln 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -1,42 +1,36 @@
 ï»¿
 Microsoft Visual Studio Solution File, Format Version 9.00
 # Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_rpc", "test_rpc.vcproj", "{DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}"
- ProjectSection(ProjectDependencies) = postProject
- {31065083-9F96-4019-A0BC-05464C505A46} = {31065083-9F96-4019-A0BC-05464C505A46}
- EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rpc", "rpc.vcproj", "{31065083-9F96-4019-A0BC-05464C505A46}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rpc_example", "rpc_example.vcproj", "{27D2C191-D1C2-49B3-870B-010E2D8430A4}"
- ProjectSection(ProjectDependencies) = postProject
- {31065083-9F96-4019-A0BC-05464C505A46} = {31065083-9F96-4019-A0BC-05464C505A46}
- EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc", "doc.vcproj", "{3D5558B4-0965-4577-A217-A3E4A6EC1349}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example", "example.vcproj", "{27D2C191-D1C2-49B3-870B-010E2D8430A4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcproj", "{DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}"
+EndProject
 Global
         GlobalSection(SolutionConfigurationPlatforms) = preSolution
                 debug|Win32 = debug|Win32
                 release|Win32 = release|Win32
         EndGlobalSection
         GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}.debug|Win32.ActiveCfg = debug|Win32
- {DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}.debug|Win32.Build.0 = debug|Win32
- {DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}.release|Win32.ActiveCfg = release|Win32
- {DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}.release|Win32.Build.0 = release|Win32
                 {31065083-9F96-4019-A0BC-05464C505A46}.debug|Win32.ActiveCfg = debug|Win32
                 {31065083-9F96-4019-A0BC-05464C505A46}.debug|Win32.Build.0 = debug|Win32
                 {31065083-9F96-4019-A0BC-05464C505A46}.release|Win32.ActiveCfg = release|Win32
                 {31065083-9F96-4019-A0BC-05464C505A46}.release|Win32.Build.0 = release|Win32
- {27D2C191-D1C2-49B3-870B-010E2D8430A4}.debug|Win32.ActiveCfg = debug|Win32
- {27D2C191-D1C2-49B3-870B-010E2D8430A4}.debug|Win32.Build.0 = debug|Win32
- {27D2C191-D1C2-49B3-870B-010E2D8430A4}.release|Win32.ActiveCfg = release|Win32
- {27D2C191-D1C2-49B3-870B-010E2D8430A4}.release|Win32.Build.0 = release|Win32
                 {3D5558B4-0965-4577-A217-A3E4A6EC1349}.debug|Win32.ActiveCfg = release|Win32
                 {3D5558B4-0965-4577-A217-A3E4A6EC1349}.debug|Win32.Build.0 = release|Win32
                 {3D5558B4-0965-4577-A217-A3E4A6EC1349}.release|Win32.ActiveCfg = release|Win32
                 {3D5558B4-0965-4577-A217-A3E4A6EC1349}.release|Win32.Build.0 = release|Win32
+ {27D2C191-D1C2-49B3-870B-010E2D8430A4}.debug|Win32.ActiveCfg = debug|Win32
+ {27D2C191-D1C2-49B3-870B-010E2D8430A4}.debug|Win32.Build.0 = debug|Win32
+ {27D2C191-D1C2-49B3-870B-010E2D8430A4}.release|Win32.ActiveCfg = release|Win32
+ {27D2C191-D1C2-49B3-870B-010E2D8430A4}.release|Win32.Build.0 = release|Win32
+ {DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}.debug|Win32.ActiveCfg = debug|Win32
+ {DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}.debug|Win32.Build.0 = debug|Win32
+ {DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}.release|Win32.ActiveCfg = release|Win32
+ {DC0901FF-C80A-4C97-8D50-7D1C66B5AB95}.release|Win32.Build.0 = release|Win32
         EndGlobalSection
         GlobalSection(SolutionProperties) = preSolution
                 HideSolutionNode = FALSE

Modified: sandbox/rpc/libs/rpc/vc8ide/rpc.vcproj
==============================================================================
--- sandbox/rpc/libs/rpc/vc8ide/rpc.vcproj (original)
+++ sandbox/rpc/libs/rpc/vc8ide/rpc.vcproj 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -121,6 +121,10 @@
                                 RelativePath="..\..\..\boost\detail\storable.hpp"
>
                         </File>
+ <File
+ RelativePath="..\..\..\boost\detail\storable_arity.hpp"
+ >
+ </File>
                 </Filter>
                 <Filter
                         Name="rpc"
@@ -249,10 +253,6 @@
>
                                 </File>
                                 <File
- RelativePath="..\..\..\boost\rpc\detail\serialize_template.hpp"
- >
- </File>
- <File
                                         RelativePath="..\..\..\boost\rpc\detail\threaded_service.hpp"
>
                                 </File>

Modified: sandbox/rpc/libs/rpc/vc8ide/test.vcproj
==============================================================================
--- sandbox/rpc/libs/rpc/vc8ide/test.vcproj (original)
+++ sandbox/rpc/libs/rpc/vc8ide/test.vcproj 2008-04-01 14:30:03 EDT (Tue, 01 Apr 2008)
@@ -17,7 +17,7 @@
         <Configurations>
                 <Configuration
                         Name="debug|Win32"
- OutputDirectory="..\..\..\bin.v2\libs\rpc\test\msvc\$(ConfigurationName)\threading-multi"
+ OutputDirectory="..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
                         IntermediateDirectory="$(OutDir)"
                         ConfigurationType="0"
>
@@ -37,7 +37,7 @@
                 </Configuration>
                 <Configuration
                         Name="release|Win32"
- OutputDirectory="..\..\..\bin.v2\libs\rpc\test\msvc\$(ConfigurationName)\threading-multi"
+ OutputDirectory="..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
                         IntermediateDirectory="$(OutDir)"
                         ConfigurationType="0"
>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk