$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: doomster_at_[hidden]
Date: 2008-04-30 12:13:54
Author: eckhardt
Date: 2008-04-30 12:13:53 EDT (Wed, 30 Apr 2008)
New Revision: 44935
URL: http://svn.boost.org/trac/boost/changeset/44935
Log:
- Add include file to compile the signals library in-place.
- Add example for the in-place compiled signals library.
Added:
   sandbox/compile-in-place/Boost_1_35_0/boost/signals/compile_in_place.cpp   (contents, props changed)
   sandbox/compile-in-place/test-signals.cpp   (contents, props changed)
Added: sandbox/compile-in-place/Boost_1_35_0/boost/signals/compile_in_place.cpp
==============================================================================
--- (empty file)
+++ sandbox/compile-in-place/Boost_1_35_0/boost/signals/compile_in_place.cpp	2008-04-30 12:13:53 EDT (Wed, 30 Apr 2008)
@@ -0,0 +1,23 @@
+/* compile in-place support for Boost.System
+
+Copyright 2008 Ulrich Eckhardt
+
+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)
+*/
+// $Id$
+
+// This file must not be included more than once. Note that this 'once' is
+// not per translation unit but per binary! Never include this in a header!
+#ifdef BOOST_SIGNALS_COMPILE_IN_PLACE_CPP_INCLUDED
+#  error "this file should only be included once per binary"
+#endif
+
+#define BOOST_SIGNALS_COMPILE_IN_PLACE_CPP_INCLUDED
+
+
+#include <boost/../libs/signals/src/connection.cpp>
+#include <boost/../libs/signals/src/named_slot_map.cpp>
+#include <boost/../libs/signals/src/signal_base.cpp>
+#include <boost/../libs/signals/src/slot.cpp>
+#include <boost/../libs/signals/src/trackable.cpp>
Added: sandbox/compile-in-place/test-signals.cpp
==============================================================================
--- (empty file)
+++ sandbox/compile-in-place/test-signals.cpp	2008-04-30 12:13:53 EDT (Wed, 30 Apr 2008)
@@ -0,0 +1,37 @@
+/* example to demonstrate compile-in-place for the signals lib
+
+Compile with
+  $CXX -I path/to/boost_X_YY_Z test-signals.cpp
+
+Notes:
+
+$Id$
+*/
+
+#include <iostream>
+#include <ostream>
+#include <boost/signal.hpp>
+#include <boost/signals/compile_in_place.cpp>
+
+struct HelloWorld
+{
+    void operator()() const 
+    {
+        std::cout << "Hello, World!" << std::endl;
+    }
+};
+
+
+int main()
+{
+    // Signal with no arguments and a void return value
+    boost::signal<void ()> sig;
+
+    // Connect a HelloWorld slot
+    HelloWorld hello;
+    sig.connect(hello);
+
+    // Call all of the slots
+    sig();
+}
+