Boost logo

Boost-Commit :

From: stipe_at_[hidden]
Date: 2007-08-06 20:34:39


Author: srajko
Date: 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
New Revision: 38490
URL: http://svn.boost.org/trac/boost/changeset/38490

Log:
put signal docs under doc/signals, take out operators from boost::signals
Added:
   sandbox/SOC/2007/signals/libs/dataflow/doc/phoenix/
   sandbox/SOC/2007/signals/libs/dataflow/doc/phoenix/concepts.qbk (contents, props changed)
   sandbox/SOC/2007/signals/libs/dataflow/doc/signals/
   sandbox/SOC/2007/signals/libs/dataflow/doc/signals/components.qbk
      - copied, changed from r38429, /sandbox/SOC/2007/signals/libs/dataflow/doc/components.qbk
   sandbox/SOC/2007/signals/libs/dataflow/doc/signals/concepts.qbk (contents, props changed)
   sandbox/SOC/2007/signals/libs/dataflow/doc/signals/connections.qbk
      - copied unchanged from r38429, /sandbox/SOC/2007/signals/libs/dataflow/doc/connections.qbk
   sandbox/SOC/2007/signals/libs/dataflow/doc/signals/introduction.qbk (contents, props changed)
Removed:
   sandbox/SOC/2007/signals/libs/dataflow/doc/components.qbk
   sandbox/SOC/2007/signals/libs/dataflow/doc/connections.qbk
   sandbox/SOC/2007/signals/libs/dataflow/doc/dox/
   sandbox/SOC/2007/signals/libs/dataflow/doc/support.qbk
Text files modified:
   sandbox/SOC/2007/signals/boost/dataflow/signal/connection.hpp | 7 --
   sandbox/SOC/2007/signals/libs/dataflow/build/xcodeide/signal_network.xcodeproj/project.pbxproj | 139 +--------------------------------------
   sandbox/SOC/2007/signals/libs/dataflow/doc/Jamfile.v2 | 5 -
   sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow.qbk | 14 ++-
   sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow_table.xml | 9 +
   sandbox/SOC/2007/signals/libs/dataflow/doc/introduction.qbk | 47 +++++++++---
   sandbox/SOC/2007/signals/libs/dataflow/doc/signals.qbk | 4
   sandbox/SOC/2007/signals/libs/dataflow/doc/signals/components.qbk | 4
   sandbox/SOC/2007/signals/libs/dataflow/test/test_branching.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_chain.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_connections.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_disconnect.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_filter.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_function.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_junction.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_args.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_out.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_type.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_mutex.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_pull.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_same_type.cpp | 1
   sandbox/SOC/2007/signals/libs/dataflow/test/test_socket.cpp | 4 +
   sandbox/SOC/2007/signals/libs/dataflow/test/test_storage.cpp | 1
   23 files changed, 74 insertions(+), 173 deletions(-)

Modified: sandbox/SOC/2007/signals/boost/dataflow/signal/connection.hpp
==============================================================================
--- sandbox/SOC/2007/signals/boost/dataflow/signal/connection.hpp (original)
+++ sandbox/SOC/2007/signals/boost/dataflow/signal/connection.hpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -11,11 +11,4 @@
 #include <boost/dataflow/signal/connection/slot_selector.hpp>
 #include <boost/dataflow/signal/connection/slot_selector_map.hpp>
 
-namespace boost { namespace signals {
-
- using boost::dataflow::operators::operator>>=;
- using boost::dataflow::operators::operator|;
-
-} }
-
 #endif
\ No newline at end of file

