Для моего приложения гораздо удобнее и логичнее держать карту websocketpp::connection_hdl
в качестве ключей на карте, но я обнаружил, что это может быть потенциально опасно, поскольку они являются weak_ptr
.
Однако было заявлено, что boost::unordered_map
не может сломаться, если срок действия ключа weak_ptr
истек.
Это правда? Если да, то как можно сконструировать его так, чтобы он содержал connection_hdl
в качестве ключей, а также мог быть вставлен, стерт и найден/подсчитан? Кроме того, что необходимо, чтобы иметь возможность перебирать их, например, с помощью for
?
В настоящее время это выходит за рамки моего набора навыков, поэтому я не уверен, на что смотрю.