gpt4 book ai didi

c++ - Boost.Graph - 有 2 个简单类和一个类 - 数据类型如何创建图形?

转载 作者:行者123 更新时间:2023-11-28 08:21:19 26 4
gpt4 key购买 nike

所以我有一些非常相似的简单生成器类this类似 this 的数据类型(指针和长度)和一个简单的服装数据类型渲染器,如 this .如何创建一个图表来帮助我将生成的数据传递到我的渲染器中?

目前我做这样的事情来将我的 Char Ptr 传递给数据生成器,然后将结果传递给渲染器:

     renderer->renderCastedData(producer->updateData(CharPtr));

但我很想看看是否可以使用 Boost Graph 将表示类的数据映射到某些类,作为某些函数的输入,并将该函数的返回值映射到其他类?通常有一个“图形”,我希望能够调用 Graph(MyInstanceOfMyDatatype) 并让 boost 将我的值(以最小的应对)从一个图形元素传递到另一个图形元素?

这是一个非常简单的示例,所以它可能看起来图有点过头了,但我想要在我的类之间传递自动值的图,以防例如有一个生成器和 N 个渲染器 - 在这里我想要图来帮助我示例向除第一个之外的所有渲染器提供我的类的 N-1 个拷贝。

最佳答案

看来您正在寻找的是一个框架,它允许您将简单的生产者-消费者模式扩展到消费者网格中,同时由单个生产者提供。

这不是 Boost.Graph 提供的。 Boost.Graph 是在一组图形概念上定义的抽象过程(算法)的集合。它假设您已经拥有一个具有图形属性(顶点和边,以及它们之上的迭代器)的数据结构,并允许您对其应用其算法(最大流、最短距离等)。此外,它还附带了一些简单的图形模型(邻接矩阵/列表),以防您还没有图形类。

您的用例类似于 Unix tee 命令。虽然我不知道您正在使用的特定库的 tee 实现,但实现一个充当所有已注册子消费者的生产者的 TeeConsumer 通常不会太复杂。

这是一个 blog post我的一位同事关于为 Qt 的 QIODevice 实现 T 型设备的建议,这可能会帮助您入门。

关于c++ - Boost.Graph - 有 2 个简单类和一个类 - 数据类型如何创建图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com