提振.图-有2个简单类和一个类-数据类型如何创建一个图
Boost.Graph - having 2 simple classes and one class - datatype how to create a graph?
所以我有一些简单的生成器类,非常类似于这样的数据类型(指针和长度)和这样的简单服装数据类型渲染器。如何创建一个图形,将帮助我传递生成的数据到我的渲染器?
目前我做这样的事情传递我的Char Ptr到数据生成器,然后结果渲染:
renderer->renderCastedData(producer->updateData(CharPtr));
但是我很想看看是否有可能使用Boost Graph将数据表示类映射到某些类,作为某些函数的输入和该函数的其他一些类的返回?通常有一个"图形",我想能够调用Graph(MyInstanceOfMyDatatype)
,并有boost传递我的值(最小的复制)从一个图形元素到另一个?
这是一个非常简单的例子,所以它可能看起来图形是多余的,但我想有图形的自动值在我的类之间传递,例如,有一个生成器和N个渲染器-在这里我想图形来帮助我,例如,提供N-1个副本我的类到所有的渲染器除了第一。
似乎您正在寻找的是一个框架,它允许您将简单的生产者-消费者模式扩展为消费者网格,并由单个生产者同时提供。
这不是Boost。图提供了。提振。图是定义在一组图概念上的抽象过程(算法)的集合。它假设你已经拥有一个具有图形属性(顶点和边缘,以及它们上面的迭代器)的数据结构,并允许你应用它的算法(最大流量,最短距离等)。此外,它还附带了一些简单的图模型(邻接矩阵/列表),以防你还没有图类。
您的用例类似于Unix的tee命令。虽然我不知道您正在使用的特定库的tee实现,但实现一个TeeConsumer
作为其所有注册子消费者的生产者通常并不太复杂。
这是我的一个同事写的一篇关于为Qt的QIODevice实现tee设备的博文,它可能会帮助你入门。
相关文章:
- 将一个 QWidget 链接到另一个新创建的 QWidget
- 如何创建一个对象创建函数,该函数将由与其关联的名称调用?
- 通过另一个宏创建的函数创建所有列表的宏
- 使用 libgit2 从另一个分支创建新的 git 存储库?
- 如何使用循环从另一个字符串创建一个没有空格的新字符串
- 宏的定义从一个值创建两个参数
- 从一个内存的一个块创建许多eigen :: vectorxd
- 从一个值和一个大小创建递归函数参数列表
- 从模板类的另一个实例创建模板类的实例时省略模板参数
- 如何允许一个类由另一个类创建而不使用'friend'但允许继承?
- 仅为一个对象创建类
- 从另一个容器创建容器,在 C++ 中应用每个元素的某个函数
- 从另一个类创建另一个特定类的优雅/高效的方法
- 当动态创建一个包含另一个动态创建的结构数组的结构数组时,内存管理
- 基于另一个字符串创建一个由空格 (_) 和空格组成的字符串
- 如何在C++中仅包含一个实例创建类
- 如何在 c# asp.net 中为引用其他 dll 的一个类创建 dll
- 我应该使用另一个流创建临时 ostream 吗?
- 如何在C++中用一个类创建多个项
- 我如何才能知道以前在C++中从一个类创建了多少对象