From boost documentation you can try to find the key and if not_found()
then you can push a new key.
assoc_iterator not_found() ; Returns the not-found iterator. Equivalent to end() in a real associative container.
const_assoc_iterator not_found() const; Returns the not-found iterator. Equivalent to end() in a real associative container.
assoc_iterator find(const key_type & key) ; Find a child with the given key, or not_found() if there is none. There is no guarantee about which child is returned if multiple have the same key.
const_assoc_iterator find(const key_type & key) const; Find a child with the given key, or not_found() if there is none. There is no guarantee about which child is returned if multiple have the same key.