API Reference | developer.brewmp.com API Reference | developer.brewmp.com

Developer

API Reference

AEEINTERFACE_ATPCS_PADPARAM

Brew Release
Brew MP 1.0.2
Description
This token is supplied for placing in the C and C++ glue bindings as padding for a call through a vtable function whose signature includes AEEINTERFACE_ATPCS_PADARG.
For example, an interface vtable function might have the type:
AEEResult (*Func)(IObj* pif, AEEINTERFACE_ATPCS_PADARG int64 ll);
To avoid having callers pass an ifdef'd dummy parameter, we can supply C/C++ interface accessors that hide the dummy, like:
static __inline AEEResult IObj_Func(IObj* pif, int64 ll) { return AEEGETPVTBL(IObj, pif)->Func(pif, AEEINTERFACE_ATPCS_PADPARAM ll); }
Similarly, for C++:
struct IObj : public IQI { virtual AEEResult CDECL Func(AEEINTERFACE_ATPCS_PADARG int64 ll) = 0;
#if defined(AEEINTERFACE_ATPCS) AEEResult Func (int64 ll) { return Func(AEEINTERFACE_ATPCS_PADPARAM ll); } #endif }
The ifdef in the above C++ glue is necessary for the case where AEEINTERFACE_ATPCS_PADARG evaluates to nothing.
Definition
  •    #if defined(AEEINTERFACE_ATPCS)
       #   define AEEINTERFACE_ATPCS_PADPARM 0,
       #else 
       #   define AEEINTERFACE_ATPCS_PADPARM
       #endif