AsmJit
Low-Latency Machine Code Generation
Function signature.
Contains information about a function return type, count of arguments, and their TypeIds. Function signature is a low level structure which doesn't contain platform specific or calling convention specific information. It's typically used to describe function arguments in a C-API like form, which is then used to calculate a FuncDetail instance, which then maps function signature into a platform and calling convention specific format.
Function signature can be built either dynamically by using addArg() and addArgT() functionality, or dynamically by using a template-based FuncSignature::build() function, which maps template types into a function signature.
Default constructed function signature, initialized to CallConvId::kCDecl, having no return value and no arguments.
Copy constructor, which is initialized to the same function signature as other
.
kNoVarArgs
)constexprconstexprnoexcept[3/4]◆ Initializes the function signature with calling convention id ccId
and variable argument's index vaIndex
.
Initializes the function signature with calling convention id ccId
, vaIndex
, return value, and function arguments.
CallConvId::kCDecl
, uint32_t vaIndex = kNoVarArgs
)constexprstaticconstexprnoexcept◆ Builds a function signature based on RetValueAndArgs
.
The first template argument is a function return type, and function arguments follow.
Copy assignment - function signature can be copied by value.
Compares this function signature with other
for equality..
Compares this function signature with other
for inequality..
Resets this function signature to a default constructed state.
Compares this function signature with other
for equality..
Returns the calling convention.
Sets the calling convention to ccId
;.
Tests whether the function signature has a return value.
Returns the type of the return value.
Sets the return type to retType
.
Sets the return type based on T
.
Returns the array of function arguments' types.
Returns the number of function arguments.
Returns the type of the argument at index i
.
Sets the argument at index index
to argType
.
Sets the argument at index i
to the type based on T
.
Tests whether an argument can be added to the signature, use before calling addArg() and addArgT().
Appends an argument of type
to the function prototype.
Appends an argument of type based on T
to the function prototype.
Tests whether the function has variable number of arguments (...).
Returns the variable arguments (...) index, kNoVarArgs
if none.
Sets the variable arguments (...) index to index
.
Resets the variable arguments index (making it a non-va function).
Doesn't have variable number of arguments (...
).
Calling convention id.
Count of arguments.
Index of a first VA or kNoVarArgs
.
Return value TypeId.
Reserved for future use.
Function argument TypeIds.