template<class MANAGED, class RELEASER>
class Engine::ResourceManager< MANAGED, RELEASER >
An ADT for managing resources utilized by other classes. With conventional programming the creator of a resource is responsible for destroying it and this responsiblity should generally not be delegated. In this library, for consistency that is the case.
As the pointer to a resource is often passed to an object that utilizes it, it's often helpful to the caller to receive a call-back indicating that the object no-longer references it. The creator can then decide what to-do if anything with the pointer. (eg. if created on the heap(new), destroy it(delete), Reference counting is another posibility.