
Le 04/06/2010 20:56, Fernando Cacciola wrote:
Honestly. I'm at a total lost about what problem are you trying to solve that requires such a big framework. I never needed anything beyond shared_ptr (ok well, perhaps a *couple* of weak_ptrs), and I'm very well aware of its limitations (like circular references). Is just that my designs naturally don't do any of that, for reason totally unrelated to memory managment or that fact that I happen to use simple reference counting. So that's a non-existent problem for me.
It could be argued than a cycle within your ownership responsibility graph (which should really be a hierarchy) is a serious design issue to begin with. One reason is that you cannot have a determinate order of resource cleanup in that case. Yet a lot of people keep working on providing an automatic resource management mechanism that deals with cycles without even wondering if it's not the cycles themselves that are the problem. Of course, in some languages, it's necessary, as there is no way to distinguish between an owning pointer and a mere reference. But does C++ really need this?