什么是过滤 Moore2DGridQuery 检索到的代理的快速方法

What is a quick way to filter agents retrieved by Moore2DGridQuery

我正在 RepastHPC 上开发一个模型,其中我有多种类型的代理驻留在同一个离散网格投影中。在每个 tick 上,其中一种类型的代理需要查询网格投影并在其当前位置找到代理。但是,他们只需要考虑特定类型的代理。我使用 Moore2DGridQuery 获取该网格位置的所有代理,但是我无法找到一种快速方法来过滤代理集以仅获取指定类型的代理。我目前正在通过代理向量进行正常迭代,但是当我在模型中有大量代理 运行 时,这可能会导致速度变慢。

有什么方法可以更快地过滤它们?提前致谢!

很遗憾,我认为没有可以应用的快速过滤器。如果您将向量作为模型行为的一部分进行迭代,您可以在那里检查类型,或者使用标准库仅将您想要的代理复制到另一个向量中。参见 https://www.cppstories.com/2021/filter-cpp-containers/