A smart pointer.

The principle was the non intrusive capability of using a smart pointer for already developed classes. It is a template like the std::auto_ptr.

It should also made possible the usage of a class hierarcy through a base class as an interface.

Also it should use a manager for maintaining the memory and using a factory. So it is able to decouple the program from the used implementation.

An add on exists to make the manager using dynamic loading of the implementation. So it can change the implementation within the lifetime of a program/process. Reference counting for the objects and the factory inside the manager make the decoupling of the implementation possible when no more references exists.

The pointer was tested with GNU g++ 2.8.1 and higher under linux.

With VC 6 and severeal versions of Borland, Metrowerks and Watcom for Windows there were tests, too. But I didn't maintained it at last (sorry, linux is more fun...)

Sources:

zip 1.0.0

tar gzip 1.0.0