Shortcuts

The following methods in the hierarchical container object are equivalent to instantiating the appropriate lock object, and performing the requested action.

bool flag=h->insert([]
                   {
                       return valueRef::create();
                   }, key,
                   []
                   (valueRef &&existing)
                   {
                       return false;
                   });

This is equivalent to creating a new write lock, positioned at the container's root node, then invoking its insert() method to install a new value for the specified key.

hierclass::base::readlock lock=h->search(key);

This is equivalent to creating a new reader lock, positioned at the container's root node, then invoking its to_child() method with the second value set to true, positioning the reader lock to the given key, or its closest parent, with a value. Or the root node, if the specified key does not have a value, and none of its parent keys have a value.

bool flag=h->erase(key);

bool flag=h->prune(key);

bool flag=h->prune_if(key, []
                           (valueRef &&value, const key &name)
                           {
                               return true;
                           });

This is equivalent to creating a new writer lock, positioned at the container's root node, then invoking the lock's corresponding method.