#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 ipositions (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 ipositions (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.