//========================================================================== buffer( buffer const& src ) : parent_data(src.allocator()) { parent_data::allocate(src.size()); #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && BOOST_WORKAROUND(BOOST_MSVC, < 1600) stdext::unchecked_copy(src.begin(),src.end(),begin()); #elif BOOST_WORKAROUND(BOOST_MSVC, > 1500) std::copy(src.begin(),src.end(),stdext::make_unchecked_array_iterator(begin())); #else std::copy(src.begin(),src.end(),begin()); #endif }
//========================================================================== void swap( buffer&src ) { parent_data::swap( src ); boost::swap(allocator(),src.allocator()); }