Describes the three types of package descriptors.
Three types of package are available:
a packaged modifiable buffer descriptor
a packaged non-modifiable pointer descriptor
a packaged modifiable pointer descriptor
This is an object of type TPckgBuf and is a modifiable buffer descriptor. The class
is templated; the template parameter defines the type of object that
this descriptor can contain.
For example, a package descriptor
of type TPckgBuf<TExample> is a modifiable buffer
descriptor that only contains objects of type TExample.
The package class also allows functions to be called on the contained class.

This is an object of
type TPckgC and is a non-modifiable pointer descriptor.
The class is templated; the template parameter defines the type of
object that this descriptor can represent.
For example, a package
descriptor of type TPckgC<TExample> is a non-
modifiable pointer descriptor that only represents objects of type TExample.
The package class also allows functions to be called on the contained class.

This is an object of type TPckg and is a modifiable pointer descriptor. The class
is templated; the template parameter defines the type of object that
this descriptor can represent.
For example, a package descriptor
of type TPckg<TExample> is a modifiable pointer
descriptor that only represents objects of type TExample.
The package class also allows functions to be called on the contained class.
