#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stddef.h>
Go to the source code of this file.
|
MRC_API MR_std_function_void * | MR_std_function_void_DefaultConstruct (void) |
|
MRC_API MR_std_function_void * | MR_std_function_void_DefaultConstructArray (size_t num_elems) |
|
MRC_API MR_std_function_void * | MR_std_function_void_ConstructFromAnother (MR_PassBy other_pass_by, MR_std_function_void *other) |
|
MRC_API void | MR_std_function_void_AssignFromAnother (MR_std_function_void *_this, MR_PassBy other_pass_by, MR_std_function_void *other) |
|
MRC_API void | MR_std_function_void_Destroy (const MR_std_function_void *_this) |
| Destroys a heap-allocated instance of MR_std_function_void . Does nothing if the pointer is null.
|
|
MRC_API void | MR_std_function_void_DestroyArray (const MR_std_function_void *_this) |
| Destroys a heap-allocated array of MR_std_function_void . Does nothing if the pointer is null.
|
|
MRC_API const MR_std_function_void * | MR_std_function_void_OffsetPtr (const MR_std_function_void *ptr, ptrdiff_t i) |
| Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
|
|
MRC_API MR_std_function_void * | MR_std_function_void_OffsetMutablePtr (MR_std_function_void *ptr, ptrdiff_t i) |
| Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
|
|
MRC_API void | MR_std_function_void_Assign (MR_std_function_void *_this, void(*func)(void)) |
|
MRC_API void | MR_std_function_void_AssignWithDataPtr (MR_std_function_void *_this, void(*func)(void *_userdata), void *userdata, void(*userdata_callback)(void **_this_userdata, void *_other_userdata)) |
|
◆ MR_std_function_void
Stores a functor of type: void(void)
. Possibly stateful. Supported MR_PassBy
modes: MR_PassBy_DefaultConstruct
, MR_PassBy_Copy
, MR_PassBy_Move
, (and MR_PassBy_DefaultArgument
and MR_PassBy_NoObject
if supported by the callee).
◆ MR_std_function_void_Assign()
Assign a stateless function. Parameter _this
can not be null. It is a single object.
◆ MR_std_function_void_AssignFromAnother()
Assigns the contents from another instance. Both objects remain alive after the call. Parameter _this
can not be null. It is a single object.
◆ MR_std_function_void_AssignWithDataPtr()
MRC_API void MR_std_function_void_AssignWithDataPtr |
( |
MR_std_function_void * | _this, |
|
|
void(* | func )(void *_userdata), |
|
|
void * | userdata, |
|
|
void(* | userdata_callback )(void **_this_userdata, void *_other_userdata) ) |
Assign a function with an extra user data pointer. Parameter userdata_callback
can be null. Pass null if you don't need custom behavior when destroying and/or copying the functor. Parameter _this
can not be null. It is a single object. How to use userdata_callback
: The _this_userdata
parameter will never be null. If *_this_userdata
is non-null and _other_userdata
is null, the functor is being destroyed. Perform any cleanup if needed. If *_this_userdata
is null and _other_userdata
is non-null, a copy of the functor is being constructed. Perform copying if needed and write the new userdata to *_this_userdata
. If *_this_userdata
is non-null and _other_userdata
is non-null, the functor is being assigned. The simplest option is to destroy *_this_userdata
first, and then behave as if it was null.
◆ MR_std_function_void_ConstructFromAnother()
Constructs a copy of another instance. The source remains alive. Never returns null. Returns an instance allocated on the heap! Must call MR_std_function_void_Destroy()
to free it when you're done using it.
◆ MR_std_function_void_DefaultConstruct()
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_std_function_void_Destroy()
to free it when you're done using it.
◆ MR_std_function_void_DefaultConstructArray()
◆ MR_std_function_void_Destroy()
Destroys a heap-allocated instance of MR_std_function_void
. Does nothing if the pointer is null.
◆ MR_std_function_void_DestroyArray()
Destroys a heap-allocated array of MR_std_function_void
. Does nothing if the pointer is null.
◆ MR_std_function_void_OffsetMutablePtr()
Offsets a pointer to an array element by i
positions (not bytes). Use only if you're certain that the pointer points to an array element.
◆ MR_std_function_void_OffsetPtr()
Offsets a pointer to an array element by i
positions (not bytes). Use only if you're certain that the pointer points to an array element.