Asio's implementation can use
std::weak_ptr<> in preference to the Boost equivalents.
Support for the standard smart pointers is automatically enabled for
4.3 and later, when the
compiler options are used, as well as for Microsoft Visual C++ 10. It may
be disabled by defining
ASIO_DISABLE_STD_SHARED_PTR, or explicitly
enabled for other compilers by defining