Modified: sandbox/SOC/2007/signals/libs/dataflow/build/xcodeide/signal_network.xcodeproj/project.pbxproj
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/build/xcodeide/signal_network.xcodeproj/project.pbxproj (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/build/xcodeide/signal_network.xcodeproj/project.pbxproj 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -76,20 +76,6 @@
 /* End PBXAggregateTarget section */
 
 /* Begin PBXFileReference section */
- 080DD76D0C13912C00EEB53D /* chain.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = chain.hpp; sourceTree = "<group>"; };
- 080DD76E0C13912C00EEB53D /* counter.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = counter.hpp; sourceTree = "<group>"; };
- 080DD7750C13912C00EEB53D /* serialize_fusion_vector.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = serialize_fusion_vector.hpp; sourceTree = "<group>"; };
- 080DD7790C13912C00EEB53D /* unfused_inherited.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = unfused_inherited.hpp; sourceTree = "<group>"; };
- 080DD77A0C13912C00EEB53D /* unfused_typed_class.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = unfused_typed_class.hpp; sourceTree = "<group>"; };
- 080DD77B0C13912C00EEB53D /* filter.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = filter.hpp; sourceTree = "<group>"; };
- 080DD77C0C13912C00EEB53D /* function.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = function.hpp; sourceTree = "<group>"; };
- 080DD77D0C13912C00EEB53D /* junction.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = junction.hpp; sourceTree = "<group>"; };
- 080DD77E0C13912C00EEB53D /* mutex.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = mutex.hpp; sourceTree = "<group>"; };
- 080DD77F0C13912C00EEB53D /* selector.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = selector.hpp; sourceTree = "<group>"; };
- 080DD7800C13912C00EEB53D /* socket_receiver.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = socket_receiver.hpp; sourceTree = "<group>"; };
- 080DD7810C13912C00EEB53D /* socket_sender.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = socket_sender.hpp; sourceTree = "<group>"; };
- 080DD7820C13912C00EEB53D /* storage.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = storage.hpp; sourceTree = "<group>"; };
- 080DD7830C13912C00EEB53D /* timed_generator.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = timed_generator.hpp; sourceTree = "<group>"; };
                 082761BB0C6037740030E557 /* producer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = producer.hpp; sourceTree = "<group>"; };
                 082761BC0C6037940030E557 /* consumer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = consumer.hpp; sourceTree = "<group>"; };
                 082761BD0C60379F0030E557 /* connectable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = connectable.hpp; sourceTree = "<group>"; };
@@ -109,17 +95,12 @@
                 08C6759C0C13A03E00D85379 /* test_mutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = test_mutex.cpp; sourceTree = "<group>"; };
                 08C6759D0C13A03E00D85379 /* test_socket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = test_socket.cpp; sourceTree = "<group>"; };
                 08C6759E0C13A03E00D85379 /* test_storage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = test_storage.cpp; sourceTree = "<group>"; };
- 08C8F1470C3B22F200B3CE45 /* bind_object.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = bind_object.hpp; sourceTree = "<group>"; };
                 08C8F14F0C3B269B00B3CE45 /* test_bind_object.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_bind_object.cpp; sourceTree = "<group>"; };
                 08EBB2CB0C210CC9004BE220 /* test_pull.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_pull.cpp; sourceTree = "<group>"; };
                 08EBB3020C21105B004BE220 /* test_disconnect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_disconnect.cpp; sourceTree = "<group>"; };
                 08EBB3910C211C36004BE220 /* test_multi_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_multi_type.cpp; sourceTree = "<group>"; };
                 08EBB3BC0C211F23004BE220 /* test_same_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_same_type.cpp; sourceTree = "<group>"; };
                 08EBB3E00C21209B004BE220 /* test_multi_args.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_multi_args.cpp; sourceTree = "<group>"; };
- 08EC0DFE0C3C130A00CC8AE0 /* connection.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = connection.hpp; sourceTree = "<group>"; };
- 08EC0E640C3C215900CC8AE0 /* result_of_defined.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = result_of_defined.hpp; sourceTree = "<group>"; };
- 08EC84040C18DA8100820E53 /* connect.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = connect.hpp; sourceTree = "<group>"; };
- 08EF63F20C33320D0099D00A /* generic_template.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = generic_template.hpp; sourceTree = "<group>"; };
                 08EF9B220C5D506A00D4D206 /* applicator.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = applicator.hpp; sourceTree = "<group>"; };
                 08EF9B230C5D506A00D4D206 /* chain.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = chain.hpp; sourceTree = "<group>"; };
                 08EF9B240C5D506A00D4D206 /* conditional.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = conditional.hpp; sourceTree = "<group>"; };
@@ -151,12 +132,6 @@
                 08EF9B460C5D506A00D4D206 /* enable_if_defined.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = enable_if_defined.hpp; sourceTree = "<group>"; };
                 08EF9B470C5D506A00D4D206 /* unfused_typed_class.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = unfused_typed_class.hpp; sourceTree = "<group>"; };
                 08EF9B520C5D537F00D4D206 /* support.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = support.hpp; sourceTree = "<group>"; };
- 08EFC1EC0C30987700C730EC /* modifier.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = modifier.hpp; sourceTree = "<group>"; };
- 08EFEADE0C1C892A00097C80 /* instantiator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = instantiator.hpp; sourceTree = "<group>"; };
- 08EFEB970C1C983500097C80 /* applicator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = applicator.hpp; sourceTree = "<group>"; };
- 08EFEC040C1CAD0100097C80 /* conditional.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = conditional.hpp; sourceTree = "<group>"; };
- 08EFEC960C1CC6F200097C80 /* conditional_modifier.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = conditional_modifier.hpp; sourceTree = "<group>"; };
- 08EFECA40C1CCE8300097C80 /* storable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = storable.hpp; sourceTree = "<group>"; };
                 08EFED440C1CD55100097C80 /* timing_example.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timing_example.cpp; sourceTree = "<group>"; };
                 08F01F970C470EB700C0ED27 /* support.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = support.hpp; sourceTree = "<group>"; };
                 08F01FA30C47132000C0ED27 /* support.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = support.hpp; sourceTree = "<group>"; };
@@ -164,6 +139,7 @@
                 08F022C20C47556200C0ED27 /* group.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = group.hpp; sourceTree = "<group>"; };
                 08F022C70C47565600C0ED27 /* operators.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = operators.hpp; sourceTree = "<group>"; };
                 08F076F80C63C78C003D448D /* consumer_map.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = consumer_map.hpp; sourceTree = "<group>"; };
+ 08F077830C63F736003D448D /* components.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = components.qbk; sourceTree = "<group>"; };
                 08F082020C1D591000687E1B /* introduction.qbk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = introduction.qbk; sourceTree = "<group>"; };
                 08F082570C1DD53400687E1B /* components.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = components.qbk; sourceTree = "<group>"; };
                 08F0825A0C1DD58500687E1B /* connections.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = connections.qbk; sourceTree = "<group>"; };
@@ -177,26 +153,16 @@
                 08F230430C4C8D810027D364 /* static_function.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = static_function.hpp; sourceTree = "<group>"; };
                 08F348510C492B4B0096097F /* group.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = group.hpp; sourceTree = "<group>"; };
                 08F36DFB0C41375B00E2F9A1 /* dataflow_table.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = dataflow_table.xml; sourceTree = "<group>"; };
- 08F36EED0C416DEB00E2F9A1 /* support.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = support.qbk; sourceTree = "<group>"; };
- 08F3701D0C41968800E2F9A1 /* enable_if_defined.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = enable_if_defined.hpp; sourceTree = "<group>"; };
                 08F37EDF0C57A4A700AC7FB8 /* static_function_call.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = static_function_call.hpp; sourceTree = "<group>"; };
                 08F4FBB80C56AFDF00EB271A /* producer_wrapper.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = producer_wrapper.hpp; sourceTree = "<group>"; };
                 08F4FC170C56C96300EB271A /* producer_container.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = producer_container.hpp; sourceTree = "<group>"; };
                 08F585BE0C5A7ED70086F4F4 /* concepts.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = concepts.qbk; sourceTree = "<group>"; };
- 08F74F790C3A9E8200FD50BE /* slot_type.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = slot_type.hpp; sourceTree = "<group>"; };
- 08F74F7D0C3A9F6900FD50BE /* slot_selector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = slot_selector.hpp; sourceTree = "<group>"; };
- 08F74F820C3AA0FA00FD50BE /* operators.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = operators.hpp; sourceTree = "<group>"; };
- 08F74FB00C3AB06200FD50BE /* filter_base.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = filter_base.hpp; sourceTree = "<group>"; };
- 08F74FC10C3AB4E100FD50BE /* traits.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = traits.hpp; sourceTree = "<group>"; };
- 08F79CD00C3B50B300B6450B /* signal.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = signal.hpp; sourceTree = "<group>"; };
                 08F79CF00C3B58E700B6450B /* test_connect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_connect.cpp; sourceTree = "<group>"; };
- 08F79E140C3B779400B6450B /* slot_selector_map.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = slot_selector_map.hpp; sourceTree = "<group>"; };
                 08F803D30C21895700D8296D /* test_multi_out.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_multi_out.cpp; sourceTree = "<group>"; };
                 08F804AD0C219CC300D8296D /* test_filter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_filter.cpp; sourceTree = "<group>"; };
                 08F8A00B0C3C879C007637A9 /* test_result_of_defined.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_result_of_defined.cpp; sourceTree = "<group>"; };
                 08F9459A0C46A86E00E224E4 /* components.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = components.hpp; sourceTree = "<group>"; };
                 08F9462E0C46C2F000E224E4 /* fibonacci.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fibonacci.cpp; sourceTree = "<group>"; };
- 08FA69EE0C41DDFD00434913 /* replace_return_type.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = replace_return_type.hpp; sourceTree = "<group>"; };
                 08FA6A050C41E11800434913 /* rationale.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rationale.qbk; sourceTree = "<group>"; };
                 08FB7BEF0C6157D000BD4EC2 /* introduction.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = introduction.qbk; sourceTree = "<group>"; };
                 08FB7BFE0C61597000BD4EC2 /* signals.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = signals.qbk; sourceTree = "<group>"; };
@@ -204,9 +170,6 @@
                 08FC25DF0C45D18700F59CDD /* consumer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = consumer.hpp; sourceTree = "<group>"; };
                 08FC25FC0C45E77B00F59CDD /* producer_accumulator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = producer_accumulator.hpp; sourceTree = "<group>"; };
                 08FC26060C46049400F59CDD /* edit_distance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = edit_distance.cpp; sourceTree = "<group>"; };
- 08FD5DE80C1BA60700F00877 /* html_footer.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = html_footer.html; sourceTree = "<group>"; };
- 08FD5DE90C1BA60700F00877 /* html_header.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = html_header.html; sourceTree = "<group>"; };
- 08FD5DEA0C1BA60700F00877 /* signal_network.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = signal_network.hpp; sourceTree = "<group>"; };
                 08FD5E4D0C1BA60800F00877 /* Jamfile.v2 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Jamfile.v2; sourceTree = "<group>"; };
                 08FD5E4E0C1BA60800F00877 /* dataflow.qbk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = dataflow.qbk; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -219,31 +182,9 @@
                                 08FD5DE40C1BA60700F00877 /* doc */,
                                 08668C4D0C19A16300ACB19A /* example */,
                                 08C675960C13A03E00D85379 /* test */,
- 080DD76B0C13912C00EEB53D /* signal_network */,
                         );
                         sourceTree = "<group>";
                 };
