hpcc-systems/HPCC-Platform — pull request #1065 by ghalliday (2011-11-25 10:57:30+00:00)
Title: Rationalize the Owned/Linked classes

This (minor) change is designed to make it easier to understand the
smart pointer objects used to support the Link()/Release() model.

The Shared class has been introduced as a base class for both the
Owned<> and Linked<> classes. Why?
- The concept of the shared pointer is now separated out from the
classes used to construct a shared pointer from a real pointer
(Owned and Shared).
- Linked didn't really have an isA relationship with Owned, more an
implementation detail. They both do with Shared.
- A function that works on either form now can now specify used Shared.
Previous it used Owned (it was a bit arbitrary which was the base).
- A side-effect of the change is that Shared is now an STL
compatible object. jlib is still the preferred library.

Signed-off-by: Gavin Halliday