todo
More...
#include <FunctionTypes.h>
|
| FunctionGroup (const char *name, const char *doc, const FunctionList &list) |
|
| ~FunctionGroup ()=default |
|
Function::Ptr | match (const std::vector< llvm::Type * > &types, llvm::LLVMContext &C, Function::SignatureMatch *type=nullptr) const |
| Given a vector of llvm types, automatically returns the best possible function declaration from the stored function list. The 'best' declaration is determined by the provided types compatibility to each functions signature. More...
|
|
llvm::Value * | execute (const std::vector< llvm::Value * > &args, llvm::IRBuilder<> &B) const |
| Given a vector of llvm values provided by the user, find the best possible function signature, generate and execute the function body. Returns the return value of the function (can be void). More...
|
|
const FunctionList & | list () const |
| Accessor to the underlying function signature list. More...
|
|
const char * | name () const |
|
const char * | doc () const |
|
◆ FunctionList
◆ Ptr
◆ UniquePtr
◆ FunctionGroup()
◆ ~FunctionGroup()
◆ doc()
const char* doc |
( |
| ) |
const |
|
inline |
◆ execute()
llvm::Value* execute |
( |
const std::vector< llvm::Value * > & |
args, |
|
|
llvm::IRBuilder<> & |
B |
|
) |
| const |
Given a vector of llvm values provided by the user, find the best possible function signature, generate and execute the function body. Returns the return value of the function (can be void).
- Note
- This function will throw if not compatible match is found or if no valid return is provided by the matched declarations implementation.
- Parameters
-
args | A vector of values representing the function arguments |
B | The current llvm IRBuilder |
◆ list()
Accessor to the underlying function signature list.
◆ match()
Given a vector of llvm types, automatically returns the best possible function declaration from the stored function list. The 'best' declaration is determined by the provided types compatibility to each functions signature.
- Note
- If multiple implicit matches are found, the first match is returned.
-
Returns a nullptr if no compatible match was found or if the function list is empty. A compatible match is defined as an Explicit or Implicit match.
- Parameters
-
types | A vector of types representing the function argument types |
C | The llvm context |
type | If provided, type is set to the type of match that occurred |
◆ name()
const char* name |
( |
| ) |
const |
|
inline |
The documentation for this struct was generated from the following file: