Modify to use BOOST_NOEXCEPT