Я определил boost :: bimap-
typedef boost::bimap
<
boost::bimaps::unordered_set_of <CrString>,
boost::bimaps::unordered_set_of <RU64>
> xBimap
каждый раз, когда я проверяю, есть ли у меня значение в bimap —
// Take iterator to the left node
xBimap::left_iterator left_iter = m_bimap.left.find(CrString(pi_pLeft));
// Check if found
if(left_iter != m_bimap.left.end()) // Found
и если нет, я вставляю в него, используя команду
m_bimap.insert(xBimap::value_type(pi_pLeft, pi_nRight));
Иногда я не нахожу строку в хэше, хотя она существует, а в других случаях я уже нашел точно такую же строку. Затем, когда я пытаюсь вставить значение снова в bimap, я вижу, что количество значений в би-карте не меняется.
Вы знаете, что может быть причиной того, что я не нашел строку в хэше?
Благодарю.
Задача ещё не решена.
Других решений пока нет …