|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r49947 - in sandbox/dataflow-rewrite: boost/dataflow/blueprint boost/dataflow/detail boost/dataflow/generic boost/dataflow/generic/dynamic_vector boost/dataflow/generic/framework_entity boost/dataflow/generic/static_vector boost/dataflow/managed boost/dataflow/vivid libs/dataflow/build/managed libs/dataflow/build/xcodeide/dataflow.xcodeproj libs/dataflow/example/vivid libs/dataflow/src libs/dataflow/test libs/dataflow/test/blueprint libs/dataflow/test/generic libs/dataflow/test/managed
From: stipe_at_[hidden]
Date: 2008-11-26 16:57:48
Author: srajko
Date: 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
New Revision: 49947
URL: http://svn.boost.org/trac/boost/changeset/49947
Log:
added managed, dynamic_vector, entities
Added:
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_context.hpp (contents, props changed)
- copied, changed from r49676, /sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object.hpp
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_context_fwd.hpp (contents, props changed)
- copied, changed from r49676, /sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object_fwd.hpp
sandbox/dataflow-rewrite/boost/dataflow/detail/
sandbox/dataflow-rewrite/boost/dataflow/detail/make_ref.hpp (props changed)
- copied unchanged from r48363, /sandbox/SOC/2007/signals/boost/dataflow/detail/make_ref.hpp
sandbox/dataflow-rewrite/boost/dataflow/detail/not_specialized.hpp (contents, props changed)
sandbox/dataflow-rewrite/boost/dataflow/detail/transform_remove_reference.hpp (props changed)
- copied unchanged from r48363, /sandbox/SOC/2007/signals/boost/dataflow/detail/transform_remove_reference.hpp
sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector/
sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector.hpp (contents, props changed)
sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector/dynamic_vector.hpp (contents, props changed)
sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector/traits.hpp (contents, props changed)
sandbox/dataflow-rewrite/boost/dataflow/generic/entities.hpp (contents, props changed)
sandbox/dataflow-rewrite/boost/dataflow/managed/ (props changed)
- copied from r48363, /sandbox/SOC/2007/signals/boost/dataflow/managed/
sandbox/dataflow-rewrite/libs/dataflow/build/managed/ (props changed)
- copied from r48363, /sandbox/SOC/2007/signals/libs/dataflow/build/managed/
sandbox/dataflow-rewrite/libs/dataflow/example/vivid/vivid_managed_example.cpp (contents, props changed)
sandbox/dataflow-rewrite/libs/dataflow/src/ (props changed)
- copied from r48363, /sandbox/SOC/2007/signals/libs/dataflow/src/
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/my_blueprint_static_vector.hpp (contents, props changed)
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_context.cpp (contents, props changed)
- copied, changed from r49676, /sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_object.cpp
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_static_vector.cpp (contents, props changed)
sandbox/dataflow-rewrite/libs/dataflow/test/generic/my_dynamic_vector.hpp (contents, props changed)
sandbox/dataflow-rewrite/libs/dataflow/test/generic/my_framework_with_context.hpp (props changed)
- copied unchanged from r49676, /sandbox/dataflow-rewrite/libs/dataflow/test/generic/my_framework_with_object.hpp
sandbox/dataflow-rewrite/libs/dataflow/test/generic/test_dynamic_vector.cpp (contents, props changed)
sandbox/dataflow-rewrite/libs/dataflow/test/managed/ (props changed)
- copied from r48363, /sandbox/SOC/2007/signals/libs/dataflow/test/managed/
Removed:
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object.hpp
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object_fwd.hpp
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_object.cpp
sandbox/dataflow-rewrite/libs/dataflow/test/generic/my_framework_with_object.hpp
Text files modified:
sandbox/dataflow-rewrite/boost/dataflow/blueprint/factory.hpp | 2
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework.hpp | 6 +-
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_context.hpp | 18 ++++----
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_context_fwd.hpp | 2
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_entity.hpp | 14 +++---
sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_entity_adapter.hpp | 16 +++----
sandbox/dataflow-rewrite/boost/dataflow/blueprint/port.hpp | 2
sandbox/dataflow-rewrite/boost/dataflow/blueprint/port_adapter.hpp | 6 +-
sandbox/dataflow-rewrite/boost/dataflow/blueprint/port_binary_operation.hpp | 10 ++--
sandbox/dataflow-rewrite/boost/dataflow/generic/framework.hpp | 8 +-
sandbox/dataflow-rewrite/boost/dataflow/generic/framework_entity/traits_sequence_intrusive_registration.hpp | 11 +++-
sandbox/dataflow-rewrite/boost/dataflow/generic/fusion_static_vector.hpp | 21 ++++++---
sandbox/dataflow-rewrite/boost/dataflow/generic/port_binary_operation.hpp | 10 +---
sandbox/dataflow-rewrite/boost/dataflow/generic/static_vector/get_port.hpp | 10 +---
sandbox/dataflow-rewrite/boost/dataflow/generic/static_vector/traits.hpp | 6 +-
sandbox/dataflow-rewrite/boost/dataflow/managed/fusion_component.hpp | 26 +++++-----
sandbox/dataflow-rewrite/boost/dataflow/managed/port.hpp | 10 ++--
sandbox/dataflow-rewrite/boost/dataflow/managed/support.hpp | 4
sandbox/dataflow-rewrite/boost/dataflow/vivid/factory_window.hpp | 2
sandbox/dataflow-rewrite/boost/dataflow/vivid/network_window.hpp | 8 +-
sandbox/dataflow-rewrite/libs/dataflow/build/xcodeide/dataflow.xcodeproj/project.pbxproj | 90 ++++++++++++++++++++++++++++++++++++---
sandbox/dataflow-rewrite/libs/dataflow/example/vivid/Jamfile | 1
sandbox/dataflow-rewrite/libs/dataflow/example/vivid/vivid_graph_example.cpp | 7 +-
sandbox/dataflow-rewrite/libs/dataflow/test/Jamfile | 1
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/Jamfile | 3
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/my_blueprint_framework.hpp | 4
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_factory.cpp | 4
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_context.cpp | 8 +-
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_entity.cpp | 3
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port.cpp | 2
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port_binary_operation.cpp | 2
sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port_binary_operation_implementation.cpp | 2
sandbox/dataflow-rewrite/libs/dataflow/test/generic/Jamfile | 2
sandbox/dataflow-rewrite/libs/dataflow/test/generic/test_framework.cpp | 8 +-
sandbox/dataflow-rewrite/libs/dataflow/test/managed/test_fusion_component.cpp | 22 ++++----
35 files changed, 214 insertions(+), 137 deletions(-)
Modified: sandbox/dataflow-rewrite/boost/dataflow/blueprint/factory.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/factory.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/factory.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -52,7 +52,7 @@
{
typedef typename BlueprintFramework::framework_type framework_type;
typedef framework_entity<BlueprintFramework> entity_type;
- typedef boost::function<entity_type * (framework_object<BlueprintFramework> &)> function_type;
+ typedef boost::function<entity_type * (framework_context<BlueprintFramework> &)> function_type;
typedef std::map<std::string, function_type> map_type;
public:
typedef key_iterator<map_type> iterator;
Modified: sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -10,7 +10,7 @@
#define BOOST__DATAFLOW__BLUEPRINT__FRAMEWORK_HPP
-#include <boost/dataflow/blueprint/framework_object_fwd.hpp>
+#include <boost/dataflow/blueprint/framework_context_fwd.hpp>
#include <boost/dataflow/blueprint/operation.hpp>
#include <boost/dataflow/generic/framework.hpp>
#include <boost/mpl/bool.hpp>
@@ -22,8 +22,8 @@
template<typename Framework> struct framework : public Framework
{
typedef Framework framework_type;
- typedef framework_object<Framework> framework_object_type;
- typedef typename has_framework_object<Framework>::type framework_has_object;
+ typedef framework_context<Framework> framework_context_type;
+ typedef typename has_framework_context<Framework>::type framework_has_object;
typedef mpl::vector<operation> operations;
};
Copied: sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_context.hpp (from r49676, /sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object.hpp)
==============================================================================
--- /sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_context.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -11,7 +11,7 @@
#include <map>
#include <typeinfo>
-#include <boost/dataflow/blueprint/framework_object_fwd.hpp>
+#include <boost/dataflow/blueprint/framework_context_fwd.hpp>
#include <boost/dataflow/blueprint/port_binary_operation_implementation_adapter.hpp>
#include <boost/shared_ptr.hpp>
@@ -66,14 +66,14 @@
};
template<typename BlueprintFramework>
-class framework_object_base
+class framework_context_base
{
BOOST_MPL_ASSERT((is_blueprint_framework<BlueprintFramework>));
typedef shared_ptr<port_binary_operation_implementation<BlueprintFramework> > implementation_ptr;
typedef port<BlueprintFramework> port_type;
public:
- bool operator == (const framework_object_base &rhs) const
+ bool operator == (const framework_context_base &rhs) const
{
return this == &rhs;
}
@@ -113,16 +113,16 @@
template<typename BlueprintFramework, typename Enable>
-class framework_object
- : public framework_object_base<BlueprintFramework>
+class framework_context
+ : public framework_context_base<BlueprintFramework>
{};
template<typename BlueprintFramework>
-class framework_object<BlueprintFramework,
- typename boost::enable_if<has_framework_object<typename BlueprintFramework::framework_type> >::type>
- : public framework_object_base<BlueprintFramework>
+class framework_context<BlueprintFramework,
+ typename boost::enable_if<has_framework_context<typename BlueprintFramework::framework_type> >::type>
+ : public framework_context_base<BlueprintFramework>
{
- typedef typename BlueprintFramework::framework_type::framework_object_type object_type;
+ typedef typename BlueprintFramework::framework_type::framework_context_type object_type;
public:
object_type &object()
{ return m_object; }
Copied: sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_context_fwd.hpp (from r49676, /sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object_fwd.hpp)
==============================================================================
--- /sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object_fwd.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_context_fwd.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -12,7 +12,7 @@
namespace boost { namespace dataflow { namespace blueprint {
template<typename BlueprintFramework, typename Enable=void>
-class framework_object;
+class framework_context;
} } }
Modified: sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_entity.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_entity.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_entity.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -11,28 +11,28 @@
#include <boost/dataflow/blueprint/castable_polymorphic_object.hpp>
-#include <boost/dataflow/blueprint/framework_object_fwd.hpp>
+#include <boost/dataflow/blueprint/framework_context_fwd.hpp>
namespace boost { namespace dataflow { namespace blueprint {
template<typename BlueprintFramework>
class framework_entity : public castable_polymorphic_object
{
- typedef framework_object<BlueprintFramework> framework_object_type;
+ typedef framework_context<BlueprintFramework> framework_context_type;
public:
struct dataflow_traits
{
typedef BlueprintFramework framework;
};
- framework_entity(framework_object<BlueprintFramework> &fo, const std::type_info &ti)
+ framework_entity(framework_context<BlueprintFramework> &fo, const std::type_info &ti)
: castable_polymorphic_object(ti)
- , m_framework_object(fo)
+ , m_framework_context(fo)
{}
- framework_object_type &framework_object()
- { return m_framework_object; }
+ framework_context_type &framework_context()
+ { return m_framework_context; }
private:
- framework_object_type &m_framework_object;
+ framework_context_type &m_framework_context;
};
} } } // namespace boost::dataflow::blueprint
Modified: sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_entity_adapter.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_entity_adapter.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_entity_adapter.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -11,7 +11,7 @@
#include <boost/dataflow/blueprint/framework_entity.hpp>
-#include <boost/dataflow/blueprint/framework_object.hpp>
+#include <boost/dataflow/blueprint/framework_context.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/utility/enable_if.hpp>
@@ -24,16 +24,16 @@
public:
typedef typename remove_reference<EntityOrRef>::type entity_type;
- framework_entity_adapter(framework_object<BlueprintFramework> &fo)
+ framework_entity_adapter(framework_context<BlueprintFramework> &fo)
: Base(fo, typeid(m_entity))
{}
template<typename T>
- framework_entity_adapter(framework_object<BlueprintFramework> &fo, const T &t)
+ framework_entity_adapter(framework_context<BlueprintFramework> &fo, const T &t)
: Base(fo, typeid(m_entity))
, m_entity(t)
{}
template<typename T>
- framework_entity_adapter(framework_object<BlueprintFramework> &fo, T &t)
+ framework_entity_adapter(framework_context<BlueprintFramework> &fo, T &t)
: Base(fo, typeid(m_entity))
, m_entity(t)
{}
@@ -53,17 +53,17 @@
public:
typedef typename remove_reference<EntityOrRef>::type entity_type;
- framework_entity_adapter(framework_object<BlueprintFramework> &fo)
+ framework_entity_adapter(framework_context<BlueprintFramework> &fo)
: Base(fo, typeid(m_entity))
, m_entity(fo.object())
{}
template<typename T>
- framework_entity_adapter(framework_object<BlueprintFramework> &fo, const T &t)
+ framework_entity_adapter(framework_context<BlueprintFramework> &fo, const T &t)
: Base(fo, typeid(m_entity))
, m_entity(t)
{}
template<typename T>
- framework_entity_adapter(framework_object<BlueprintFramework> &fo, T &t)
+ framework_entity_adapter(framework_context<BlueprintFramework> &fo, T &t)
: Base(fo, typeid(m_entity))
, m_entity(t)
{}
Deleted: sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
+++ (empty file)
@@ -1,139 +0,0 @@
-/*=================================---------------------------------------------
- Copyright 2007,2008 Stjepan Rajko
-
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
------------------------------------------------===============================*/
-
-#ifndef BOOST__DATAFLOW__BLUEPRINT__FRAMEWORK_OBJECT_HPP
-#define BOOST__DATAFLOW__BLUEPRINT__FRAMEWORK_OBJECT_HPP
-
-#include <map>
-#include <typeinfo>
-#include <boost/dataflow/blueprint/framework_object_fwd.hpp>
-#include <boost/dataflow/blueprint/port_binary_operation_implementation_adapter.hpp>
-#include <boost/shared_ptr.hpp>
-
-namespace boost { namespace dataflow { namespace blueprint {
-
-struct port_binary_operation_key
-{
-protected:
- port_binary_operation_key()
- {}
-public:
- template<typename Port1, typename Port2>
- port_binary_operation_key(Port1 &port1, Port2 &port2, const operation &op)
- {
- m_type_info[0] = &port1.type_info();
- m_type_info[1] = &port2.type_info();
- m_type_info[2] = &op.type_info();
- }
-public:
- bool operator == (const port_binary_operation_key &rhs) const
- {
- for(int i=0; i<3; i++)
- if(*m_type_info[i] != *rhs.m_type_info[i])
- return false;
- return true;
- }
- bool operator < (const port_binary_operation_key &rhs) const
- {
- for(int i=0; i<3; i++)
- {
- if(m_type_info[i]->before(*rhs.m_type_info[i]))
- return true;
- if(!(*m_type_info[i] == *rhs.m_type_info[i]))
- return false;
- }
- return false;
- }
-protected:
- const std::type_info *m_type_info[3];
-};
-
-template<typename Port1, typename Port2, typename Operation>
-class construct_port_binary_operation_key : public port_binary_operation_key
-{
-public:
- construct_port_binary_operation_key()
- {
- m_type_info[0] = &typeid(Port1);
- m_type_info[1] = &typeid(Port2);
- m_type_info[2] = &typeid(Operation);
- }
-};
-
-template<typename BlueprintFramework>
-class framework_object_base
-{
- BOOST_MPL_ASSERT((is_blueprint_framework<BlueprintFramework>));
-
- typedef shared_ptr<port_binary_operation_implementation<BlueprintFramework> > implementation_ptr;
- typedef port<BlueprintFramework> port_type;
-public:
- bool operator == (const framework_object_base &rhs) const
- {
- return this == &rhs;
- }
- template<typename Port1, typename Port2, typename Operation>
- void register_operation()
- {
- port_binary_operation_key key = construct_port_binary_operation_key<Port1,Port2,Operation>();
- m_operation_implementations[key] = implementation_ptr(
- new port_binary_operation_implementation_adapter<Port1,Port2,Operation,BlueprintFramework>);
- }
- template<typename Port1, typename Port2, typename Operation>
- bool has_registered_operation() const
- {
- port_binary_operation_key key = construct_port_binary_operation_key<Port1,Port2,Operation>();
- return m_operation_implementations.find(key) != m_operation_implementations.end();
- }
- boost::any port_binary_operation(port_type &port1, port_type &port2, const blueprint::operation &op)
- {
- port_binary_operation_key key(port1, port2, op);
- typename operation_implementations_type::iterator it = m_operation_implementations.find(key);
- if (it == m_operation_implementations.end())
- return boost::any();
- return it->second->invoke(port1, port2, op);
- }
- bool port_binary_operation_will_succeed(port_type &port1, port_type &port2, const blueprint::operation &op)
- {
- port_binary_operation_key key(port1, port2, op);
- typename operation_implementations_type::iterator it = m_operation_implementations.find(key);
- if (it == m_operation_implementations.end())
- return false;
- return it->second->will_succeed(port1, port2, op);
- }
-private:
- typedef std::map<port_binary_operation_key, implementation_ptr> operation_implementations_type;
- std::map<port_binary_operation_key, implementation_ptr> m_operation_implementations;
-};
-
-
-template<typename BlueprintFramework, typename Enable>
-class framework_object
- : public framework_object_base<BlueprintFramework>
-{};
-
-template<typename BlueprintFramework>
-class framework_object<BlueprintFramework,
- typename boost::enable_if<has_framework_object<typename BlueprintFramework::framework_type> >::type>
- : public framework_object_base<BlueprintFramework>
-{
- typedef typename BlueprintFramework::framework_type::framework_object_type object_type;
-public:
- object_type &object()
- { return m_object; }
- const object_type &object() const
- { return m_object; }
-private:
- object_type m_object;
-};
-
-
-} } } // namespace boost::dataflow::blueprint
-
-
-#endif // BOOST__DATAFLOW__BLUEPRINT__FRAMEWORK_OBJECT_HPP
Deleted: sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object_fwd.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/framework_object_fwd.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
+++ (empty file)
@@ -1,19 +0,0 @@
-/*=================================---------------------------------------------
- Copyright 2007,2008 Stjepan Rajko
-
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
------------------------------------------------===============================*/
-
-#ifndef BOOST__DATAFLOW__BLUEPRINT__FRAMEWORK_OBJECT_FWD_HPP
-#define BOOST__DATAFLOW__BLUEPRINT__FRAMEWORK_OBJECT_FWD_HPP
-
-namespace boost { namespace dataflow { namespace blueprint {
-
-template<typename BlueprintFramework, typename Enable=void>
-class framework_object;
-
-} } }
-
-#endif
Modified: sandbox/dataflow-rewrite/boost/dataflow/blueprint/port.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/port.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/port.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -20,7 +20,7 @@
{
typedef framework_entity<BlueprintFramework> base_type;
public:
- port(framework_object<BlueprintFramework> &fo, const std::type_info &ti)
+ port(framework_context<BlueprintFramework> &fo, const std::type_info &ti)
: base_type(fo, ti)
{}
struct dataflow_traits : public base_type::dataflow_traits
Modified: sandbox/dataflow-rewrite/boost/dataflow/blueprint/port_adapter.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/port_adapter.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/port_adapter.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -21,16 +21,16 @@
{
typedef framework_entity_adapter<BlueprintFramework, PortOrRef, Base> base_type;
public:
- port_adapter(framework_object<BlueprintFramework> &fo)
+ port_adapter(framework_context<BlueprintFramework> &fo)
: base_type(fo)
{}
template<typename T>
- port_adapter(framework_object<BlueprintFramework> &fo, const T &t)
+ port_adapter(framework_context<BlueprintFramework> &fo, const T &t)
: base_type(fo, t)
{}
template<typename T>
- port_adapter(framework_object<BlueprintFramework> &fo, T &t)
+ port_adapter(framework_context<BlueprintFramework> &fo, T &t)
: base_type(fo, t)
{}
};
Modified: sandbox/dataflow-rewrite/boost/dataflow/blueprint/port_binary_operation.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/blueprint/port_binary_operation.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/blueprint/port_binary_operation.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -13,7 +13,7 @@
#include <boost/dataflow/generic/port_binary_operation.hpp>
#include <boost/dataflow/generic/framework_entity/traits_of.hpp>
#include <boost/dataflow/blueprint/framework.hpp>
-#include <boost/dataflow/blueprint/framework_object.hpp>
+#include <boost/dataflow/blueprint/framework_context.hpp>
#include <boost/dataflow/blueprint/operation.hpp>
#include <boost/assert.hpp>
@@ -33,8 +33,8 @@
template<typename Port1, typename Port2>
boost::any operator()(Port1 &port1, Port2 &port2, const blueprint::operation &operation)
{
- BOOST_ASSERT(port1.framework_object() == port2.framework_object());
- return port1.framework_object().port_binary_operation(port1, port2, operation);
+ BOOST_ASSERT(port1.framework_context() == port2.framework_context());
+ return port1.framework_context().port_binary_operation(port1, port2, operation);
}
};
@@ -52,8 +52,8 @@
template<typename Port1, typename Port2>
bool operator()(Port1 &port1, Port2 &port2, const blueprint::operation &operation)
{
- BOOST_ASSERT(port1.framework_object() == port2.framework_object());
- return port1.framework_object().port_binary_operation_will_succeed(port1, port2, operation);
+ BOOST_ASSERT(port1.framework_context() == port2.framework_context());
+ return port1.framework_context().port_binary_operation_will_succeed(port1, port2, operation);
}
};
Added: sandbox/dataflow-rewrite/boost/dataflow/detail/not_specialized.hpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/boost/dataflow/detail/not_specialized.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,24 @@
+/*=================================---------------------------------------------
+ Copyright 2007,2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+#ifndef BOOST__DATAFLOW__DETAIL__NOT_SPECIALIZED_HPP
+#define BOOST__DATAFLOW__DETAIL__NOT_SPECIALIZED_HPP
+
+
+namespace boost { namespace dataflow {
+
+namespace detail {
+
+ struct not_specialized
+ {};
+
+}
+
+}}
+
+#endif // BOOST__DATAFLOW__DETAIL__NOT_SPECIALIZED_HPP
\ No newline at end of file
Added: sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector.hpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,11 @@
+/*=================================---------------------------------------------
+ Copyright 2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+
+#include <boost/dataflow/generic/dynamic_vector/dynamic_vector.hpp>
+#include <boost/dataflow/generic/entities.hpp>
Added: sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector/dynamic_vector.hpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector/dynamic_vector.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,59 @@
+/*=================================---------------------------------------------
+ Copyright 2007,2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+
+#ifndef BOOST__DATAFLOW__GENERIC__DYNAMIC_VECTOR__DYNAMIC_VECTOR_HPP
+#define BOOST__DATAFLOW__GENERIC__DYNAMIC_VECTOR__DYNAMIC_VECTOR_HPP
+
+#include <boost/dataflow/generic/dynamic_vector/traits.hpp>
+#include <boost/dataflow/generic/framework_entity/default_framework_of.hpp>
+#include <boost/dataflow/generic/framework_entity/traits_of.hpp>
+
+namespace boost { namespace dataflow {
+
+/// Boolean Metafunction determining whether a type is a Port.
+/** is_port<T, Framework> is an Integral Constant of type bool.
+ It evaluates to true if T models Port, false otherwise.
+*/
+template<typename T, typename Framework=typename default_framework_of<T>::type, typename Enable=void>
+struct is_dynamic_vector
+ : public mpl::false_
+{
+#ifdef DOXYGEN_DOCS_BUILD
+ /// Integral Constant value type
+ typedef bool value_type;
+ /// true if T models Port, false otherwise.
+ typedef detail::unspecified value;
+ /// Integral Constant
+ typedef detail::unspecified type;
+#endif
+};
+
+/// INTERNAL ONLY
+template<typename T, typename Framework>
+struct is_dynamic_vector<
+ T,
+ Framework,
+ typename enable_if<
+ is_dynamic_vector_traits<typename traits_of<T, Framework>::type>
+ >::type >
+ : public mpl::true_ {};
+
+/// Convenience base class for Port types.
+template<typename DynamicVectorTraits>
+struct dynamic_vector
+{
+ /// PortTraits for the Port.
+ typedef DynamicVectorTraits dataflow_traits;
+ /// INTERNAL ONLY
+ BOOST_MPL_ASSERT(( is_dynamic_vector_traits<DynamicVectorTraits> ));
+};
+
+} } // namespace boost::dataflow
+
+#endif // BOOST__DATAFLOW__GENERIC__DYNAMIC_VECTOR__DYNAMIC_VECTOR_HPP
Added: sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector/traits.hpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/dynamic_vector/traits.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,51 @@
+/*=================================---------------------------------------------
+ Copyright 2007,2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+
+#ifndef BOOST__DATAFLOW__GENERIC__DYNAMIC_VECTOR__TRAITS_HPP
+#define BOOST__DATAFLOW__GENERIC__DYNAMIC_VECTOR__TRAITS_HPP
+
+#include <boost/dataflow/generic/framework_entity/traits.hpp>
+#include <boost/mpl/is_sequence.hpp>
+
+namespace boost { namespace dataflow {
+
+template<typename Entity, typename Framework=default_framework>
+struct dynamic_vector_traits
+ : public traits<Framework>
+{
+ typedef Entity entity;
+};
+
+/// Boolean Metafunction determining whether a type is a PortTraits.
+template<typename StaticVectorTraits, typename Enable=detail::enable_guard>
+struct is_dynamic_vector_traits : public mpl::false_
+{
+ /// INTERNAL ONLY
+ BOOST_MPL_ASSERT(( is_same<Enable, detail::enable_guard> ));
+};
+
+/// INTERNAL ONLY
+template<typename DynamicVectorTraits>
+struct is_dynamic_vector_traits<DynamicVectorTraits,
+ typename utility::enable_if_type<
+ utility::all_of<
+ typename DynamicVectorTraits::framework,
+ typename DynamicVectorTraits::entity
+ >,
+ detail::enable_guard
+ >::type>
+ : public mpl::true_
+{
+ /// INTERNAL ONLY
+ BOOST_MPL_ASSERT(( is_framework<typename DynamicVectorTraits::framework>));
+};
+
+} } // namespace boost::dataflow
+
+#endif // BOOST__DATAFLOW__GENERIC__DYNAMIC_VECTOR__TRAITS_HPP
Added: sandbox/dataflow-rewrite/boost/dataflow/generic/entities.hpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/entities.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,210 @@
+/*=================================---------------------------------------------
+ Copyright 2007,2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+#ifndef BOOST__DATAFLOW__GENERIC__ENTITIES_HPP
+#define BOOST__DATAFLOW__GENERIC__ENTITIES_HPP
+
+
+#include <boost/mpl/assert.hpp>
+#include <boost/utility/result_of.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/dataflow/generic/framework_entity/default_framework_of.hpp>
+#include <boost/dataflow/generic/framework_entity/traits_of.hpp>
+#include <boost/dataflow/detail/not_specialized.hpp>
+
+
+#include <boost/dataflow/generic/framework_entity.hpp>
+namespace boost { namespace dataflow {
+
+namespace extension
+{
+ template<typename Traits1,typename Enable=void>
+ struct entities_impl
+ {
+ BOOST_MPL_ASSERT(( is_same<Enable, void> ));
+
+ typedef detail::not_specialized result_type;
+
+ template<typename T1>
+ result_type operator()(T1 &t1)
+ {
+ // Error: entities_impl has not been
+ // specialized appropriately.
+ BOOST_MPL_ASSERT(( mpl::bool_<sizeof(T1)==0> ));
+ return result_type();
+ }
+ };
+
+ template<typename Traits1,typename Enable=void>
+ struct entities_will_succeed_impl
+ {
+ BOOST_MPL_ASSERT(( is_same<Enable, void> ));
+
+ typedef bool result_type;
+
+ template<typename T1>
+ result_type operator()(T1 &t1)
+ {
+ return
+ !is_same<
+ typename extension::entities_impl<
+ Traits1
+ >::result_type,
+ detail::not_specialized
+ >::value;
+ }
+ };
+}
+
+namespace detail
+{
+
+ template<typename T1,typename Framework1=typename default_framework_of<T1>::type,typename Enable=void>
+ struct has_entities_specialized
+ : public mpl::true_
+ {};
+
+ template<typename T1,typename Framework1>
+ struct has_entities_specialized<
+ T1,Framework1
+ ,
+ typename enable_if<
+ is_same<
+ typename extension::entities_impl<
+ typename traits_of<T1, Framework1>::type
+ >::result_type,
+ detail::not_specialized>
+ >::type>
+ : public mpl::false_
+ {};
+
+}
+
+template<typename T1,typename Framework1=typename default_framework_of<T1>::type,typename Enable=void>
+struct has_entities
+ : public mpl::false_
+{
+ BOOST_MPL_ASSERT((mpl::and_<is_framework_entity<T1,Framework1> >));
+};
+
+template<typename T1,typename Framework1>
+struct has_entities<
+ T1,Framework1,
+ typename enable_if<
+ detail::has_entities_specialized<
+ T1,Framework1>
+ >::type>
+ : public mpl::true_
+{
+ BOOST_MPL_ASSERT((mpl::and_<is_framework_entity<T1,Framework1> >));
+};
+
+namespace result_of {
+
+ template<typename T1,typename Framework1=typename default_framework_of<T1>::type>
+ struct entities
+ {
+ typedef typename boost::result_of<
+ extension::entities_impl<
+ typename traits_of<T1, Framework1>::type
+ >
+ (T1)
+ >::type type;
+ };
+
+}
+
+
+template<typename Framework1,typename T1>
+inline typename result_of::entities<
+ T1,Framework1
+ >::type
+entities_framework(T1 &t1)
+{
+ return extension::entities_impl<
+ typename traits_of<T1, Framework1>::type
+ >()(t1);
+}
+
+template<typename T1>
+inline typename result_of::entities<
+ T1,typename default_framework_of<T1>::type
+ >::type
+entities(T1 &t1)
+{
+ typedef typename default_framework_of<T1>::type Framework1;
+ return extension::entities_impl<
+ typename traits_of<T1, Framework1>::type
+ >()(t1);
+}
+
+template<typename Framework1,typename T1>
+inline bool
+entities_will_succeed_framework(T1 &t1)
+{
+ return extension::entities_will_succeed_impl<
+ typename traits_of<T1, Framework1>::type
+ >()(t1);
+}
+
+template<typename T1>
+inline bool
+entities_will_succeed(T1 &t1)
+{
+ typedef typename default_framework_of<T1>::type Framework1;
+ return extension::entities_will_succeed_impl<
+ typename traits_of<T1, Framework1>::type
+ >()(t1);
+}
+
+template<typename Framework1,typename T1>
+inline typename result_of::entities<
+ T1,Framework1
+ >::type
+entities_framework(const T1 &t1)
+{
+ return extension::entities_impl<
+ typename traits_of<T1, Framework1>::type
+ >()(t1);
+}
+
+template<typename T1>
+inline typename result_of::entities<
+ T1,typename default_framework_of<T1>::type
+ >::type
+entities(const T1 &t1)
+{
+ typedef typename default_framework_of<T1>::type Framework1;
+ return extension::entities_impl<
+ typename traits_of<T1, Framework1>::type
+ >()(t1);
+}
+
+template<typename Framework1,typename T1>
+inline bool
+entities_will_succeed_framework(const T1 &t1)
+{
+ return extension::entities_will_succeed_impl<
+ typename traits_of<T1, Framework1>::type
+ >()(t1);
+}
+
+template<typename T1>
+inline bool
+entities_will_succeed(const T1 &t1)
+{
+ typedef typename default_framework_of<T1>::type Framework1;
+ return extension::entities_will_succeed_impl<
+ typename traits_of<T1, Framework1>::type
+ >()(t1);
+}
+
+}}
+
+
+#endif // BOOST__DATAFLOW__GENERIC__ENTITIES_HPP
Modified: sandbox/dataflow-rewrite/boost/dataflow/generic/framework.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/generic/framework.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/framework.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -26,7 +26,7 @@
struct framework
{
typedef typename utility::forced_sequence<Operations>::type operations;
- typedef FrameworkObject framework_object_type;
+ typedef FrameworkObject framework_context_type;
};
template<typename Operations>
@@ -58,12 +58,12 @@
/// Boolean metafunction determining whether a type is a Framework.
template<typename T, typename Enable=void>
-struct has_framework_object
+struct has_framework_context
: public mpl::false_ {};
template<typename T>
-struct has_framework_object<T,
- typename utility::enable_if_type<typename T::framework_object_type>::type>
+struct has_framework_context<T,
+ typename utility::enable_if_type<typename T::framework_context_type>::type>
: public mpl::true_ {};
} } // namespace boost::dataflow
Modified: sandbox/dataflow-rewrite/boost/dataflow/generic/framework_entity/traits_sequence_intrusive_registration.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/generic/framework_entity/traits_sequence_intrusive_registration.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/framework_entity/traits_sequence_intrusive_registration.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -29,6 +29,12 @@
typedef typename is_same<Framework, typename mpl::at_c<typename T::dataflow_traits, N>::type::tag>::type type;
};
+ template<int Iteration, typename Sequence>
+ struct lazy_is_less_than_size
+ {
+ typedef typename mpl::less<mpl::int_<Iteration>, typename mpl::size<Sequence>::type>::type type;
+ };
+
}
} }
@@ -50,10 +56,7 @@
typename enable_if<
mpl::and_<
mpl::is_sequence<typename T::dataflow_traits>,
- typename mpl::less<
- mpl::int_<BOOST_PP_ITERATION()>,
- typename mpl::size<typename T::dataflow_traits>::type
- >::type,
+ detail::lazy_is_less_than_size<BOOST_PP_ITERATION(), typename T::dataflow_traits>,
detail::lazy_is_same_traits_tag<Framework, T, BOOST_PP_ITERATION()>
>
>::type
Modified: sandbox/dataflow-rewrite/boost/dataflow/generic/fusion_static_vector.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/generic/fusion_static_vector.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/fusion_static_vector.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -11,7 +11,7 @@
#define BOOST__DATAFLOW__GENERIC__FUSION_STATIC_VECTOR_HPP
#include <boost/dataflow/detail/transform_remove_reference.hpp>
-#include <boost/dataflow/support/port_vector.hpp>
+#include <boost/dataflow/generic/static_vector.hpp>
#include <boost/fusion/container/vector.hpp>
#include <boost/fusion/include/adapted.hpp>
@@ -22,17 +22,24 @@
namespace boost { namespace dataflow {
+template<typename EntitySequence, typename Framework>
+struct fusion_static_vector_traits
+ : public traits<Framework>
+{
+ typedef EntitySequence entities;
+};
+
template<typename T, typename Enable=void>
-struct is_fusion_port_vector_traits
+struct is_fusion_static_vector_traits
: public mpl::false_ {};
template<typename T>
-struct is_fusion_port_vector_traits<
+struct is_fusion_static_vector_traits<
T,
typename enable_if<
mpl::and_<
is_traits<T>,
- fusion::traits::is_sequence<typename T::fusion_ports>
+ fusion::traits::is_sequence<typename T::entities>
> >::type >
: public mpl::true_
{};
@@ -43,16 +50,16 @@
template<typename Traits>
struct get_port_impl<
Traits,
- typename enable_if<is_fusion_port_vector_traits<Traits> >::type >
+ typename enable_if<is_fusion_static_vector_traits<Traits> >::type >
{
template<typename FArgs>
struct result;
template<typename F, typename Entity, typename N>
- struct result<F(Entity &, N)>
+ struct result<F(Entity, N)>
{
typedef typename fusion::result_of::value_at<
- typename Traits::fusion_ports,
+ typename Traits::entities,
N>::type type;
};
Modified: sandbox/dataflow-rewrite/boost/dataflow/generic/port_binary_operation.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/generic/port_binary_operation.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/port_binary_operation.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -15,15 +15,11 @@
#include <boost/type_traits/is_same.hpp>
#include <boost/dataflow/generic/framework_entity/default_framework_of.hpp>
#include <boost/dataflow/generic/framework_entity/traits_of.hpp>
-#include <boost/dataflow/generic/port/port.hpp>
-namespace boost { namespace dataflow {
+#include <boost/dataflow/detail/not_specialized.hpp>
-namespace detail {
-
- struct not_specialized
- {};
-}
+#include <boost/dataflow/generic/port/port.hpp>
+namespace boost { namespace dataflow {
namespace extension
{
Modified: sandbox/dataflow-rewrite/boost/dataflow/generic/static_vector/get_port.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/generic/static_vector/get_port.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/static_vector/get_port.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -15,15 +15,11 @@
#include <boost/type_traits/is_same.hpp>
#include <boost/dataflow/generic/framework_entity/default_framework_of.hpp>
#include <boost/dataflow/generic/framework_entity/traits_of.hpp>
-#include <boost/dataflow/generic/framework_entity.hpp>
-namespace boost { namespace dataflow {
+#include <boost/dataflow/detail/not_specialized.hpp>
-namespace detail {
-
- struct not_specialized
- {};
-}
+#include <boost/dataflow/generic/framework_entity.hpp>
+namespace boost { namespace dataflow {
namespace extension
{
Modified: sandbox/dataflow-rewrite/boost/dataflow/generic/static_vector/traits.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/generic/static_vector/traits.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/generic/static_vector/traits.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -19,7 +19,7 @@
struct static_vector_traits
: public traits<Framework>
{
- typedef EntitySequence static_ports;
+ typedef EntitySequence entity_sequence;
BOOST_MPL_ASSERT(( mpl::is_sequence<EntitySequence> ));
};
@@ -37,7 +37,7 @@
typename utility::enable_if_type<
utility::all_of<
typename StaticVectorTraits::framework,
- typename StaticVectorTraits::static_ports
+ typename StaticVectorTraits::entity_sequence
>,
detail::enable_guard
>::type>
@@ -46,7 +46,7 @@
/// INTERNAL ONLY
BOOST_MPL_ASSERT(( is_framework<typename StaticVectorTraits::framework>));
/// INTERNAL ONLY
- BOOST_MPL_ASSERT(( mpl::is_sequence<typename StaticVectorTraits::static_ports> ));
+ BOOST_MPL_ASSERT(( mpl::is_sequence<typename StaticVectorTraits::entity_sequence> ));
};
} } // namespace boost::dataflow
Modified: sandbox/dataflow-rewrite/boost/dataflow/managed/fusion_component.hpp
==============================================================================
--- /sandbox/SOC/2007/signals/boost/dataflow/managed/fusion_component.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/managed/fusion_component.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -7,10 +7,10 @@
#define BOOST_DATAFLOW_MANAGED_FUSION_COMPONENT_HPP
#include <boost/dataflow/detail/make_ref.hpp>
-#include <boost/dataflow/support/fusion_component.hpp>
+#include <boost/dataflow/generic/fusion_static_vector.hpp>
#include <boost/dataflow/managed/port.hpp>
#include <boost/dataflow/managed/component.hpp>
-#include <boost/dataflow/support/component_operation.hpp>
+//#include <boost/dataflow/support/component_operation.hpp>
#include <boost/dataflow/utility/forced_sequence.hpp>
//#include <boost/fusion/container/lazy_sequence.hpp>
#include <boost/fusion/include/as_vector.hpp>
@@ -20,6 +20,7 @@
#include <boost/mpl/joint_view.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/range_c.hpp>
+#include <boost/mpl/transform.hpp>
namespace boost { namespace dataflow { namespace managed {
@@ -55,20 +56,19 @@
template<typename InTypes, typename OutTypes>
struct component_traits
- : public dataflow::component_traits<
- typename detail::make_fusion_ports<InTypes, OutTypes>::type,
- mpl::map< >,
- managed::tag>
-{
- typedef boost::fusion::transform_view<
+ : public dataflow::fusion_static_vector_traits<
+ boost::fusion::transform_view<
typename detail::make_fusion_ports<InTypes, OutTypes>::type,
boost::dataflow::detail::make_ref
- > fusion_ports;
+ >,
+ managed::framework>
+{
+ typedef typename detail::make_fusion_ports<InTypes, OutTypes>::type fusion_ports;
template<typename Component>
- static typename component_traits::fusion_ports get_ports(Component &component)
+ static typename component_traits::fusion_ports &get_ports(Component &component)
{
- return typename component_traits::fusion_ports(component.ports(), boost::dataflow::detail::make_ref());
+ return component.ports();
};
};
@@ -117,7 +117,7 @@
namespace extension {
- template<typename InTypesSequence, typename OutTypesSequence>
+/* template<typename InTypesSequence, typename OutTypesSequence>
struct component_operation_impl<managed::component_traits<InTypesSequence,OutTypesSequence>, operations::invoke >
{
typedef void result_type;
@@ -127,7 +127,7 @@
{
component.invoke();
}
- };
+ };*/
}
Modified: sandbox/dataflow-rewrite/boost/dataflow/managed/port.hpp
==============================================================================
--- /sandbox/SOC/2007/signals/boost/dataflow/managed/port.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/managed/port.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -6,8 +6,8 @@
#ifndef BOOST_DATAFLOW_MANAGED_PORT_HPP
#define BOOST_DATAFLOW_MANAGED_PORT_HPP
-#include <boost/dataflow/support/binary_operation.hpp>
-#include <boost/dataflow/support/complemented_port.hpp>
+#include <boost/dataflow/generic/port_binary_operation.hpp>
+#include <boost/dataflow/generic/port.hpp>
#include <boost/dataflow/managed/component.hpp>
#include <boost/dataflow/managed/support.hpp>
#include <set>
@@ -50,7 +50,7 @@
template<typename T>
struct producer_port_traits
- : public dataflow::complemented_port_traits<ports::producer, port<T, ports::consumer>, tag>
+ : public dataflow::port_traits<ports::producer, framework>
{};
template<typename T>
@@ -81,7 +81,7 @@
template<typename T>
struct consumer_port_traits
- : public dataflow::complemented_port_traits<ports::consumer, port<T, ports::producer>, tag>
+ : public dataflow::port_traits<ports::consumer, framework>
{};
template<typename T>
@@ -115,7 +115,7 @@
namespace extension {
template<typename T>
- struct binary_operation_impl<managed::producer_port_traits<T>, managed::consumer_port_traits<T>, operations::connect>
+ struct port_binary_operation_impl<managed::producer_port_traits<T>, managed::consumer_port_traits<T>, operations::connect>
{
typedef void result_type;
Modified: sandbox/dataflow-rewrite/boost/dataflow/managed/support.hpp
==============================================================================
--- /sandbox/SOC/2007/signals/boost/dataflow/managed/support.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/managed/support.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -6,11 +6,11 @@
#ifndef BOOST_DATAFLOW_MANAGED_SUPPORT_HPP
#define BOOST_DATAFLOW_MANAGED_SUPPORT_HPP
-#include <boost/dataflow/support/tags.hpp>
+#include <boost/dataflow/generic/framework.hpp>
namespace boost { namespace dataflow { namespace managed {
-struct tag : public default_tag {};
+struct framework : public dataflow::framework<operations::connect> {};
} } }
Modified: sandbox/dataflow-rewrite/boost/dataflow/vivid/factory_window.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/vivid/factory_window.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/vivid/factory_window.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -64,7 +64,7 @@
if(m_network)
{
std::auto_ptr<framework_entity_type> entity(
- m_factory[key](m_network->framework_object()));
+ m_factory[key](m_network->framework_context()));
m_network->add_entity(entity);
}
}
Modified: sandbox/dataflow-rewrite/boost/dataflow/vivid/network_window.hpp
==============================================================================
--- sandbox/dataflow-rewrite/boost/dataflow/vivid/network_window.hpp (original)
+++ sandbox/dataflow-rewrite/boost/dataflow/vivid/network_window.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -69,7 +69,7 @@
class network_window
{
typedef blueprint::framework_entity<BlueprintFramework> framework_entity_type;
- typedef blueprint::framework_object<BlueprintFramework> framework_object_type;
+ typedef blueprint::framework_context<BlueprintFramework> framework_context_type;
typedef entity_widget<BlueprintFramework> entity_widget_type;
typedef blueprint::port<BlueprintFramework> port_type;
public:
@@ -101,8 +101,8 @@
widget->on_click.connect(boost::bind(&network_window::clicked, this, widget));
}
- framework_object_type &framework_object()
- { return m_framework_object; }
+ framework_context_type &framework_context()
+ { return m_framework_context; }
template<typename Operation>
void add_operation(const Operation &operation)
@@ -135,7 +135,7 @@
}
}
- framework_object_type m_framework_object;
+ framework_context_type m_framework_context;
guigl::window m_window;
guigl::widget::label *m_status;
network_widget<BlueprintFramework> *m_network_widget;
Modified: sandbox/dataflow-rewrite/libs/dataflow/build/xcodeide/dataflow.xcodeproj/project.pbxproj
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/build/xcodeide/dataflow.xcodeproj/project.pbxproj (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/build/xcodeide/dataflow.xcodeproj/project.pbxproj 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -110,8 +110,6 @@
0826E38D0EA542730090AB4E /* operation.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = operation.hpp; sourceTree = "<group>"; };
0826E3950EA543F60090AB4E /* operation_adapter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = operation_adapter.hpp; sourceTree = "<group>"; };
0826E39B0EA5463A0090AB4E /* test_operation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_operation.cpp; sourceTree = "<group>"; };
- 0826E3FA0EA5537B0090AB4E /* framework_object.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = framework_object.hpp; sourceTree = "<group>"; };
- 0826E3FD0EA55D1B0090AB4E /* test_framework_object.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_framework_object.cpp; sourceTree = "<group>"; };
0826E43A0EA562160090AB4E /* port_binary_operation_implementation.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = port_binary_operation_implementation.hpp; sourceTree = "<group>"; };
0826E4470EA563930090AB4E /* port_binary_operation_implementation_adapter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = port_binary_operation_implementation_adapter.hpp; sourceTree = "<group>"; };
0826E44D0EA566F70090AB4E /* test_port_binary_operation_implementation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_port_binary_operation_implementation.cpp; sourceTree = "<group>"; };
@@ -138,8 +136,6 @@
089A28B10E8D96F2000FCCC9 /* my_framework.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = my_framework.hpp; sourceTree = "<group>"; };
089A28B50E8D9772000FCCC9 /* my_ports.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = my_ports.hpp; sourceTree = "<group>"; };
089A28D80E8D99BC000FCCC9 /* my_entity.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = my_entity.hpp; sourceTree = "<group>"; };
- 089F17380EAE8B3D00560022 /* my_framework_with_object.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = my_framework_with_object.hpp; sourceTree = "<group>"; };
- 089F17400EAE8E5200560022 /* framework_object_fwd.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = framework_object_fwd.hpp; sourceTree = "<group>"; };
08A0FF8A0E8B4012000F0F8F /* file_template.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = file_template.py; sourceTree = "<group>"; };
08A227910EAE417000F70466 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = "<group>"; };
08A227930EAE417C00F70466 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = "<group>"; };
@@ -153,6 +149,7 @@
08A53F8E0EAC0AC1000B9C17 /* factory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = factory.hpp; sourceTree = "<group>"; };
08A53F920EAC14A4000B9C17 /* test_factory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_factory.cpp; sourceTree = "<group>"; };
08A59AB60EA6AED700F96721 /* forced_sequence.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = forced_sequence.hpp; sourceTree = "<group>"; };
+ 08A614DF0EDB72FA000DD105 /* vivid_managed_example.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vivid_managed_example.cpp; sourceTree = "<group>"; };
08A77AB30E4F91AA00B8793E /* Jamroot */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Jamroot; path = ../../../../Jamroot; sourceTree = SOURCE_ROOT; };
08A77AB40E4F91AB00B8793E /* LICENSE_1_0.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE_1_0.txt; path = ../../../../LICENSE_1_0.txt; sourceTree = SOURCE_ROOT; };
08A77ADC0E4FB06600B8793E /* framework.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = framework.hpp; sourceTree = "<group>"; };
@@ -169,6 +166,29 @@
08AB81B70EC7A45900A2B98A /* get_port.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = get_port.hpp; sourceTree = "<group>"; };
08AB81BB0EC7A50200A2B98A /* test_static_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_static_vector.cpp; sourceTree = "<group>"; };
08AB81BF0EC7A52F00A2B98A /* my_static_vector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = my_static_vector.hpp; sourceTree = "<group>"; };
+ 08AD7BB30EDD1332002E9432 /* entities.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = entities.hpp; sourceTree = "<group>"; };
+ 08AD7BB50EDD13F2002E9432 /* test_dynamic_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_dynamic_vector.cpp; sourceTree = "<group>"; };
+ 08AD7BBA0EDD1435002E9432 /* dynamic_vector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = dynamic_vector.hpp; sourceTree = "<group>"; };
+ 08AD7BC20EDD1720002E9432 /* traits.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = traits.hpp; sourceTree = "<group>"; };
+ 08AD7BC50EDD17F6002E9432 /* dynamic_vector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = dynamic_vector.hpp; sourceTree = "<group>"; };
+ 08ADD5040EDCC92D00838188 /* test_static_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_static_vector.cpp; sourceTree = "<group>"; };
+ 08ADD5080EDCC9A400838188 /* my_blueprint_static_vector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = my_blueprint_static_vector.hpp; sourceTree = "<group>"; };
+ 08B3CBF30EC8B532002D2124 /* component.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = component.hpp; sourceTree = "<group>"; };
+ 08B3CBF40EC8B532002D2124 /* fusion_component.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = fusion_component.hpp; sourceTree = "<group>"; };
+ 08B3CBF50EC8B532002D2124 /* network.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = network.hpp; sourceTree = "<group>"; };
+ 08B3CBF60EC8B532002D2124 /* port.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = port.hpp; sourceTree = "<group>"; };
+ 08B3CBF70EC8B532002D2124 /* runtime_support.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = runtime_support.hpp; sourceTree = "<group>"; };
+ 08B3CBF80EC8B532002D2124 /* support.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = support.hpp; sourceTree = "<group>"; };
+ 08B3CBFF0EC8B6C2002D2124 /* framework_context.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = framework_context.hpp; sourceTree = "<group>"; };
+ 08B3CC000EC8B6C2002D2124 /* framework_context_fwd.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = framework_context_fwd.hpp; sourceTree = "<group>"; };
+ 08B3CC220EC8B7D3002D2124 /* my_framework_with_context.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = my_framework_with_context.hpp; sourceTree = "<group>"; };
+ 08B3CC240EC8B823002D2124 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = "<group>"; };
+ 08B3CC250EC8B823002D2124 /* test_fusion_component.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_fusion_component.cpp; sourceTree = "<group>"; };
+ 08B3CC260EC8B823002D2124 /* test_network.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_network.cpp; sourceTree = "<group>"; };
+ 08B3CC270EC8B823002D2124 /* test_port.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_port.cpp; sourceTree = "<group>"; };
+ 08B3CC640EC8C73E002D2124 /* make_ref.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = make_ref.hpp; sourceTree = "<group>"; };
+ 08B3CC650EC8C73E002D2124 /* transform_remove_reference.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = transform_remove_reference.hpp; sourceTree = "<group>"; };
+ 08B3CC660EC8C74A002D2124 /* not_specialized.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = not_specialized.hpp; sourceTree = "<group>"; };
08B44C1B0EB63549004B133F /* entity_widget.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = entity_widget.hpp; sourceTree = "<group>"; };
08B8F1AC0E512CF7000545B8 /* traits_sequence_intrusive_registration.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = traits_sequence_intrusive_registration.hpp; sourceTree = "<group>"; };
08B8F1AD0E512D31000545B8 /* framework_entity.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = framework_entity.hpp; sourceTree = "<group>"; };
@@ -176,6 +196,7 @@
08B8F1BE0E512E72000545B8 /* traits.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = traits.hpp; sourceTree = "<group>"; };
08B8F1C00E512F45000545B8 /* test_framework_entity_traits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_framework_entity_traits.cpp; sourceTree = "<group>"; };
08B8F1D00E513569000545B8 /* test_framework.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_framework.cpp; sourceTree = "<group>"; };
+ 08BA454B0EDCF1A00053808D /* my_dynamic_vector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = my_dynamic_vector.hpp; sourceTree = "<group>"; };
08D18D760EBE25E800B1A160 /* fusion_static_vector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = fusion_static_vector.hpp; sourceTree = "<group>"; };
08D18D770EBE25E800B1A160 /* static_vector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = static_vector.hpp; sourceTree = "<group>"; };
08D965820E83A2F900087C6F /* framework_entity.qbk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = framework_entity.qbk; sourceTree = "<group>"; };
@@ -271,6 +292,7 @@
children = (
08A227930EAE417C00F70466 /* Jamfile */,
08A227960EAE41AD00F70466 /* vivid_graph_example.cpp */,
+ 08A614DF0EDB72FA000DD105 /* vivid_managed_example.cpp */,
);
path = vivid;
sourceTree = "<group>";
@@ -310,6 +332,8 @@
08A77ACC0E4F941C00B8793E /* dataflow */ = {
isa = PBXGroup;
children = (
+ 08B3CC630EC8C73E002D2124 /* detail */,
+ 08B3CBF20EC8B532002D2124 /* managed */,
08A59A8C0EA69D9D00F96721 /* vivid */,
08EE1D690E9533ED00EF3E66 /* blueprint */,
08A77AEC0E4FB4C800B8793E /* utility */,
@@ -322,9 +346,12 @@
08A77ACD0E4F941C00B8793E /* generic */ = {
isa = PBXGroup;
children = (
+ 08AD7BC10EDD1715002E9432 /* dynamic_vector */,
+ 08AD7BB30EDD1332002E9432 /* entities.hpp */,
08AB81A90EC7A1E300A2B98A /* static_vector */,
08D18D760EBE25E800B1A160 /* fusion_static_vector.hpp */,
08D18D770EBE25E800B1A160 /* static_vector.hpp */,
+ 08AD7BBA0EDD1435002E9432 /* dynamic_vector.hpp */,
0898B4700E83E6E1004F3E91 /* port_binary_operation.hpp */,
08A227A90EAE434300F70466 /* port.hpp */,
08D965C50E83A83600087C6F /* port */,
@@ -352,6 +379,7 @@
08A77AFF0E4FC51C00B8793E /* generic */ = {
isa = PBXGroup;
children = (
+ 08B3CC220EC8B7D3002D2124 /* my_framework_with_context.hpp */,
08A77B060E4FC58D00B8793E /* Jamfile */,
08DD9DFA0E7B22DD008DC46A /* test_default_framework_of.cpp */,
08B8F1D00E513569000545B8 /* test_framework.cpp */,
@@ -366,10 +394,11 @@
089A28B50E8D9772000FCCC9 /* my_ports.hpp */,
089A28D80E8D99BC000FCCC9 /* my_entity.hpp */,
0826E2DC0EA52A850090AB4E /* my_connect.hpp */,
- 089F17380EAE8B3D00560022 /* my_framework_with_object.hpp */,
08AB81BF0EC7A52F00A2B98A /* my_static_vector.hpp */,
+ 08BA454B0EDCF1A00053808D /* my_dynamic_vector.hpp */,
08A486B30EC11632007D73CC /* test_get_port.cpp */,
08AB81BB0EC7A50200A2B98A /* test_static_vector.cpp */,
+ 08AD7BB50EDD13F2002E9432 /* test_dynamic_vector.cpp */,
);
path = generic;
sourceTree = "<group>";
@@ -410,6 +439,49 @@
path = static_vector;
sourceTree = "<group>";
};
+ 08AD7BC10EDD1715002E9432 /* dynamic_vector */ = {
+ isa = PBXGroup;
+ children = (
+ 08AD7BC20EDD1720002E9432 /* traits.hpp */,
+ 08AD7BC50EDD17F6002E9432 /* dynamic_vector.hpp */,
+ );
+ path = dynamic_vector;
+ sourceTree = "<group>";
+ };
+ 08B3CBF20EC8B532002D2124 /* managed */ = {
+ isa = PBXGroup;
+ children = (
+ 08B3CBF30EC8B532002D2124 /* component.hpp */,
+ 08B3CBF40EC8B532002D2124 /* fusion_component.hpp */,
+ 08B3CBF50EC8B532002D2124 /* network.hpp */,
+ 08B3CBF60EC8B532002D2124 /* port.hpp */,
+ 08B3CBF70EC8B532002D2124 /* runtime_support.hpp */,
+ 08B3CBF80EC8B532002D2124 /* support.hpp */,
+ );
+ path = managed;
+ sourceTree = "<group>";
+ };
+ 08B3CC230EC8B823002D2124 /* managed */ = {
+ isa = PBXGroup;
+ children = (
+ 08B3CC240EC8B823002D2124 /* Jamfile */,
+ 08B3CC250EC8B823002D2124 /* test_fusion_component.cpp */,
+ 08B3CC260EC8B823002D2124 /* test_network.cpp */,
+ 08B3CC270EC8B823002D2124 /* test_port.cpp */,
+ );
+ path = managed;
+ sourceTree = "<group>";
+ };
+ 08B3CC630EC8C73E002D2124 /* detail */ = {
+ isa = PBXGroup;
+ children = (
+ 08B3CC640EC8C73E002D2124 /* make_ref.hpp */,
+ 08B3CC650EC8C73E002D2124 /* transform_remove_reference.hpp */,
+ 08B3CC660EC8C74A002D2124 /* not_specialized.hpp */,
+ );
+ path = detail;
+ sourceTree = "<group>";
+ };
08B8F1AB0E512CF7000545B8 /* framework_entity */ = {
isa = PBXGroup;
children = (
@@ -424,6 +496,7 @@
08C675960C13A03E00D85379 /* test */ = {
isa = PBXGroup;
children = (
+ 08B3CC230EC8B823002D2124 /* managed */,
08AA90400EAD43AD00409A2E /* vivid */,
08ED9F2B0E9AFE0F00894656 /* blueprint */,
08A77AFF0E4FC51C00B8793E /* generic */,
@@ -453,10 +526,11 @@
0826E26C0EA523AE0090AB4E /* test_port_binary_operation.cpp */,
0826E44D0EA566F70090AB4E /* test_port_binary_operation_implementation.cpp */,
0826E39B0EA5463A0090AB4E /* test_operation.cpp */,
- 0826E3FD0EA55D1B0090AB4E /* test_framework_object.cpp */,
087535BE0E9C141200AD4E99 /* my_blueprint_framework.hpp */,
0826E2AE0EA526F70090AB4E /* my_blueprint_ports.hpp */,
+ 08ADD5080EDCC9A400838188 /* my_blueprint_static_vector.hpp */,
08A53F920EAC14A4000B9C17 /* test_factory.cpp */,
+ 08ADD5040EDCC92D00838188 /* test_static_vector.cpp */,
);
path = blueprint;
sourceTree = "<group>";
@@ -464,6 +538,8 @@
08EE1D690E9533ED00EF3E66 /* blueprint */ = {
isa = PBXGroup;
children = (
+ 08B3CBFF0EC8B6C2002D2124 /* framework_context.hpp */,
+ 08B3CC000EC8B6C2002D2124 /* framework_context_fwd.hpp */,
08A53F8E0EAC0AC1000B9C17 /* factory.hpp */,
08EE1D7C0E95453200EF3E66 /* framework.hpp */,
08EE1D6A0E95348400EF3E66 /* framework_entity.hpp */,
@@ -475,9 +551,7 @@
0826E4470EA563930090AB4E /* port_binary_operation_implementation_adapter.hpp */,
0826E38D0EA542730090AB4E /* operation.hpp */,
0826E3950EA543F60090AB4E /* operation_adapter.hpp */,
- 0826E3FA0EA5537B0090AB4E /* framework_object.hpp */,
0826E4BB0EA57D110090AB4E /* castable_polymorphic_object.hpp */,
- 089F17400EAE8E5200560022 /* framework_object_fwd.hpp */,
);
path = blueprint;
sourceTree = "<group>";
Modified: sandbox/dataflow-rewrite/libs/dataflow/example/vivid/Jamfile
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/example/vivid/Jamfile (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/example/vivid/Jamfile 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -8,3 +8,4 @@
exe vivid_graph_example : vivid_graph_example.cpp /boost_guigl//boost_guigl/<link>static ;
+exe vivid_managed_example : vivid_managed_example.cpp /boost_guigl//boost_guigl/<link>static ;
\ No newline at end of file
Modified: sandbox/dataflow-rewrite/libs/dataflow/example/vivid/vivid_graph_example.cpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/example/vivid/vivid_graph_example.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/example/vivid/vivid_graph_example.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -7,6 +7,7 @@
-----------------------------------------------===============================*/
+#include <boost/fusion/include/mpl.hpp>
#include <boost/dataflow/blueprint/framework.hpp>
#include <boost/dataflow/vivid/factory_window.hpp>
#include <boost/dataflow/vivid/network_window.hpp>
@@ -18,7 +19,7 @@
namespace df = boost::dataflow;
typedef df::blueprint::framework<df::ugraph::framework> graph_blueprint_framework;
-void connected_components(const df::blueprint::framework_object<graph_blueprint_framework> &bfo)
+void connected_components(const df::blueprint::framework_context<graph_blueprint_framework> &bfo)
{
std::vector<int> component(num_vertices(bfo.object()));
int num = connected_components(bfo.object(), &component[0]);
@@ -40,12 +41,12 @@
df::blueprint::factory<graph_blueprint_framework> factory;
factory.add_port<df::ugraph::vertex>("vertex");
- network_window.framework_object().register_operation<df::ugraph::vertex, df::ugraph::vertex, df::operations::connect>();
+ network_window.framework_context().register_operation<df::ugraph::vertex, df::ugraph::vertex, df::operations::connect>();
factory_window.set_factory(factory);
- connected_components_button->on_click.connect(boost::bind(&connected_components, boost::ref(network_window.framework_object())));
+ connected_components_button->on_click.connect(boost::bind(&connected_components, boost::ref(network_window.framework_context())));
boost::guigl::window::redraw(*connected_components_button);
boost::guigl::application::run();
Added: sandbox/dataflow-rewrite/libs/dataflow/example/vivid/vivid_managed_example.cpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/libs/dataflow/example/vivid/vivid_managed_example.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,152 @@
+/*=================================---------------------------------------------
+ Copyright 2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+
+#include <boost/dataflow/blueprint/framework.hpp>
+#include <boost/dataflow/vivid/factory_window.hpp>
+#include <boost/dataflow/vivid/network_window.hpp>
+#include <boost/guigl/application.hpp>
+#include <boost/guigl/widget/button.hpp>
+
+#include <boost/dataflow/managed/fusion_component.hpp>
+#include <boost/dataflow/managed/network.hpp>
+
+#include <boost/assign/std/vector.hpp>
+
+namespace df=boost::dataflow;
+namespace blueprint=boost::dataflow::blueprint;
+namespace guigl=boost::guigl;
+
+using df::managed::fusion_component;
+
+typedef df::blueprint::framework<df::managed::framework> managed_blueprint_framework;
+
+// the input/output component (link between GUI and dataflow network)
+class io : public fusion_component<bool>, public guigl::widget::button
+{
+public:
+ typedef guigl::widget::button runtime_base_class_type;
+ io(df::managed::network &network)
+ : fusion_component<bool>(network)
+ , guigl::widget::button(guigl::_size(100,100))
+ {
+// anchor(glv::Place::CL);
+ }
+ void invoke()
+ {
+ if(port<0>().connected())
+ {
+ //value(port<0>().get());
+ port<1>().set(port<0>().get());
+ }
+ }
+/* bool onEvent(glv::Event::t e, glv::GLV& glv)
+ {
+ bool response = glv::Button::onEvent(e, glv);
+ port<1>().set(value());
+ return response;
+ }*/
+};
+
+// logical NOT component.
+class not_operation : public fusion_component<bool>
+{
+public:
+ not_operation(df::managed::network &network)
+ : fusion_component<bool>(network)
+ {}
+ void invoke()
+ {
+ if(port<0>().connected())
+ port<1>().set(!port<0>().get());
+ }
+};
+
+// logical AND component.
+class and_operation : public fusion_component<boost::mpl::vector<bool,bool>,bool>
+{
+public:
+ typedef fusion_component<boost::mpl::vector<bool,bool>,bool> base_type;
+
+ and_operation(df::managed::network &network)
+ : base_type(network)
+ {}
+ void invoke()
+ {
+ if(port<0>().connected())
+ {
+ port<2>().set(port<0>().get() && port<1>().get());
+ }
+ }
+};
+
+// logical OR component.
+class or_operation : public fusion_component<boost::mpl::vector<bool,bool>,bool>
+{
+public:
+ typedef fusion_component<boost::mpl::vector<bool,bool>,bool> base_type;
+
+ or_operation(df::managed::network &network)
+ : base_type(network)
+ {}
+ void invoke()
+ {
+ if(port<0>().connected())
+ {
+ port<2>().set(port<0>().get() || port<1>().get());
+ }
+ }
+};
+
+// This component requests a network update.
+class update_network : public fusion_component<bool>
+{
+public:
+ update_network(df::managed::network &network)
+ : fusion_component<bool>(network)
+ {}
+ void invoke()
+ {
+ network_context().update();
+ }
+};
+
+
+// A component_bank with some components
+class example_factory : public df::blueprint::factory<managed_blueprint_framework>
+{
+public:
+ example_factory()
+ {
+/* add_component<io>("io", boost::ref(m_network));
+ add_component<not_operation>("not", boost::ref(m_network));
+ add_component<and_operation>("and", boost::ref(m_network));
+ add_component<or_operation>("or", boost::ref(m_network));
+ add_component<update_network>("upd", boost::ref(m_network));*/
+ }
+private:
+ df::managed::network m_network;
+};
+
+int main()
+{
+ using namespace boost::guigl::keywords;
+ boost::guigl::window controls((_label="Controls", _size=boost::guigl::size_type(300,50) ));
+
+ df::vivid::factory_window<managed_blueprint_framework> factory_window;
+ df::vivid::network_window<managed_blueprint_framework> network_window;
+ factory_window.set_network_window(network_window);
+
+ example_factory factory;
+
+ factory_window.set_factory(factory);
+
+ boost::guigl::application::run();
+}
+
+
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/Jamfile
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/Jamfile (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/Jamfile 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -17,6 +17,7 @@
build-project generic ;
build-project blueprint ;
+build-project managed ;
if $(guigl_present)
{
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/Jamfile
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/Jamfile (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/Jamfile 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -13,5 +13,6 @@
run test_port_binary_operation.cpp ;
run test_port_binary_operation_implementation.cpp ;
run test_operation.cpp ;
-run test_framework_object.cpp ;
+run test_static_vector.cpp ;
+run test_framework_context.cpp ;
run test_factory.cpp ;
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/my_blueprint_framework.hpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/my_blueprint_framework.hpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/my_blueprint_framework.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -8,11 +8,11 @@
#include <boost/dataflow/blueprint/framework.hpp>
-#include <boost/dataflow/blueprint/framework_object.hpp>
+#include <boost/dataflow/blueprint/framework_context.hpp>
#include "../generic/my_framework.hpp"
namespace df = boost::dataflow;
typedef df::blueprint::framework<my_framework> my_blueprint_framework;
-typedef df::blueprint::framework_object<my_blueprint_framework> my_blueprint_framework_object;
\ No newline at end of file
+typedef df::blueprint::framework_context<my_blueprint_framework> my_blueprint_framework_context;
\ No newline at end of file
Added: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/my_blueprint_static_vector.hpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/my_blueprint_static_vector.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,12 @@
+/*=================================---------------------------------------------
+ Copyright 2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+
+#include "my_blueprint_framework.hpp"
+#include "../generic/my_static_vector.hpp"
+
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_factory.cpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_factory.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_factory.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -23,9 +23,9 @@
df::blueprint::factory<my_blueprint_framework> factory;
factory.add_port<my_port_producer>("my_port_producer");
- df::blueprint::framework_object<my_blueprint_framework> fo;
+ df::blueprint::framework_context<my_blueprint_framework> fo;
df::blueprint::framework_entity<my_blueprint_framework> *entity = factory["my_port_producer"](fo);
- BOOST_CHECK_EQUAL(&entity->framework_object(), &fo);
+ BOOST_CHECK_EQUAL(&entity->framework_context(), &fo);
BOOST_CHECK(entity->type_info() == typeid(my_port_producer));
}
\ No newline at end of file
Copied: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_context.cpp (from r49676, /sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_object.cpp)
==============================================================================
--- /sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_object.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_context.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -7,14 +7,14 @@
-----------------------------------------------===============================*/
-#include <boost/dataflow/blueprint/framework_object.hpp>
+#include <boost/dataflow/blueprint/framework_context.hpp>
#include <boost/dataflow/blueprint/operation_adapter.hpp>
#include <boost/dataflow/blueprint/port_binary_operation.hpp>
#include "my_blueprint_ports.hpp"
#include "../generic/my_connect.hpp"
-#include "../generic/my_framework_with_object.hpp"
+#include "../generic/my_framework_with_context.hpp"
#define BOOST_TEST_MAIN
#include <boost/test/unit_test.hpp>
@@ -25,7 +25,7 @@
BOOST_AUTO_TEST_CASE( test )
{
- df::blueprint::framework_object<my_blueprint_framework> object;
+ df::blueprint::framework_context<my_blueprint_framework> object;
object.register_operation<my_port_producer, my_port_consumer, connect>();
BOOST_CHECK((object.has_registered_operation<my_port_producer, my_port_consumer, connect>()));
@@ -44,7 +44,7 @@
{
typedef df::blueprint::framework<my_framework_with_object> my_blueprint_framework_with_object;
- df::blueprint::framework_object<my_blueprint_framework_with_object> object;
+ df::blueprint::framework_context<my_blueprint_framework_with_object> object;
object.object();
}
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_entity.cpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_entity.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_entity.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -21,7 +21,7 @@
BOOST_AUTO_TEST_CASE( test )
{
- my_blueprint_framework_object fo;
+ my_blueprint_framework_context fo;
my_port_producer p;
df::blueprint::framework_entity_adapter<my_blueprint_framework, my_port_producer &> ref_entity(fo, p);
Deleted: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_object.cpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_framework_object.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
+++ (empty file)
@@ -1,52 +0,0 @@
-/*=================================---------------------------------------------
- Copyright 2008 Stjepan Rajko
-
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
------------------------------------------------===============================*/
-
-
-#include <boost/dataflow/blueprint/framework_object.hpp>
-#include <boost/dataflow/blueprint/operation_adapter.hpp>
-#include <boost/dataflow/blueprint/port_binary_operation.hpp>
-
-#include "my_blueprint_ports.hpp"
-#include "../generic/my_connect.hpp"
-
-#include "../generic/my_framework_with_object.hpp"
-
-#define BOOST_TEST_MAIN
-#include <boost/test/unit_test.hpp>
-
-
-namespace df = boost::dataflow;
-
-
-BOOST_AUTO_TEST_CASE( test )
-{
- df::blueprint::framework_object<my_blueprint_framework> object;
-
- object.register_operation<my_port_producer, my_port_consumer, connect>();
- BOOST_CHECK((object.has_registered_operation<my_port_producer, my_port_consumer, connect>()));
- BOOST_CHECK((!object.has_registered_operation<my_port_consumer, my_port_producer, connect>()));
-
- my_blueprint_port_producer producer(object);
- my_blueprint_port_consumer consumer(object);
- df::blueprint::operation_adapter<connect> blueprint_connect(connect(1));
-
- BOOST_CHECK(( df::port_binary_operation_will_succeed<df::blueprint::operation>(producer, consumer, blueprint_connect) ));
- BOOST_CHECK(( !df::port_binary_operation_will_succeed<df::blueprint::operation>(consumer, producer, blueprint_connect) ));
- BOOST_CHECK_EQUAL( boost::any_cast<int>(df::port_binary_operation<df::blueprint::operation>(producer, consumer, blueprint_connect)), 1);
-}
-
-BOOST_AUTO_TEST_CASE( test_framework_with_object )
-{
- typedef df::blueprint::framework<my_framework_with_object> my_blueprint_framework_with_object;
-
- df::blueprint::framework_object<my_blueprint_framework_with_object> object;
-
- object.object();
-}
-
-
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port.cpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -17,7 +17,7 @@
BOOST_AUTO_TEST_CASE( test )
{
- my_blueprint_framework_object fo;
+ my_blueprint_framework_context fo;
my_blueprint_port_producer producer(fo);
my_blueprint_port_consumer consumer(fo);
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port_binary_operation.cpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port_binary_operation.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port_binary_operation.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -22,7 +22,7 @@
BOOST_AUTO_TEST_CASE( test )
{
- my_blueprint_framework_object fo;
+ my_blueprint_framework_context fo;
my_blueprint_port_producer producer(fo);
my_blueprint_port_consumer consumer(fo);
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port_binary_operation_implementation.cpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port_binary_operation_implementation.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_port_binary_operation_implementation.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -39,7 +39,7 @@
BOOST_AUTO_TEST_CASE( test )
{
- my_blueprint_framework_object fo;
+ my_blueprint_framework_context fo;
my_blueprint_port_producer producer(fo);
my_blueprint_port_consumer consumer(fo);
Added: sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_static_vector.cpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/blueprint/test_static_vector.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,21 @@
+/*=================================---------------------------------------------
+ Copyright 2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+
+#include "my_blueprint_static_vector.hpp"
+
+#define BOOST_TEST_MAIN
+#include <boost/test/unit_test.hpp>
+
+
+namespace df = boost::dataflow;
+
+BOOST_AUTO_TEST_CASE( test )
+{
+ my_blueprint_framework_context fo;
+}
\ No newline at end of file
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/generic/Jamfile
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/generic/Jamfile (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/generic/Jamfile 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -20,4 +20,5 @@
run test_operation.cpp ;
run test_static_vector.cpp ;
+run test_dynamic_vector.cpp ;
run test_get_port.cpp ;
Added: sandbox/dataflow-rewrite/libs/dataflow/test/generic/my_dynamic_vector.hpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/generic/my_dynamic_vector.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,46 @@
+/*=================================---------------------------------------------
+ Copyright 2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+#ifndef BOOST__DATAFLOW__TEST__GENERIC__MY_DYNAMIC_VECTOR_HPP
+#define BOOST__DATAFLOW__TEST__GENERIC__MY_DYNAMIC_VECTOR_HPP
+
+
+#include <boost/dataflow/generic/dynamic_vector.hpp>
+#include "my_ports.hpp"
+#include <vector>
+
+typedef df::dynamic_vector_traits<my_port_producer> my_dynamic_vector_traits;
+
+namespace df=boost::dataflow;
+
+struct my_dynamic_vector
+{
+ my_dynamic_vector()
+ : ports(2) {}
+
+ typedef my_dynamic_vector_traits dataflow_traits;
+ std::vector<my_port_producer> ports;
+};
+
+namespace boost { namespace dataflow { namespace extension {
+
+template<>
+struct entities_impl<my_dynamic_vector_traits>
+{
+ typedef std::vector<my_port_producer> & result_type;
+
+ template<typename Entity>
+ result_type operator()(Entity &e)
+ {
+ return e.ports;
+ }
+};
+
+}}}
+
+#endif // BOOST__DATAFLOW__TEST__GENERIC__MY_DYNAMIC_VECTOR_HPP
\ No newline at end of file
Deleted: sandbox/dataflow-rewrite/libs/dataflow/test/generic/my_framework_with_object.hpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/generic/my_framework_with_object.hpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
+++ (empty file)
@@ -1,24 +0,0 @@
-/*=================================---------------------------------------------
- Copyright 2007,2008 Stjepan Rajko
-
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
------------------------------------------------===============================*/
-
-#ifndef BOOST__DATAFLOW__TEST__GENERIC__MY_FRAMEWORK_WITH_OBJECT_HPP
-#define BOOST__DATAFLOW__TEST__GENERIC__MY_FRAMEWORK_WITH_OBJECT_HPP
-
-
-#include <boost/dataflow/generic/framework.hpp>
-
-
-struct my_object
-{};
-
-struct my_framework_with_object
- : public df::framework<void, my_object>
-{};
-
-
-#endif // BOOST__DATAFLOW__TEST__GENERIC__MY_FRAMEWORK_WITH_OBJECT_HPP
\ No newline at end of file
Added: sandbox/dataflow-rewrite/libs/dataflow/test/generic/test_dynamic_vector.cpp
==============================================================================
--- (empty file)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/generic/test_dynamic_vector.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -0,0 +1,24 @@
+/*=================================---------------------------------------------
+ Copyright 2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
+
+
+#include "my_dynamic_vector.hpp"
+#include <boost/type_traits/is_same.hpp>
+
+
+#define BOOST_TEST_MAIN
+#include <boost/test/unit_test.hpp>
+
+namespace df=boost::dataflow;
+
+
+BOOST_AUTO_TEST_CASE( test )
+{
+ my_dynamic_vector v;
+ BOOST_CHECK_EQUAL(&df::entities(v), &v.ports);
+}
\ No newline at end of file
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/generic/test_framework.cpp
==============================================================================
--- sandbox/dataflow-rewrite/libs/dataflow/test/generic/test_framework.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/generic/test_framework.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -8,7 +8,7 @@
#include "my_framework.hpp"
-#include "my_framework_with_object.hpp"
+#include "my_framework_with_context.hpp"
#include <boost/type_traits/is_same.hpp>
@@ -23,13 +23,13 @@
BOOST_AUTO_TEST_CASE( test )
{
BOOST_CHECK((df::is_framework<my_framework>::value));
- BOOST_CHECK((!df::has_framework_object<my_framework>::value));
+ BOOST_CHECK((!df::has_framework_context<my_framework>::value));
BOOST_CHECK((!df::is_framework<not_framework>::value));
BOOST_CHECK((df::is_framework<my_framework_with_object>::value));
- BOOST_CHECK((df::has_framework_object<my_framework_with_object>::value));
- BOOST_CHECK((boost::is_same<my_framework_with_object::framework_object_type, my_object>::value));
+ BOOST_CHECK((df::has_framework_context<my_framework_with_object>::value));
+ BOOST_CHECK((boost::is_same<my_framework_with_object::framework_context_type, my_object>::value));
}
Modified: sandbox/dataflow-rewrite/libs/dataflow/test/managed/test_fusion_component.cpp
==============================================================================
--- /sandbox/SOC/2007/signals/libs/dataflow/test/managed/test_fusion_component.cpp (original)
+++ sandbox/dataflow-rewrite/libs/dataflow/test/managed/test_fusion_component.cpp 2008-11-26 16:57:44 EST (Wed, 26 Nov 2008)
@@ -1,7 +1,10 @@
-// Copyright Stjepan Rajko 2008. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=================================---------------------------------------------
+ Copyright 2008 Stjepan Rajko
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------===============================*/
#include <boost/dataflow/managed/fusion_component.hpp>
@@ -15,13 +18,10 @@
namespace df=boost::dataflow;
df::managed::network network;
df::managed::fusion_component<bool> c(network);
-
- df::get_port<boost::mpl::int_<0>, df::managed::tag >(c);
- c.port<0>();
-
- BOOST_CHECK_EQUAL((&df::get_port<boost::mpl::int_<0>, df::managed::tag >(c)), &c.port<0>());
- BOOST_CHECK_EQUAL((&df::get_port<boost::mpl::int_<1>, df::managed::tag >(c)), &c.port<1>());
-
+
+ BOOST_CHECK_EQUAL((&df::get_port<boost::mpl::int_<0> >(c)), &c.port<0>());
+ BOOST_CHECK_EQUAL((&df::get_port<boost::mpl::int_<1> >(c)), &c.port<1>());
+
return 0;
} // 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