
![]() |
![]() |
|
Location:
e32def.h
VA_ARG (ap, type) ((ap)[0]+=((sizeof(type)+sizeof(TInt)-1)&~(sizeof(TInt)-1)),(*(type *)((ap)[0]-((sizeof(type)+sizeof(TInt)-1)&~(sizeof(TInt)-1)))))
A macro used by Symbian OS code for handling a variable argument list in a function call.
Increments a pointer to a variable argument list to point to the next argument in the list. The current argument is assumed to be of a type defined by the second parameter to this macro.
Typical usage:
Foo(CAbcdef aAbcdef,...)
{
VA_LIST list;
VA_START(list, aAbcdef);
...
TInt x = VA_ARG(list,TInt);
...
const TDesC *pS=VA_ARG(aList,const TDesC*);
...
etc
}
|