Boost logo

Boost-Commit :

From: stipe_at_[hidden]
Date: 2008-08-27 01:53:50


Author: srajko
Date: 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
New Revision: 48403
URL: http://svn.boost.org/trac/boost/changeset/48403

Log:
0.9.1 release + changes necessary for threadpool example to build
Text files modified:
   sandbox/SOC/2007/signals/boost/dataflow/support/tags.hpp | 6 +++++
   sandbox/SOC/2007/signals/boost/dataflow/templates/operator.hpp | 20 +++++++++++++++++++
   sandbox/SOC/2007/signals/libs/dataflow/build/xcodeide/dataflow.xcodeproj/project.pbxproj | 2 +
   sandbox/SOC/2007/signals/libs/dataflow/doc/Jamfile.v2 | 5 ----
   sandbox/SOC/2007/signals/libs/dataflow/doc/blueprint/examples/gui_example.qbk | 18 +++++++++++-----
   sandbox/SOC/2007/signals/libs/dataflow/doc/dataflow.qbk | 2
   sandbox/SOC/2007/signals/libs/dataflow/doc/introduction/introduction.qbk | 41 +++++++++++++++++++--------------------
   sandbox/SOC/2007/signals/libs/dataflow/doc/signals/introduction.qbk | 4 +-
   sandbox/SOC/2007/signals/libs/dataflow/example/Jamfile.v2 | 3 +
   sandbox/SOC/2007/signals/libs/dataflow/example/glv_gui/glvgui_example.cpp | 6 ++--
   sandbox/SOC/2007/signals/libs/dataflow/example/glv_gui/glvgui_vtk.cpp | 2 +
   11 files changed, 70 insertions(+), 39 deletions(-)

Modified: sandbox/SOC/2007/signals/boost/dataflow/support/tags.hpp
==============================================================================
--- sandbox/SOC/2007/signals/boost/dataflow/support/tags.hpp (original)
+++ sandbox/SOC/2007/signals/boost/dataflow/support/tags.hpp 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -41,6 +41,12 @@
     {
         typedef producer complement; ///< complement PortCategory type.
     };
