Something went wrong. Try again.
Reactos
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849/* * PROJECT: ReactOS c++ runtime library * LICENSE: GPLv2+ - See COPYING in the top level directory * PURPOSE: Exception-handling vector ctor/dtor iterator implementation * PROGRAMMER: Thomas Faber (thomas.faber@reactos.org) */
#include <stddef.h>
void __stdcall MSVCRTEX_eh_vector_constructor_iterator(void *pMem, size_t sizeOfItem, int nItems, void (__thiscall *ctor)(void *), void (__thiscall *dtor)(void *)){ char *pEnd = static_cast<char *>(pMem) + nItems * sizeOfItem; for (char *pItem = static_cast<char *>(pMem); pItem < pEnd; pItem += sizeOfItem) { try { ctor(pItem); } catch (...) { for (pItem -= sizeOfItem; pItem >= pMem; pItem -= sizeOfItem) dtor(pItem); throw; } }}
void __stdcall MSVCRTEX_eh_vector_destructor_iterator(void *pMem, size_t sizeOfItem, int nItems, void (__thiscall *dtor)(void *)){ char *pEnd = static_cast<char *>(pMem) + nItems * sizeOfItem; for (char *pItem = pEnd - sizeOfItem; pItem >= pMem; pItem -= sizeOfItem) { try { dtor(pItem); } catch (...) { for (pItem -= sizeOfItem; pItem >= pMem; pItem -= sizeOfItem) dtor(pItem); throw; } }}