Automate selection of std::shared_ptr<> and boost::shared_ptr<> based on compiler version