Boost and the C++ StandardIf boost::sharedptr look almost identical, that is because one is the ancestor