specify boost::shared_ptr in tutorial code. Use c++11 if enabled in cxxfunctional