Pointer
cast functions

The pointer cast functions (boost::static_pointer_castboost::dynamic_pointer_castboost::reinterpret_pointer_castboost::const_pointer_cast)
provide a way to write generic pointer castings for raw pointers. The functions
are defined in boost/pointer_cast.hpp.

Pointer cast functions from boost/pointer_cast.hpp
are overloads of boost::static_pointer_cast, boost::dynamic_pointer_cast,
boost::reinterpret_pointer_cast and boost::const_pointer_cast
for raw pointers. This way when developing pointer type independent classes,
for example, memory managers or shared memory compatible classes, the same code
can be used for raw and smart pointers.