[SVN r82362]
This commit is contained in:
Ion Gaztañaga committed 2013-01-05 16:39:30 +00:00
1 parent 637b83f5cf
commit 4e4659cc17
5 files changed
+51 -11

No files matched your search

+5 -3
View File
@@ -28,6 +28,7 @@
#include <iterator>
#include <boost/cstdint.hpp>
#include <boost/static_assert.hpp>
#include <boost/detail/no_exceptions_support.hpp>
namespace boost {
namespace intrusive {
@@ -692,19 +693,20 @@ class array_initializer
{
char *init_buf = (char*)rawbuf;
std::size_t i = 0;
try{
BOOST_TRY{
for(; i != N; ++i){
new(init_buf)T(init);
init_buf += sizeof(T);
}
}
catch(...){
BOOST_CATCH(...){
while(i--){
init_buf -= sizeof(T);
((T*)init_buf)->~T();
}
throw;
BOOST_RETHROW;
}
BOOST_CATCH_END
}
operator T* ()