So, now that we have selected to use the value model for
CacheFactory::create()/Cache, we need to look at what the methods on Cache
return.

Starting with Cache::createRegionFactory method which returns
std::shared_ptr<RegionFactory>. I think it is very clear that this should
be a value type.

RegionFactory Cache::createRegionFactory(...) const;


Looking then at Cache::getRegion things are more interesting. It currently
returns std::shared_ptr<Region>. Internally we keep a set of these
shared_ptrs in a map. Does it make sense to keep returning these
shared_ptrs or should we again switch to a value model? It would be great
for consistency on the public API to go the value model way even if
initially the value simply holds a shared_ptr to the internal region impl.

Thoughts?

Reply via email to