Different from the tt(unique_ptr) class no specialization exists for the
tt(shared_ptr) class to handle dynamically allocated arrays of objects.

But like tt(unique_ptrs), with tt(shared_ptrs) referring to arrays the
dereferencing operator makes little sense while in these circumstances
tt(shared_ptr) objects would benefit from index operators.

It is not difficult to create a class tt(shared_array) offering such
facilities. The class template tt(shared_array), derived from tt(shared_ptr)
merely should provide an appropriate em(deleter) to make sure that the array
and its elements are properly destroyed. In addition it should define the
index operator and, when applicable should declare the derefencing operators
using tt(delete).

Here is an example showing how tt(shared_array) can be defined and used:
    verbinclude(//SHAREDARRAY examples/sharedarray.cc)
