问题标签 [bimap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
448 浏览

c++ - 以多对多关系插入boost bimap

我想创建一个数据结构来描述帖子和标签之间的关系。每个帖子可以有多个标签,一个标签可以应用于多个帖子。

每个帖子和标签都可以由一个键唯一标识(比如说int)。

我希望能够有效地获取给定帖子的所有标签以及给定标签的所有帖子。

我想从如下所示的代码中移出:

boost::bimap. 我试过这个:

如果没有unconstrained_set_of_relationbimap,则允许多次插入相同的(帖子、标签)对(因为它使用多重集作为关系)。由于unconstrained_set_of_relation我无法弄清楚如何将元素插入此容器(没有定义插入)。

  1. 可以boost::bimap描述这种关系吗?
  2. 如何进行插入?
  3. 对于这种情况,Boost.MultiIndex 是更好的选择(更易于使用/高效)吗?
0 投票
1 回答
249 浏览

c++ - 公开私有范围的 Boost.BiMap 迭代器的公共视图

我在一个类中有一个私有范围的 Boost.BiMap,我想导出这个地图的一部分的公共视图。我对以下代码有两个问题:

第一个问题是我的迭代方法是否Point与 a 相关联Value是正确的。下面是我用来迭代这些点的代码。我的问题是我是否正确迭代,因为我发现我必须包含it->first == value条件,并且不确定这是否需要考虑到我可能不知道的更好的界面。

第二个问题是在???不暴露 bimap 迭代器的情况下提供 GetPoints(上面的返回类型)的公共视图的最佳方法是什么,因为调用者似乎必须知道point_map.right.end(). 任何有效的结构(例如引用列表或集合)都可以使用,但是我对如何创建集合有点迷茫。

谢谢!

0 投票
1 回答
2629 浏览

c++ - boost bimap 的 find() 问题

我有以下代码:

定义 ColorMap 的地方

我不断收到一个很长的模板错误,基本上说 find 函数不存在。然而

编译得很好。
我有一种预感,find 函数只在某些 bimap 集合类型中定义。我不能使用 wxColours 的 set_of,因为 wxColour 不可比较。(这甚至意味着什么?)我还尝试将集合类型更改为 list_of,但这也不起作用。我使用 bimap 的全部目的是为了让我可以找到任何一种方式的值。我使用了错误的容器吗?是否有另一种可以用于 wxColour 的集合类型来允许我使用 find 功能?

编辑: 我最终创建了自己的容器类。

0 投票
3 回答
2600 浏览

java - Guava 的 BiMap 和 LinkedHashMap 的问题

有没有可能在番石榴,

  1. BiMap对键和多个值进行反向查找?准确地说,我有键和对应的多个值,我想从一个值中获取键。

  2. 将多个值存储在LinkedHashMap? 准确地说,我想以某种顺序存储键 - 多个值,因此我可以获得列表中的键位置。

0 投票
1 回答
3674 浏览

c++ - Cpp - 检查 boost bimap 中是否存在密钥

我有一个双地图。我想检查我的 bimap 中是否存在密钥。我怎样才能做到这一点。这是我的双图:

我想检查“名称”是否存在。

0 投票
2 回答
135 浏览

boost - Passing a boost::bimap between functions

I'm new to the bimap functionality of the Boost libraries, and I'm having trouble passing a bimap into another function. My bimap looks like this:

I have an add_values() function that adds a set of values to the bimap:

I then have a function that is meant to set the values of the bimap by getting them from a Singleton Class:

And, in MyClass, get_values() looks like this:

However, MyClass does not recognise 'bimap_type'. I try putting the typedef in a separate header file and including that in MyClass, but I get the error message:

How can I successfully pass the bimap to this Singleton Class in order to fill it with values from the Class? Does anyone know?

Thanks a lot.

0 投票
1 回答
2087 浏览

c++ - boost::bimap 用于枚举

我正在尝试为 C++ 中的枚举创建一个简单的双向查找工具。我有单向查找工作正常...

然后通过

这有效,但它只允许基于键的查找。我想使用双向查找容器,例如 boost:bimap 来允许基于值和键的简单反向查找。不过,map_list_of 似乎与 boost::bimap 不兼容。

首先,我应该仍然使用带有 boost::bimap 的 map_list_of,还是需要其他类型?
这些地图都将是一个基本的(枚举,字符串)类型。

其次,有没有办法我仍然可以像上面那样简单地将地图定义为 const ?我正在尝试使其尽可能易于更新和维护,而不会涉及太多额外的 typedef 等。感谢您的洞察力。

0 投票
5 回答
32603 浏览

android - 番石榴:java.lang.NoClassDefFoundError - com.google.common.collect.HashBiMap

我目前在使用从这里下载的番石榴库时遇到 java.lang.NoClassDefFoundError: com.google.common.collect.HashBiMap 的问题: http ://code.google.com/p/guava-libraries/

我已经将 guava-12.0.jar 作为参考库添加到我的项目中,但仍然出现错误。您能否就问题所在提供一些建议?感谢您的帮助

我得到的错误信息

0 投票
2 回答
9891 浏览

c++ - Boost::Bimap 等价于双向多图

问题的第一部分是我正在尝试使用 boost::bimap,但是从文档中我不清楚如何定义双向多图。

问题的第二部分是我需要它是一个方向的地图和另一个方向的多地图,这可以使用 boost::bimap 来完成吗?

有没有人有这方面的经验或者可以指出我正确的页面?

0 投票
1 回答
763 浏览

c++ - 将 std::map 复制/插入到 boost::bimap

我尝试将 std::map 的元素复制到 boost::bimap 中。我无法让 std::copy 工作(boost 文档似乎表明 bimap 应该与 std::copy 兼容)。

我尝试了以下方法:

错误消息很长,开头是: