要素が boost::heap::binomial_heap に存在するかどうかを判断しようとしています。これは、 update() (ノードが既に存在する場合) または push() (ノードが存在しない場合) を呼び出す必要があるかどうかを知る必要があるためです。一部のキューは、まさにこの目的のために push_or_update() 関数を提供します。私が理解できる唯一のことは、キュー内のノードと同じインデックス タイプと value_type 'handle_t' を持つプロパティ マップを維持することです。次に、アイテムに有効なハンドルがあるかどうかをマップで検索して、そうでない場合はプッシュし、有効な場合は更新できます。
これを行うより良い方法はありますか?