reinterpret_cast <std::size_t *> (base)[-2] = element_size;
#endif
}
- try
+ __try
{
__cxa_vec_ctor(base, element_count, element_size,
constructor, destructor);
}
- catch (...)
+ __catch(...)
{
{
uncatch_exception ue;
reinterpret_cast <std::size_t *> (base)[-2] = element_size;
#endif
}
- try
+ __try
{
__cxa_vec_ctor(base, element_count, element_size,
constructor, destructor);
}
- catch (...)
+ __catch(...)
{
{
uncatch_exception ue;
std::size_t ix = 0;
char *ptr = static_cast<char *>(array_address);
- try
+ __try
{
if (constructor)
for (; ix != element_count; ix++, ptr += element_size)
constructor(ptr);
}
- catch (...)
+ __catch(...)
{
{
uncatch_exception ue;
char *dest_ptr = static_cast<char *>(dest_array);
char *src_ptr = static_cast<char *>(src_array);
- try
+ __try
{
if (constructor)
for (; ix != element_count;
ix++, src_ptr += element_size, dest_ptr += element_size)
constructor(dest_ptr, src_ptr);
}
- catch (...)
+ __catch(...)
{
{
uncatch_exception ue;
ptr += element_count * element_size;
- try
+ __try
{
while (ix--)
{
destructor(ptr);
}
}
- catch (...)
+ __catch(...)
{
{
uncatch_exception ue;
ptr += element_count * element_size;
- try
+ __try
{
while (ix--)
{
destructor(ptr);
}
}
- catch (...)
+ __catch(...)
{
std::terminate();
}
{
std::size_t element_count = reinterpret_cast<std::size_t *>(base)[-1];
base -= padding_size;
- try
+ __try
{
__cxa_vec_dtor(array_address, element_count, element_size,
destructor);
}
- catch (...)
+ __catch(...)
{
{
uncatch_exception ue;
std::size_t element_count = reinterpret_cast<std::size_t *> (base)[-1];
base -= padding_size;
size = element_count * element_size + padding_size;
- try
+ __try
{
__cxa_vec_dtor(array_address, element_count, element_size,
destructor);
}
- catch (...)
+ __catch(...)
{
{
uncatch_exception ue;