diff --git a/include/boost/lexical_cast.hpp b/include/boost/lexical_cast.hpp index 9fd144f..c954310 100644 --- a/include/boost/lexical_cast.hpp +++ b/include/boost/lexical_cast.hpp @@ -159,6 +159,7 @@ namespace boost #include #include #include +#include #ifndef BOOST_NO_CWCHAR # include #endif @@ -642,7 +643,7 @@ namespace boost { namespace detail // lcast_put_unsigned { template - class lcast_put_unsigned { + class lcast_put_unsigned: boost::noncopyable { typedef BOOST_DEDUCED_TYPENAME Traits::int_type int_type; BOOST_DEDUCED_TYPENAME boost::mpl::if_c< (sizeof(int_type) > sizeof(T)) @@ -729,7 +730,7 @@ namespace boost { namespace detail // lcast_ret_unsigned { template - class lcast_ret_unsigned { + class lcast_ret_unsigned: boost::noncopyable { bool m_multiplier_overflowed; T m_multiplier; T& m_value; @@ -1310,7 +1311,7 @@ namespace boost { , bool RequiresStringbuffer , std::size_t CharacterBufferSize > - class lexical_istream_limited_src { + class lexical_istream_limited_src: boost::noncopyable { typedef BOOST_DEDUCED_TYPENAME out_stream_helper_trait::buffer_t buffer_t; @@ -1676,7 +1677,7 @@ namespace boost { template - class lexical_ostream_limited_src { + class lexical_ostream_limited_src: boost::noncopyable { //`[start, finish)` is the range to output by `operator >>` const CharT* start; const CharT* const finish;