WIP: Optimize RegistryEntry
- remove redundant
parentEntry()(use existingparent()instead) - remove recursive
assemblePath()-- instead concatenate fullpath of parent and own path - remove
createDefaultObject(), usestd::make_unique<DataObj>()instead - have
leavesreturn a range of (const references to) leaves, instead of returning a const reference to avector<unique_ptr> - make
RegistryEntry::leaves(),size(),isEmpty()public (as they exposes less implementation details than already visible throughRegistryEntry::begin()andRegistryEntry::end()-- the latter two should be deprecated at some point) - prefer direct use of
RegistryEntry::leaves()over bouncing to theIDataManagerSvcand usingIDataManagerSvc::objectLeaves() - prefer direct use of
RegistryEntry::parent()over bouncing to theIDataManagerSvcand usingIDataManagerSvc::objectParent() - streamline creation of new
RegistryEntry: require object and datasvc to be passed as constructor arguments, and remove the corresponding setters. - remove some unnecessary try / catch(...) blocks
note: this is on top of !661 (merged)
Edited by Gerhard Raven