|
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