+
+ /// consumer PortCategory.
+ struct producer_consumer
+ {
+ typedef producer_consumer complement; ///< complement PortCategory type.
+ };
 }
 
 /*namespace concepts

Modified: sandbox/SOC/2007/signals/boost/dataflow/templates/operator.hpp
==============================================================================
--- sandbox/SOC/2007/signals/boost/dataflow/templates/operator.hpp (original)
+++ sandbox/SOC/2007/signals/boost/dataflow/templates/operator.hpp 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -36,3 +36,23 @@
>::type
 operator DATAFLOW_TEMPLATE_OPERATOR (OutgoingPort &left, const IncomingPort &right)
 { DATAFLOW_TEMPLATE_BINARY_OPERATION(left, right); return left;}
+
+template<typename OutgoingPort, typename IncomingPort>
+inline typename boost::enable_if<
+ boost::mpl::and_<
+ boost::dataflow::has_default_port<OutgoingPort, boost::dataflow::args::left, DATAFLOW_TEMPLATE_MECHANISM, DATAFLOW_TEMPLATE_TAG>,
+ boost::dataflow::has_default_port<IncomingPort, boost::dataflow::args::right, DATAFLOW_TEMPLATE_MECHANISM, DATAFLOW_TEMPLATE_TAG>
+ >, const OutgoingPort &
+>::type
+operator DATAFLOW_TEMPLATE_OPERATOR (const OutgoingPort &left, IncomingPort &right)
+{ DATAFLOW_TEMPLATE_BINARY_OPERATION(left, right); return left;}
+
+template<typename OutgoingPort, typename IncomingPort>
+inline typename boost::enable_if<
+ boost::mpl::and_<
+ boost::dataflow::has_default_port<OutgoingPort, boost::dataflow::args::left, DATAFLOW_TEMPLATE_MECHANISM, DATAFLOW_TEMPLATE_TAG>,
+ boost::dataflow::has_default_port<IncomingPort, boost::dataflow::args::right, DATAFLOW_TEMPLATE_MECHANISM, DATAFLOW_TEMPLATE_TAG>
+ >, const OutgoingPort &
+>::type
+operator DATAFLOW_TEMPLATE_OPERATOR (const OutgoingPort &left, const IncomingPort &right)
+{ DATAFLOW_TEMPLATE_BINARY_OPERATION(left, right); return left;}

Modified: sandbox/SOC/2007/signals/libs/dataflow/build/xcodeide/dataflow.xcodeproj/project.pbxproj
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/build/xcodeide/dataflow.xcodeproj/project.pbxproj (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/build/xcodeide/dataflow.xcodeproj/project.pbxproj 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -159,6 +159,7 @@
                 08A15D250E290EA0005AE94D /* support.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = support.hpp; sourceTree = "<group>"; };
                 08A15D2B0E29108B005AE94D /* runtime_support.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = runtime_support.hpp; sourceTree = "<group>"; };
                 08A15D6F0E2914C3005AE94D /* test_managed_port.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_managed_port.cpp; sourceTree = "<group>"; };
+ 08A27E210E6480AB00C39828 /* threadpool_example_combiner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = threadpool_example_combiner.cpp; sourceTree = "<group>"; };
                 08A2D5040E2A728A00D8FA04 /* COPYRIGHT */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = COPYRIGHT; sourceTree = "<group>"; };
                 08A2D5060E2A728A00D8FA04 /* COPYRIGHT */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = COPYRIGHT; sourceTree = "<group>"; };
                 08A2D5070E2A728A00D8FA04 /* glv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glv.h; sourceTree = "<group>"; };
@@ -748,6 +749,7 @@
                 08E228DE0E6207EC00D1C2AF /* threadpool */ = {
                         isa = PBXGroup;
                         children = (
+ 08A27E210E6480AB00C39828 /* threadpool_example_combiner.cpp */,
                                 08E228DF0E6207EC00D1C2AF /* boost */,
                                 08E228FE0E62084100D1C2AF /* Jamfile */,
                                 08E229020E6208AC00D1C2AF /* threadpool_example.cpp */,

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 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -26,11 +26,6 @@
       [ glob ../../../boost/dataflow/signals/component/function.hpp ]
       [ glob ../../../boost/dataflow/signals/component/socket_sender.hpp ]
       [ glob ../../../boost/dataflow/signals/component/socket_receiver.hpp ]
- [ glob ../../../boost/dataflow/signals/component/applicator.hpp ]
- [ glob ../../../boost/dataflow/signals/component/conditional.hpp ]
- [ glob ../../../boost/dataflow/signals/component/conditional_modifier.hpp ]
- [ glob ../../../boost/dataflow/signals/component/instantiator.hpp ]
- [ glob ../../../boost/dataflow/signals/component/timed_generator.hpp ]
    :
         <doxygen:param>TAB_SIZE=4
         <doxygen:param>EXAMPLE_PATH=../test

Modified: sandbox/SOC/2007/signals/libs/dataflow/doc/blueprint/examples/gui_example.qbk
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/blueprint/examples/gui_example.qbk (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/blueprint/examples/gui_example.qbk 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -7,26 +7,32 @@
 is mainly to verify that something useful can be built on top of
 [DataflowBlueprint] layer.
 
-The following is a screenshot of the editor:
+The following is a screenshot of an older version of the editor:
 
 [$blueprint_screenshot.png]
 
+You can find videos of a new version of the editor on
+[@http://dancinghacker.blip.tv/posts?view=archive&nsfw=dc blip.tv]
+
 It currently has the following capabilities:
 
-* there is a component bank with 4 hardcoded (but easily extensible) components
+* there is a component bank with hardcoded (but easily extensible) components
 * you can click on a component to add it to the blueprint
 * you can drag the components around
 * you can connect ports that are [Connectable]
 * you can invoke components that are [Invocable]
 * a few of the components have a GUI element which can be interacted with
 
-To build the GUI example, you will need to download [FLTK]. At some point
+The new version of the GUI examples uses the [@http://mat.ucsb.edu/glv/ glv library],
+which is included with dataflow. You can find the gui examples in the
+example/glv_gui directory.
+
+At some point
 I will probably develop another version for the [cppgui] library being
 developed.
 
-The main part of the code is as follows (the GUI classes can be found in
-the `examples/fltk_gui` directory):
+The main part of the code of one of the examples is as follows:
 
-[fltk_gui_example]
+[glv_gui_example]
 
 [endsect]
\ No newline at end of file

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 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -193,7 +193,7 @@
 
 [import ../example/blueprint/blueprint_example.cpp]
 
-[import ../example/fltk_gui/fltk_gui_example.cpp]
+[import ../example/glv_gui/glvgui_example.cpp]
 
 [include introduction/introduction.qbk]
 

Modified: sandbox/SOC/2007/signals/libs/dataflow/doc/introduction/introduction.qbk
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/introduction/introduction.qbk (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/introduction/introduction.qbk 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -403,10 +403,12 @@
 Released versions are located in the
 [@http://www.boost-consulting.com/vault/index.php?&directory=Dataflow Boost Vault].
 
-The Dataflow library uses the trunk version of Boost - it might not work
-perfectly with release versions of boost.
+The Dataflow library has been tested using a recent version of the Boost trunk,
+as well as the 1.35 release. Tests and examples have been built successfuly
+on OS X (GCC 4.0, 4.2), Linux (GCC 4.2), and Windows (MSVC 8.0 and to some degree
+MinGW GCC 4.2).
 
-Version 0.9.1 (under development)
+Version 0.9.1 \[[@http://www.boost-consulting.com/vault/index.php?direction=&order=&directory=Dataflow& available in the Boost vault]\]
 
 * Generic Dataflow layer
  * binary operations now propagate the return value
@@ -419,8 +421,21 @@
 * Added new Dataflow.Managed framework
  * added a gui example using GLV
  
+Short term to-do list:
+
+* keep working on docs, tests
+* default mechanisms for operations should be specified by the framework [Tag]
+* propagate return values where they should be propagated
+* Key used for [KeyedPort]s should be overridable (not always the [PortTraits])
+* binary_operation should take two [Tag] parameters
+* add support for cross-framework operations (`tag_adapter`?)
+* make dispatching possible on other than just the [PortTraits]
+* `port_adapter` should be renamed to `adapter`
+* [Invocable] should be a part of [UnaryOperable]
+
+See the [future_work] section for more information on what is planned.
+
 Version 0.9.0
- \[[@http://www.boost-consulting.com/vault/index.php?direction=&order=&directory=Dataflow& available in the Boost vault]\]
 
 * Generic Dataflow layer
  * Revamped [concepts] one more time
@@ -440,22 +455,7 @@
  * added a component bank class
  * added [gui_example an example GUI dataflow editor]
 
-Short term to-do list:
-
-* keep working on docs, tests
-* default mechanisms for operations should be specified by the framework [Tag]
-* propagate return values where they should be propagated
-* Key used for [KeyedPort]s should be overridable (not always the [PortTraits])
-* binary_operation should take two [Tag] parameters
-* add support for cross-framework operations (`tag_adapter`?)
-* make dispatching possible on other than just the [PortTraits]
-* `port_adapter` should be renamed to `adapter`
-* [Invocable] should be a part of [UnaryOperable]
-
-See the [future_work] section for more information on what is planned.
-
 Version 0.8.1
- \[[@http://www.boost-consulting.com/vault/index.php?direction=&order=&directory=Dataflow& available in the Boost vault]\]
 
 * Started the [DataflowBlueprint] layer (runtime reflection and network modeling).
 * Expanding the [Component] concept (compile-time reflection of ports).
@@ -467,8 +467,7 @@
   layers over the same types (the original intent of the [Mechanism]
   parameter).
 
-Version 0.8.0 -
- \[[@http://www.boost-consulting.com/vault/index.php?direction=&order=&directory=Dataflow& available in the Boost vault]\]
+Version 0.8.0
 
 * post-GSoC version
 * generic dataflow support layer with tests and examples

Modified: sandbox/SOC/2007/signals/libs/dataflow/doc/signals/introduction.qbk
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/doc/signals/introduction.qbk (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/doc/signals/introduction.qbk 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -212,11 +212,11 @@
 are identical except for the specifications that the components should be fused
 or unfused.
 
-The biggest differences come into play when the examples
+[/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.
 In these situations, the documentation should state the differences in code
-when using fused components.
+when using fused components.]
 
 [endsect][/fusion]
 

Modified: sandbox/SOC/2007/signals/libs/dataflow/example/Jamfile.v2
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/example/Jamfile.v2 (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/example/Jamfile.v2 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -6,9 +6,10 @@
 build-project VTK ;
 build-project signals ;
 build-project blueprint ;
-build-project fltk_gui ;
+#build-project fltk_gui ;
 build-project glv_gui ;
 #build-project cppgui_gui ;
+build-project threadpool ;
 
 project dataflow/example
     : requirements

Modified: sandbox/SOC/2007/signals/libs/dataflow/example/glv_gui/glvgui_example.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/example/glv_gui/glvgui_example.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/example/glv_gui/glvgui_example.cpp 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -1,4 +1,4 @@
-//[ cppgui_example
+//[ glv_gui_example
 
 // Copyright 2007 Stjepan Rajko.
 // Distributed under the Boost Software License, Version 1.0. (See
@@ -20,7 +20,7 @@
 namespace signals=boost::signals;
 namespace df=boost::dataflow;
 
-// A regular Dataflow.Signals component, sends and receives void(int)
+// A regular Dataflow.Signals component, sends and receives void(float)
 class output_valuator : public signals::filter<output_valuator, void(float), boost::mpl::vector<void(float)> >, public glv::Slider
 {
 public:
@@ -37,7 +37,7 @@
     }
 };
 
-// A regular Dataflow.Signals component, receives void(int)
+// A regular Dataflow.Signals component, receives void(float)
 class input_valuator : public boost::signals::filter<input_valuator, void(float)>, public glv::Slider
 {
 public:

Modified: sandbox/SOC/2007/signals/libs/dataflow/example/glv_gui/glvgui_vtk.cpp
==============================================================================
--- sandbox/SOC/2007/signals/libs/dataflow/example/glv_gui/glvgui_vtk.cpp (original)
+++ sandbox/SOC/2007/signals/libs/dataflow/example/glv_gui/glvgui_vtk.cpp 2008-08-27 01:53:48 EDT (Wed, 27 Aug 2008)
@@ -1,3 +1,5 @@
+//[ glv_gui_example
+
 // Copyright 2007 Stjepan Rajko.
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at


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