Runtime Helpers¶
Runtime helper functions.
These are not part of the HPy context or ABI, but are available for HPy extensions to incorporate at compile time.
Runtime Helpers API¶
-
int
HPyHelpers_AddType
(HPyContext *ctx, HPy obj, const char *name, HPyType_Spec *hpyspec, HPyType_SpecParam *params)¶
[source] Create a type and add it as an attribute on the given object. The type is created using HPyType_FromSpec. The object is often a module that the type is being added to.
- Parameters
ctx – The execution context.
obj – A handle to the object the type is being added to (often a module).
name – The name of the attribute on the object to assign the type to.
hpyspec – The type spec to use to create the type.
params – The type spec parameters to use to create the type.
- Returns
0 on failure, 1 on success.
Examples:
Using HPyHelpers_AddType without any HPyType_SpecParam parameters:
if (!HPyHelpers_AddType(ctx, module, "MyType", hpyspec, NULL)) return HPy_NULL; ...
Using HPyHelpers_AddType with HPyType_SpecParam parameters:
HPyType_SpecParam params[] = { { HPyType_SpecParam_Base, ctx->h_LongType }, { 0 } }; if (!HPyHelpers_AddType(ctx, module, "MyType", hpyspec, params)) return HPy_NULL; ...