- 080DD76B0C13912C00EEB53D /* signal_network */ = {
- isa = PBXGroup;
- children = (
- 08F74F750C3A9E0900FD50BE /* connection */,
- 08F74F650C3A9C9700FD50BE /* component */,
- 080DD76F0C13912C00EEB53D /* detail */,
- 08EC0DFE0C3C130A00CC8AE0 /* connection.hpp */,
- );
- name = signal_network;
- path = ../../../../boost/signal_network;
- sourceTree = SOURCE_ROOT;
- };
- 080DD76F0C13912C00EEB53D /* detail */ = {
- isa = PBXGroup;
- children = (
- 080DD77A0C13912C00EEB53D /* unfused_typed_class.hpp */,
- 08F3701D0C41968800E2F9A1 /* enable_if_defined.hpp */,
- );
- path = detail;
- sourceTree = "<group>";
- };
                 083FD3C00C62A75100EF3F6B /* phoenix */ = {
                         isa = PBXGroup;
                         children = (
@@ -435,70 +376,11 @@
                         path = detail;
                         sourceTree = "<group>";
                 };
- 08F74F650C3A9C9700FD50BE /* component */ = {
- isa = PBXGroup;
- children = (
- 08F74F740C3A9DD300FD50BE /* detail */,
- 08EFEC960C1CC6F200097C80 /* conditional_modifier.hpp */,
- 08EFC1EC0C30987700C730EC /* modifier.hpp */,
- 080DD77B0C13912C00EEB53D /* filter.hpp */,
- 080DD77C0C13912C00EEB53D /* function.hpp */,
- 080DD7820C13912C00EEB53D /* storage.hpp */,
- 080DD76D0C13912C00EEB53D /* chain.hpp */,
- 080DD76E0C13912C00EEB53D /* counter.hpp */,
- 080DD77D0C13912C00EEB53D /* junction.hpp */,
- 080DD77E0C13912C00EEB53D /* mutex.hpp */,
- 080DD77F0C13912C00EEB53D /* selector.hpp */,
- 080DD7800C13912C00EEB53D /* socket_receiver.hpp */,
- 080DD7810C13912C00EEB53D /* socket_sender.hpp */,
- 080DD7830C13912C00EEB53D /* timed_generator.hpp */,
- 08EFEADE0C1C892A00097C80 /* instantiator.hpp */,
- 08EFEB970C1C983500097C80 /* applicator.hpp */,
- 08EFEC040C1CAD0100097C80 /* conditional.hpp */,
- 08F74FB00C3AB06200FD50BE /* filter_base.hpp */,
- 08F74FC10C3AB4E100FD50BE /* traits.hpp */,
- );
- path = component;
- sourceTree = "<group>";
- };
- 08F74F740C3A9DD300FD50BE /* detail */ = {
- isa = PBXGroup;
- children = (
- 08EF63F20C33320D0099D00A /* generic_template.hpp */,
- 080DD7750C13912C00EEB53D /* serialize_fusion_vector.hpp */,
- 080DD7790C13912C00EEB53D /* unfused_inherited.hpp */,
- 08EFECA40C1CCE8300097C80 /* storable.hpp */,
- );
- path = detail;
- sourceTree = "<group>";
- };
- 08F74F750C3A9E0900FD50BE /* connection */ = {
- isa = PBXGroup;
- children = (
- 08F74F780C3A9E6800FD50BE /* detail */,
- 08F74F7D0C3A9F6900FD50BE /* slot_selector.hpp */,
- 08F74F820C3AA0FA00FD50BE /* operators.hpp */,
- 08F79CD00C3B50B300B6450B /* signal.hpp */,
- 08F79E140C3B779400B6450B /* slot_selector_map.hpp */,
- 08EC84040C18DA8100820E53 /* connect.hpp */,
- );
- path = connection;
- sourceTree = "<group>";
- };
- 08F74F780C3A9E6800FD50BE /* detail */ = {
- isa = PBXGroup;
- children = (
- 08EC0E640C3C215900CC8AE0 /* result_of_defined.hpp */,
- 08F74F790C3A9E8200FD50BE /* slot_type.hpp */,
- 08C8F1470C3B22F200B3CE45 /* bind_object.hpp */,
- 08FA69EE0C41DDFD00434913 /* replace_return_type.hpp */,
- );
- path = detail;
- sourceTree = "<group>";
- };
                 08FB7BEE0C6157AE00BD4EC2 /* signals */ = {
                         isa = PBXGroup;
                         children = (
+ 08F082570C1DD53400687E1B /* components.qbk */,
+ 08F0825A0C1DD58500687E1B /* connections.qbk */,
                                 08FB7BEF0C6157D000BD4EC2 /* introduction.qbk */,
                                 083FD3B90C62A4CB00EF3F6B /* concepts.qbk */,
                         );
@@ -553,33 +435,20 @@
                         children = (
                                 083FD3C00C62A75100EF3F6B /* phoenix */,
                                 08FB7BEE0C6157AE00BD4EC2 /* signals */,
- 08FD5DE50C1BA60700F00877 /* dox */,
                                 08FD5E4D0C1BA60800F00877 /* Jamfile.v2 */,
                                 08FD5E4E0C1BA60800F00877 /* dataflow.qbk */,
                                 08F082020C1D591000687E1B /* introduction.qbk */,
- 08F082570C1DD53400687E1B /* components.qbk */,
- 08F0825A0C1DD58500687E1B /* connections.qbk */,
                                 08F36DFB0C41375B00E2F9A1 /* dataflow_table.xml */,
- 08F36EED0C416DEB00E2F9A1 /* support.qbk */,
                                 08FA6A050C41E11800434913 /* rationale.qbk */,
                                 08F585BE0C5A7ED70086F4F4 /* concepts.qbk */,
                                 08FB7BFE0C61597000BD4EC2 /* signals.qbk */,
                                 083FD3C60C62A7F600EF3F6B /* phoenix.qbk */,
+ 08F077830C63F736003D448D /* components.qbk */,
                         );
                         name = doc;
                         path = ../../doc;
                         sourceTree = SOURCE_ROOT;
                 };
- 08FD5DE50C1BA60700F00877 /* dox */ = {
- isa = PBXGroup;
- children = (
- 08FD5DE80C1BA60700F00877 /* html_footer.html */,
- 08FD5DE90C1BA60700F00877 /* html_header.html */,
- 08FD5DEA0C1BA60700F00877 /* signal_network.hpp */,
- );
- path = dox;
- sourceTree = "<group>";
- };
 /* End PBXGroup section */
 
 /* Begin PBXProject section */

Modified: sandbox/SOC/2007/signals/libs/dataflow/doc/Jamfile.v2
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/Jamfile.v2 (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/Jamfile.v2 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -34,11 +34,6 @@
         <doxygen:param>SEARCH_INCLUDES=YES
         <doxygen:param>INCLUDE_PATH=../../..
         <doxygen:param>PREDEFINED=DOXYGEN_DOCS_ONLY
- <doxygen:param>GENERATE_HTML=YES
- <doxygen:param>HTML_OUTPUT=$(loc)/html/doxygen
- <doxygen:param>HTML_STYLESHEET=$(loc)/html/boostbook_doxygen.css
- <doxygen:param>HTML_HEADER=$(loc)/dox/html_header.html
- <doxygen:param>HTML_FOOTER=$(loc)/dox/html_footer.html
    ;
 
 boostbook standalone

Deleted: sandbox/SOC/2007/signals/libs/dataflow/doc/components.qbk
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/components.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
+++ (empty file)
@@ -1,297 +0,0 @@
-[section:components Components]
-
-[section:generic Generic]
-
-[section:filter filter]
-[*See also]: [classref boost::signals::filter filter class reference.]
-
-[heading Model of]
-
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-
-[heading Description]
-
-The [filter] class is provided as a base class for in / out components.
-It provides support for Dataflow connection operators and functions,
-and provides a default output signal. Here is an example of a simple class
-which inherits [filter]:
-
-[test_filter_classes]
-
-The type of the output signal (in the above example, `unfused_out_signal`)
-is specified as the second template parameter.
-There are three options:
-
-* `unfused_out_signal` provides an unfused output signal named `out`.
-* `fused_out_signal` provides a fused output signal named `fused_out`.
-* `combined_out_signal` provides an unfused output signal named `out`,
- and a fused adapter for the signal named `fused_out`.
- This is useful for components which wish to use fusion internally but output
- an unfused signal.
-
-A component developed on top of the [filter] class can then be used in the
-appropriate network. Here is an example which uses the class defined above:
-
-[table filter-based class use example
- [[fused][unfused]]
- [[[test_filter_fused]][[test_filter_unfused]]]
-]
-
-[endsect][/filter]
-
-[section:applicator applicator]
-[*See also]: [classref boost::signals::applicator applicator class reference.]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [applicator] class applies a specified function object to a member variable
-of a specified type whenever it receives a signal.
-The signal is always forwarded.
-
-Examples of applicators:
-
-* [counter]
-
-[endsect][/applicator]
-
-[section:conditional conditional]
-[*See also]: [classref boost::signals::conditional conditional class reference.]
-
-The [conditional] class applies a specified function object to a member variable
-of a specified type whenever it receives a signal.
-The signal is forwarded if the function object returns true.
-
-Examples of conditionals:
-
-* [junction]
-
-[endsect][/conditional]
-
-[section:instantiator instantiator]
-[*See also]: [classref boost::signals::instantiator instantiator class reference.]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [instantiator] class instantiates a specified type from a member variable
-of a specified type whenever it receives a signal.
-The signal is always forwarded.
-
-Examples of applicators:
-
-* [mutex]
-
-[endsect][/instantiator]
-
-[section:modifier modifier]
-[*See also]: [classref boost::signals::modifier modifier class reference.]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [modifier] class instantiates a member function object of specified
-type Member. It applies the member function object
-to each incoming signal, and sends the returned value.
-
-Examples of modifiers:
-
-* [function]
-
-[endsect][/modifier]
-
-[endsect][/generic]
-
-[section:properties Signal Properties]
-[section:storage storage]
-[*See also]: [classref boost::signals::storage storage class reference.]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [storage] class can store the parameters it receives from a signal,
-as well as transmit the stored parameter values through its own signal.
-
-[table storage class use example
- [[fused][unfused]]
- [[[test_storage_fused]][[test_storage_unfused]]]
-]
-[endsect][/storage]
-
-[section:counter counter]
-[*See also]: [classref boost::signals::counter counter class reference.]
-
-The [counter] class counts the number of passing signals. Each time it
-receives a signal, it will increment an internal
-counter and forward the signal.
-
-[import ../test/test_counter.cpp]
-[table counter class use example
- [[fused][unfused]]
- [[[test_counter_fused]][[test_counter_unfused]]]
-]
-
-[endsect][/counter]
-[endsect][/properties]
-
-[section:flow Signal Flow]
-[section:junction junction]
-[*See also]: [classref boost::signals::junction junction class reference.]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [junction] class can be used to bring in multiple signals, and forward
-them all to the same set of output signals.
-
-[import ../test/test_junction.cpp]
-[table storage class use example
- [[fused][unfused]]
- [[[test_junction_fused]][[test_junction_unfused]]]
-]
-[endsect][/junction]
-
-[section:mutex mutex]
-[*See also]: [classref boost::signals::mutex mutex class reference.]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [mutex] class locks an internal mutex when it receives a signal, and then forwards the signal.
-[mutex] is an __instantiator__ with the Instantiation boost::mutex::scoped_lock and Member boost::mutex.
-
-[import ../test/test_mutex.cpp]
-[table mutex class use example
- [[fused][unfused]]
- [[[test_mutex_fused]][[test_mutex_unfused]]]
-]
-[endsect][/mutex]
-
-[endsect][/flow]
-
-[section:adapters Adapters]
-[section:function function]
-[*See also]: [classref boost::signals::function function class reference.]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [function] class can be used to apply a function to an incoming signal and output the result.
-[function] is a __modifier__ with the Modifier set to an adapter for the provided function.
-
-[table function class use example
- [[fused][unfused]]
- [[[test_function_fused]][[test_function_unfused]]]
-]
-
-[endsect][/function]
-
-[endsect][/adapters]
-
-[section:topologies Topologies]
-
-[section:chain chain]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [SignalProducerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [chain] class chains together multiple copies of the same component.
-
-[table function class use example
- [[fused][unfused]]
- [[[test_chain_fused]][[test_chain_unfused]]]
-]
-
-The example above uses the following classes:
-
-[test_chain_classes]
-
-[endsect][/chain]
-
-[endsect][/topologies]
-
-[section:network Network]
-
-[section:socket_sender socket_sender]
-[*See also]: [classref boost::signals::socket_sender socket_sender class reference.]
-
-[heading Model of]
-* [SignalConsumerConcept]
-* [ConnectableConcept] to any [SignalProducerConcept] type `P` where
- `Signature` matches `P`'s produced type.
-
-[heading Description]
-
-The [socket_sender] class can be used to bridge a signal network accross multiple computers via a
-network connection. Any signal going to the [socket_sender] will be serialized and sent over a provided
-socket. A [socket_receiver] can be used on the other end to unserialize the signal and forward it.
-
-Example:
-
-[test_socket]
-
-[endsect][/socket_sender]
-
-[section:socket_receiver socket_receiver]
-
-[*See also]: [classref boost::signals::socket_receiver socket_receiver class reference.]
-
-[heading Model of]
-* [SignalProducerConcept]
-
-[heading Description]
-
-The [socket_receiver] class can be used to bridge a signal network accross multiple computers via a
-network connection. Any signal going to the [socket_sender] will be serialized and sent over a provided
-socket. A [socket_receiver] can be used on the other end to unserialize the signal and forward it.
-
-Example:
-
-[test_socket]
-
-[endsect][/socket_receiver]
-
-[endsect][/network]
-
-[endsect][/components]

Deleted: sandbox/SOC/2007/signals/libs/dataflow/doc/connections.qbk
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/connections.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
+++ (empty file)
@@ -1,188 +0,0 @@
-[section:connections Connections]
-
-[section:connect connect function]
-
-[*See also]: [funcref boost::signals::connect connect function reference.]
-
-The [connect] function is the fundamental connection-creating mechanism of
-the library. Given a /producer/ `p` and /consumer/ `c` supported by the library,
-
- connect(p,c);
-
-will create a connection between the two. The examples in this documentation typically
-use [operators] to create connections. The __operators__ use the __connect__ function
-directly, and can be replaced by invocations of [connect] if preferred.
-
-The support for various types of components that are supported by [connect] is currently
-divided in the following files:
-
- #include <boost/signal_network/connection/signal.hpp>
-
-will add support for `boost::signal` as a producer, and function objects for which `boost::result_of` is defined
-as consumers.
-
- #include <boost/signal_network/connection/slot_selector.hpp>
-
-will add support for [slot_selector] objects as signal consumers. In addition, they can be used
-as signal producers if the underlying object is a signal producer.
-
- #include <boost/signal_network/connection/slot_selector_map.hpp>
-
-will add support for fusion maps from signatures to [slot_selector] objects (and perhaps to any signal consumer,
-not tested yet) as signal consumers. This can be used to pack multiple slots of an object together, and then make
-connections based on the appropriate signature (see the send_slot function of [storage] as an example).
-In addition, fusion maps can be used as signal producers if the underlying object of the front element is a signal
-producer.
-
-[table connect example
- [[unfused]]
- [[[test_connect]]]
-]
-
-[endsect]
-
-[section:classes Classes]
-
-[section:slot_selector slot_selector]
-
-[*See also]: [classref boost::signals::slot_selector slot_selector class reference.]
-
-The [slot_selector] class is used to refer to a particular member function of a particular object, and can be used
-can be used as a receiver.
-
-[slot_selector] objects can be constructed using the [funcref boost::signals::make_slot_selector] function.
-See the [link dataflow.connections.examples.multiple_same Multiple inputs of the same signature] example.
-
-[endsect]
-
-[endsect][/classes]
-
-[section:operators Operators]
-
-[section:chaining Chaining]
-
-Chaining of components can be done using `operator >>=`.
-
-[table chaining example
- [[fused][unfused]]
- [[[test_storage_fused]][[test_storage_unfused]]]
-]
-
-[endsect][/chaining]
-
-[section:branching Branching]
-
-More complex connections can also be made relatively easily using
-both `operator >>=`
-and `operator |`, with `operator |` being used for branching.
-
-[table branching example
- [[fused][unfused]]
- [[[test_branching_fused]][[test_branching_unfused]]]
-]
-
-[endsect][/branching]
-
-[endsect][/operators]
-
-[section Examples]
-
-[section:pull Pull-based networks]
-
-The [DataflowSignals] module was built with push-based networks in
-mind (the data producer sends data through a signal), but it can also
-be used for pull-based networks (the data consumer requests data through
-a signal).
-
-The following example illustrates this:
-
-[table pull-based network example
- [[fused][unfused]]
- [[[/test_pull_fused]][[test_pull_unfused]]]
-]
-
-The example uses the following classes:
-
-[test_pull_classes]
-
-[endsect][/pull]
-
-[section:disconnect Disconnecting]
-
-Connections can be terminated in two ways. One is through the "trackable"
-mechanism of Boost.Signals, which will automatically destroy connections
-to a trackable object when the object is destroyed. The other
-way is through the disconnect_all_slots method of the signal sender.
-
-[table disconnect example
- [[fused][unfused]]
- [[[/test_disconnect_fused]][[test_disconnect_unfused]]]
-]
-
-[endsect][/disconnect]
-
-[section:multiple_different Multiple slots of different signatures]
-
-It is simple to have an object provide multiple slots through operator() functions
-of different signatures. The following class does so through providing unary slots
-of different types:
-
-[test_multi_type_classes]
-
-[/The following class, on the other hand, uses slots of different number of arguments:
-
-[test_multi_type_classes]]
-
-In such cases, where the operator() functions differ in their signature,
-standard connection operators will work out the correct connection:
-
-[table multiple slots example
- [[fused][unfused]]
- [[[/test_multi_args_unfused]][[test_multi_args_unfused]]]
-]
-
-[endsect][/multiple_different]
-
-[section:multiple_same Multiple inputs of the same signature]
-
-In some cases, a class may want to receive multiple signals of the same
-signature. [/For example, the following class can receive a void() signal
-through its inherited operator() function, as well as through the
-operator() function of member "other":
-
-[test_same_type_class1]]
-
-For example, the following class could receive void() signals both
-through operator() and through AltInput:
-
-[test_same_type_classes]
-
-The following example shows how to connect signals to all of the above slots.
-For the class Signal2VoidInputs, this is accomplished using the
-slot_selector function:
-
-[table multiple slots example
- [[fused][unfused]]
- [[[/test_same_type_fused]][[test_same_type_unfused]]]
-]
-
-[endsect][/multiple_same]
-
-[section:multi_out Multiple outputs]
-
-Multiple outputs can be achieved by introducing additional signals in the class.
-
-[table multiple outs example
- [[fused][unfused]]
- [[[/test_multi_out_fused]][[test_multi_out_unfused]]]
-]
-
-The example uses the following classes:
-
-[test_multi_out_classes]
-
-[endsect][/multi_out]
-
-[endsect][/examples]
-
-[endsect][/connections]

Modified: sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow.qbk
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow.qbk (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -24,6 +24,10 @@
 [template DataflowSignals[] [link dataflow.introduction.mechanisms.signals Dataflow.Signals]]
 [template DataflowPhoenix[] [link dataflow.introduction.mechanisms.phoenix Dataflow.Phoenix]]
 
+[template producer_group[] [link dataflow.components.producer_group producer_group]]
+[template consumer_group[] [link dataflow.components.consumer_group consumer_group]]
+[template consumer_map[] [link dataflow.components.consumer_map consumer_map]]
+
 [template signals_quickstart[] [link dataflow.signals.introduction.quick_start quick start]]
 [template connect[] [link dataflow.signals.connections.connect connect]]
 [template components[] [link dataflow.signals.components components]]
@@ -63,6 +67,7 @@
 
 [import ../test/test_filter.cpp]
 [import ../test/test_storage.cpp]
+[import ../test/test_counter.cpp]
 [import ../test/test_function.cpp]
 [import ../test/test_chain.cpp]
 [import ../test/test_socket.cpp]
@@ -93,17 +98,14 @@
   [link dataflow.introduction.dataflow Dataflow programming in C++].
 * If you'd like to try out the library
     * keep in mind that the interface is highly unstable at this point
- * see the [link dataflow.introduction.start Quick Start] section.
-* If you are interested in the progress of the implementation, see
- * News section of the
- [@http://svn.boost.org/trac/boost/wiki/soc/2007/SignalNetwork Dataflow GSoC page]
- * [link dataflow.discussion Discussion on Boost Community Feedback]
- * [link dataflow.download Download and Changelog]
+ * see the [signals_quickstart] section of [DataflowSignals].
 
 [include introduction.qbk]
 
 [include concepts.qbk]
 
+[include components.qbk]
+
 [include signals.qbk]
 
 [include phoenix.qbk]

Modified: sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow_table.xml
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow_table.xml (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow_table.xml 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -5,18 +5,21 @@
 <colspec colname='c1'/>
 <colspec colname='c2'/>
 <colspec colname='c3'/>
+<colspec colname='c4'/>
 <thead>
 <row>
   <entry>operators</entry>
- <entry>blueprint</entry>
- <entry>component</entry>
+ <entry>blueprint(to come)</entry>
+ <entry></entry>
+ <entry>mechanism-specific components</entry>
 </row>
 <row>
   <entry namest="c1" nameend="c2" align="center">connect, invoke</entry>
+ <entry>generic components</entry>
   <entry>mechanism-specific support</entry>
 </row>
 <row>
- <entry namest="c1" nameend="c3">support</entry>
+ <entry namest="c1" nameend="c4">support</entry>
 </row>
 </thead>
 </tgroup>

Modified: sandbox/SOC/2007/signals/libs/dataflow/doc/introduction.qbk
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/introduction.qbk (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/introduction.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -179,19 +179,33 @@
 components. Each type of mechanism or component must specialize the elements
 of the support layer to work with the mechanism\/component.
 
-The /connect/ layer provides the generic connect function, which is then used by
-the /operators/ and the envisioned /blueprint/ layer. Each mechanism might
-have its own /mechanism-specific/ layer, on top of which a mechanism-specific
-/component/ can be implemented. As long as the support layer is implemented
+Directly based on the support layer, we have functions like /connect/ and
+/invoke/, which can be used to manipulate generic and mechanism-specific
+components that the library supports. /Operators/ are based on /connect/.
+
+There is also a planned /blueprint/ layer (not implemented yet), which
+would provide generic components that are used to provide a "big picture"
+of a dataflow network. A blueprint component corresponds to an actual,
+component - but whereas the actual component takes care of the work, the
+blueprint component serves as a factory and serializer of the component.
+Hence, a dataflow network blueprint, made out of blueprint components, could
+be used to serialize or instantiate the underlying dataflow network made out
+of actual components. The blueprint layer is likely to be implemented using
+virtual-based polymorphism and the Boost Graph library.
+
+The library also offers a few generic components, which can be used
+to group other components together: [producer_group], [consumer_group],
+and [consumer_map].
+
+The rest of the library is in the mechanism-specific modules [DataflowSignals]
+and [DataflowPhoenix], each of which provide their own support layer, on
+top of which their components are implemented.
+
+As long as the support layer is implemented
 for the mechanism/component, the component should
 work seamlesly with the rest of the dataflow library.
-
 Essentially, the support layer is a very minimal layer implementing a generic
-and extensible intrusive directed graph framework. The blueprint layer could
-be implemented as a BGL graph over a hierarchy of classes with a common
-interface (implemented using a base class with virtual methods) which provides
-serialization, instantiation, and (if applicable)
-execution capability for an entire network.
+and extensible intrusive directed graph framework.
 
 [heading Namespace use]
 
@@ -203,7 +217,7 @@
 `producer_category_of` etc., are located in the `boost::dataflow` namespace.
 Function objects which must be specialized for different data trasport
 mechanisms, such as `connect_impl`, are in the `boost::dataflow::extension`
-namespace.
+namespace. The connection operators are in `boost::dataflow::operators`.
 
 On the other hand, individual data transport mechanism implementations
 are located in the namespace of the data transport mechanism. For example,
@@ -216,6 +230,10 @@
 
     using namespace boost;
 
+[note Since there are multiple namespaces used, the documentation will
+explicitly state the namespace of documented elements wherever it is
+convenient.]
+
 [endsect][/organization]
 
 [section:mechanisms Implemented data transport mechanisms]
@@ -248,10 +266,13 @@
 
 The [DataflowSignals] module uses [BoostSignals] as
 the data transport mechanism in dataflow networks.
-In addition, it provides two major elements that facilitate the
+In addition, it provides two major contributions that facilitate the
 building of large signals-based dataflow networks:
 
-* The [connect] function and its associated operators which can be
+* Support for a number of types of components (functors, filters,
+ member function slot selection), which can be used with
+ the generic Dataflow functionality - such as the [connect] function and its
+ associated operators which can be
   used to easily connect different kinds of components.
 * A number of generic and specific components which can be extended
   and customized for use in particular dataflow networks.

Added: sandbox/SOC/2007/signals/libs/dataflow/doc/phoenix/concepts.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/phoenix/concepts.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -0,0 +1,96 @@
+[section Concepts]
+
+[section PhoenixProducer]
+
+A [ProducerConcept] type `P` is a ['[PhoenixProducerConcept]] if it uses
+the underlying pointer based data transport mechanism. It is
+[ConnectableConcept] with a compatible [PhoenixConsumerConcept].
+
+[heading Refinement of]
+* [ProducerConcept]
+* [InvocableConcept]
+
+[heading Notation]
+The following expressions are used in this document:
+
+[variablelist
+ [[P] [A [PhoenixProducerConcept] type.]]
+ [[C] [A [PhoenixConsumerConcept] type [ConnectableConcept] to `P`.]]
+ [[PCategory] [The producer category of `P`.]]
+ [[p] [An object of type `P`.]]
+ [[c] [An object of type `C`.]]
+]
+
+[heading Requirements]
+[table
+ [[Name] [Expression] [Result Type] [Description]]
+ [
+ [Connect]
+ [`connect(p,c)`
+ [footnote `namespace boost::dataflow`]]
+ [Any type]
+ [
+ *Semantics:* Connects `p` to `c`. This overwrites any previous
+ connection coming out of `p`.
+ ]
+ ]
+ [
+ [Get Address]
+ [`get_address<PCategory>::apply<P>::call(p)`
+ [footnote `namespace boost::dataflow::extension::phoenix`]]
+ [[^produced_type_of<P>::type'''&nbsp;'''*]]
+ [
+ *Semantics:* Retrieves the address of the data produced by `p`.
+ Used by the implementation of `connect` for the pointer based data
+ transport mechanism.
+ ]
+ ]
+ [
+ [Get Value]
+ [`get_value<PCategory>::apply<P>::call(p)`
+ [footnote `namespace boost::dataflow::extension::phoenix`]]
+ [implicitly convertible to `produced_type_of<P>::type`]
+ [
+ *Semantics:* Retrieves the data produced by `p`.
+ ]
+ ]
+]
+
+[endsect][/phoenixproducer]
+
+[section PhoenixConsumer]
+
+A type `T` is a ['[PhoenixConsumerConcept]] if it uses the underlying pointer-based
+data transport mechanism. I.e., it is [ConnectableConcept] to a
+[PhoenixProducerConcept] of compatible produced type.
+
+[heading Refinement of]
+* [ConsumerConcept]
+* [ConnectableConcept] with [PhoenixProducerConcept] of compatible produced type.
+
+[heading Notation]
+The following expressions are used in this document:
+
+[variablelist
+ [[C] [A [PhoenixConsumerConcept] type.]]
+ [[P] [A [PhoenixProducerConcept] type of compatible produced type.]]
+ [[CCategory] [The consumer category of `C`.]]
+ [[c] [An object of type `C`.]]
+ [[p] [An object of type `P`.]]
+]
+
+[heading Requirements]
+[table
+ [[Name] [Expression] [Result Type] [Description]]
+ [
+ [Phoenix Connectable]
+ [
+ *Semantics:* Connects `p` to `c`. This overwrites any previous
+ connection coming out of `p`.
+ ]
+ ]
+]
+
+[endsect][/phoenixconsumer]
+
+[endsect][/concepts]
\ No newline at end of file

Modified: sandbox/SOC/2007/signals/libs/dataflow/doc/signals.qbk
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/signals.qbk (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/signals.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -4,8 +4,8 @@
 
 [include signals/concepts.qbk]
 
-[include connections.qbk]
+[include signals/connections.qbk]
 
-[include components.qbk]
+[include signals/components.qbk]
 
 [endsect]

Copied: sandbox/SOC/2007/signals/libs/dataflow/doc/signals/components.qbk (from r38429, /sandbox/SOC/2007/signals/libs/dataflow/doc/components.qbk)
==============================================================================
--- /sandbox/SOC/2007/signals/libs/dataflow/doc/components.qbk (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/signals/components.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -130,8 +130,8 @@
   
 [heading Description]
 
-The [storage] class can store the parameters it receives from a signal,
-as well as transmit the stored parameter values through its own signal.
+The [storage] class can store the arguments it receives from a signal,
+as well as transmit the stored argument values through its own signal.
 
 [table storage class use example
     [[fused][unfused]]

Added: sandbox/SOC/2007/signals/libs/dataflow/doc/signals/concepts.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/signals/concepts.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -0,0 +1,105 @@
+[section Concepts]
+
+[section SignalProducer]
+
+A [ProducerConcept] type `P` is a ['[SignalProducerConcept]] if it uses
+the boost::signal based data transport mechanism.
+
+[heading Refinement of]
+* [ProducerConcept]
+* [ConnectableConcept] with [SignalConsumerConcept] of compatible consumed type.
+
+[heading Notation]
+The following expressions are used in this document:
+
+[variablelist
+ [[P] [A [SignalProducerConcept] type.]]
+ [[C] [A [SignalConsumerConcept] type with compatible consumed type.]]
+ [[p] [An object of type `p`.]]
+ [[c] [An object of type `c`.]]
+]
+
+[heading Requirements]
+[table
+ [[Name] [Expression] [Result Type] [Description]]
+ [
+ [Connect]
+ [`connect(p,c)`]
+ [Any type]
+ [
+ *Semantics:* Connects `p` to `c`. Any previous
+ connection coming out of `p` are left in tact.
+ ]
+ ]
+ [
+ [Signal Type]
+ [`get_signal_type<P>::type`
+ [footnote `namespace boost::dataflow::extension::signals`]]
+ [`boost::signal` type]
+ [
+ *Semantics:* The type of signal storing the outgoing connections.
+ ]
+ ]
+ [
+ [Signal]
+ [`get_signal(p)`
+ [footnote `namespace boost::dataflow::extension::signals`]]
+ [`get_signal_type<P>::type &`]
+ [
+ *Semantics:* Reference to the signal storing the outgoing connections.
+ ]
+ ]
+]
+
+[heading Notes]
+
+To define a new [ProducerConcept] class type, it is sufficient to define
+member typedefs `producer_category` and `signal_type`, and specialize
+the `get_signal` template.
+
+[endsect][/signalproducer]
+
+[section SignalConsumer]
+
+A type `T` is a ['[SignalConsumerConcept]] if it uses the boost::signal based
+data transport mechanism. I.e., it is [ConnectableConcept] to
+
+[heading Refinement of]
+* [ConsumerConcept]
+* [ConnectableConcept] with [SignalProducerConcept] of compatible produced type.
+
+[heading Notation]
+The following expressions are used in this document:
+
+[variablelist
+ [[P] [A [SignalProducerConcept] type.]]
+ [[C] [A [SignalConsumerConcept] type s.t. .]]
+]
+
+[heading Requirements]
+[table
+ [[Name] [Expression] [Result Type] [Description]]
+ [
+ [Signal Connectable]
+ [`connect(p,c)`]
+ [Any type]
+ [
+ *Semantics:* Connects p to c. This overwrites any previous
+ connection coming out of p.
+ ]
+ ]
+ [
+ [Slot]
+ [`get_slot(c)`]
+ [`boost::function` type]
+ [
+ *Semantics:* Returns the `boost::function` referring to the
+ consumer's slot (function / member function that accepts the
+ data).
+ ]
+ ]
+]
+
+[endsect][/signalconsumer]
+
+[endsect]

Added: sandbox/SOC/2007/signals/libs/dataflow/doc/signals/introduction.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/signals/introduction.qbk 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -0,0 +1,189 @@
+[section Introduction]
+
+[section:fusion DataflowSignals and Boost.Fusion]
+
+The components in the [DataflowSignals] module are implemented using [fusion]. To use the
+[DataflowSignals] module, you might benefit from the following if you're not familiar with fusion.
+
+[heading Fused vs. unfused]
+A simple C++ function object might look something like this:
+
+ struct f
+ {
+ int operator()(int arg1, int &arg2, const std::string &arg3)
+ {
+ ...
+ }
+ }
+
+The thing to note here is that there are three arguments (of types `int`, `int &`, and `const std::string &`
+respectively), and that when the function object is invoked, they are passed separately:
+
+ int x;
+ std::string s;
+ f()(1, x, s);
+
+In the terminology of [fusion], this function object is /unfused/. This is in contrast to a /fused/
+fuction object, which might look like this:
+
+ struct fused_f
+ {
+ int operator()(fusion::vector<int, int &, const std::string &> &args)
+ {
+ ...
+ }
+ }
+
+Basically, the difference is that the three arguments from the unfused version are now sent in a single
+fusion container. The benefit is that no matter how many "unfused" arguments there are, there is
+always a single "fused" argument. Hence, writing templates that deal with a variable number of arguments
+becomes a lot simpler.
+
+[heading [DataflowSignals] provides both fused and unfused components]
+
+While writing the generic components provided in the [DataflowSignals] module benefits from using
+[fusion], your particular use case might not. For this reason, every component provided
+by the [DataflowSignals] module:
+
+* can receive both fused and unfused signals
+* has both a version that sends fused signals and a version that sends unfused signals.
+
+The type of sent signal is provided as a template argument to the class, and the default value can be set
+by defining `SIGNAL_NETWORK_DEFAULT_OUT` to either `unfused` or `fused` before including a sinal
+network component.
+
+For example,
+
+ signals::storage<int (int, int &, const std::string &>), signals::unfused> unfused_storage;
+ signals::storage<int (int, int &, const std::string &>), signals::fused> fused_storage;
+
+In the above case, `unfused_storage` is similar to `f` above, and can be used as a slot
+for signals which carry regular, unfused arguments.
+On the other hand, `fused_storage` acts as a function object similar to `fused_f` above.
+Hence, it can be used as a slot for signals which carry a fusion container as an argument.
+
+[heading Examples often show both versions]
+
+The examples shown in this documentation often show both a fused and unfused
+version. In the vast majority of cases, when all of the components used are
+library-provided components, the fused and unfused examples are identical
+except for the specifications that the components should be fused or unfused.
+
+The biggest differences come into play when the examples
+include user-implemented components - implementing a fused component can
+be slightly (or greatly) different from implementing an unfused component.
+
+[endsect][/fusion]
+
+[section Quick Start]
+
+[note If you are not familiar with [BoostFusion], you may want to read the
+[link dataflow.introduction.fusion Dataflow.Signals and Boost.Fusion] section
+first.]
+
+[DataflowSignals] provides many common building block components for a
+signal-based dataflow network. The most basic is [storage], which
+can be used to store a value received through a signal, send it on,
+and/or retreive it.
+
+By default, components in the library use `operator()` to receive a signal.
+For example, when a [storage] object receives a signal through its `operator()`
+(i.e., its `operator()` gets called), it will store the value of the arguments,
+and depending on its state it might forward the signal onward. When the
+[storage] object's `send()` function is called (or the object is invoked via
+the `invoke()` function), the stored values will be sent to any connected
+consumers.
+
+The value stored inside a [storage] object
+can be retrieved via the [memberref boost::signals::storage::at() at()] method.
+
+Using a few [storage] objects, it is easy to
+create a simple network using
+[funcref boost::dataflow::operator>>=() operator>>=]:
+
+[table storage class use example
+ [[fused][unfused]]
+ [[[test_storage_fused]][[test_storage_unfused]]]
+]
+
+[heading Creating your own signal receiver (slot)]
+
+The easiest way to create your own signal receiver which can be used with the
+[DataflowSignals] library is to create a class with `operator()` of the signal
+signature you wish to receive.
+
+For example, consider the signature `void()`. This is the signature
+of a function that returns void and takes no arguments.
+A class that can receive signals of such a signature would be
+defined as follows:
+
+ class SignalVoidCounter
+ {
+ int cnt;
+ public:
+ // For now, we must also declare the consumer category and result type.
+ // This requirement will go away.
+ typedef dataflow::signal_consumer consumer_category;
+ typedef void result_type;
+
+ SignalVoidCounter() : cnt(0) {}
+ void operator()()
+ {
+ cnt++; // whenever a void() signal is received, increase the counter
+ }
+ int GetCount()
+ {
+ return cnt;
+ }
+ }; // end class SignalVoidCounter
+
+The above class does something really simple - it receives signals of
+signature `void()`, and counts how many it has received. While this
+functionality is actually covered by the library component [counter],
+it's a good introductory example.
+
+If you read the section about [link dataflow.introduction.fusion Boost.Fusion],
+you will find out that the [DataflowSignals] library works with both
+/fused/ and /unfused/ signals. If you wanted the above to work with
+fused signals, all you would need to do is add or substitute the following
+`operator()`:
+
+ void operator()(const fusion::vector<> &)
+ {
+ cnt++; // whenever a void() signal is received, increase the counter
+ }
+
+You can now introduce this component into a signal network:
+
+[table storage class use example
+ [[fused][unfused]]
+ [[``
+ SignalVoidCounter counter;
+ signals::storage<void(), signals::unfused> storage;
+
+ storage >>= counter;
+ for (int i=0; i<33; i++)
+ invoke(storage);
+
+ assert(counter.GetCount());
+ ``][``
+ SignalVoidCounter counter;
+ signals::storage<void(), signals::fused> storage;
+
+ storage >>= counter;
+ for (int i=0; i<33; i++)
+ invoke(storage);
+
+ assert(counter.GetCount());
+ ``]]
+]
+
+To proceed, you may want to look at
+
+* Provided [DataflowSignals] module [link dataflow.components components].
+* Creating your own in/out components using the [filter] class.
+* Using the [link dataflow.connections connection operators] to make connections.
+
+[endsect][/start]
+
+[endsect][/introduction]

Deleted: sandbox/SOC/2007/signals/libs/dataflow/doc/support.qbk
==============================================================================

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_branching.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_branching.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_branching.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -10,6 +10,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 int test_main(int, char* [])
 {

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_chain.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_chain.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_chain.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -14,6 +14,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 //[ test_chain_classes
 class UnfusedDoublerClass : public signals::filter<void (float), signals::unfused>

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_connections.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_connections.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_connections.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -33,6 +33,7 @@
 // for access to connection operators >>= and |
 using namespace boost::signal_network;
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 class SignalFloatDoubler : public signals::filter<void (float, float)>
 {

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_disconnect.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_disconnect.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_disconnect.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -10,6 +10,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 int test_main(int, char* [])
 {

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_filter.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_filter.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_filter.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -12,6 +12,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 //[ test_filter_classes
 

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_function.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_function.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_function.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -10,6 +10,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 int test_main(int, char* [])
 {

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_junction.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_junction.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_junction.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -11,6 +11,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 int test_main(int, char* [])
 {

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_args.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_args.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_args.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -11,6 +11,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 //[ test_multi_args_class1
 

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_out.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_out.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_out.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -9,6 +9,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 //[ test_multi_out_classes
 

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_type.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_type.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_multi_type.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -11,6 +11,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 //[ test_multi_type_classes
 

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_mutex.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_mutex.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_mutex.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -11,6 +11,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 int test_main(int, char* [])
 {

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_pull.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_pull.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_pull.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -9,6 +9,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 //[ test_pull_classes
 class PullDoubler : public signals::filter<float (), signals::unfused>

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_same_type.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_same_type.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_same_type.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -10,6 +10,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 //[ test_same_type_classes
 

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_socket.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_socket.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_socket.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -29,6 +29,8 @@
 // its final signal through the socket.
 void asio_server()
 {
+ using namespace boost::dataflow::operators;
+
         // set up the socket
         asio::ip::tcp::acceptor acceptor(io_service, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), 1097));
         asio::ip::tcp::socket socket(io_service);
@@ -53,6 +55,8 @@
 
 int test_main(int, char* [])
 {
+ using namespace boost::dataflow::operators;
+
         // start the server in a separate thread
         boost::mutex::scoped_lock lock(mutex_);
         boost::thread t(asio_server);

Modified: sandbox/SOC/2007/signals/libs/dataflow/test/test_storage.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/test/test_storage.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/test/test_storage.cpp 2007-08-06 20:34:33 EDT (Mon, 06 Aug 2007)
@@ -9,6 +9,7 @@
 #include <boost/test/included/test_exec_monitor.hpp>
 
 using namespace boost;
+using namespace boost::dataflow::operators;
 
 int test_main(int, char* [])
 {


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