ReactOS 0.4.15-dev-7958-gcd0bb1a
ehvec.cpp File Reference
#include <stddef.h>
Include dependency graph for ehvec.cpp:

Go to the source code of this file.

Functions

void __stdcall MSVCRTEX_eh_vector_constructor_iterator (void *pMem, size_t sizeOfItem, int nItems, void(__thiscall *ctor)(void *), void(__thiscall *dtor)(void *))
 
void __stdcall MSVCRTEX_eh_vector_destructor_iterator (void *pMem, size_t sizeOfItem, int nItems, void(__thiscall *dtor)(void *))
 

Function Documentation

◆ MSVCRTEX_eh_vector_constructor_iterator()

void __stdcall MSVCRTEX_eh_vector_constructor_iterator ( void pMem,
size_t  sizeOfItem,
int  nItems,
void(__thiscall *ctor)(void *)  ,
void(__thiscall *dtor)(void *)   
)

Definition at line 10 of file ehvec.cpp.

11{
12 char *pEnd = static_cast<char *>(pMem) + nItems * sizeOfItem;
13 for (char *pItem = static_cast<char *>(pMem);
14 pItem < pEnd;
15 pItem += sizeOfItem)
16 {
17 try
18 {
19 ctor(pItem);
20 }
21 catch (...)
22 {
23 for (pItem -= sizeOfItem; pItem >= pMem; pItem -= sizeOfItem)
24 dtor(pItem);
25 throw;
26 }
27 }
28}
int nItems
Definition: appswitch.c:56
LPFNCONSTRUCTOR ctor
Definition: msctf.c:83

◆ MSVCRTEX_eh_vector_destructor_iterator()

void __stdcall MSVCRTEX_eh_vector_destructor_iterator ( void pMem,
size_t  sizeOfItem,
int  nItems,
void(__thiscall *dtor)(void *)   
)

Definition at line 30 of file ehvec.cpp.

31{
32 char *pEnd = static_cast<char *>(pMem) + nItems * sizeOfItem;
33 for (char *pItem = pEnd - sizeOfItem;
34 pItem >= pMem;
35 pItem -= sizeOfItem)
36 {
37 try
38 {
39 dtor(pItem);
40 }
41 catch (...)
42 {
43 for (pItem -= sizeOfItem; pItem >= pMem; pItem -= sizeOfItem)
44 dtor(pItem);
45 throw;
46 }
47 }
48}