MeshLib C Docs
Loading...
Searching...
No Matches
std_shared_ptr_const_MR_SceneRootObject.h File Reference
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stddef.h>

Go to the source code of this file.

Typedefs

typedef struct MR_SceneRootObject MR_SceneRootObject
 
typedef struct MR_std_shared_ptr_const_MR_SceneRootObject MR_std_shared_ptr_const_MR_SceneRootObject
 

Functions

MRC_API MR_std_shared_ptr_const_MR_SceneRootObjectMR_std_shared_ptr_const_MR_SceneRootObject_DefaultConstruct (void)
 
MRC_API MR_std_shared_ptr_const_MR_SceneRootObjectMR_std_shared_ptr_const_MR_SceneRootObject_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_std_shared_ptr_const_MR_SceneRootObjectMR_std_shared_ptr_const_MR_SceneRootObject_ConstructFromAnother (MR_PassBy other_pass_by, MR_std_shared_ptr_const_MR_SceneRootObject *other)
 
MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_AssignFromAnother (MR_std_shared_ptr_const_MR_SceneRootObject *_this, MR_PassBy other_pass_by, MR_std_shared_ptr_const_MR_SceneRootObject *other)
 
MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_Destroy (const MR_std_shared_ptr_const_MR_SceneRootObject *_this)
 Destroys a heap-allocated instance of MR_std_shared_ptr_const_MR_SceneRootObject. Does nothing if the pointer is null.
 
MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_DestroyArray (const MR_std_shared_ptr_const_MR_SceneRootObject *_this)
 Destroys a heap-allocated array of MR_std_shared_ptr_const_MR_SceneRootObject. Does nothing if the pointer is null.
 
MRC_API const MR_std_shared_ptr_const_MR_SceneRootObjectMR_std_shared_ptr_const_MR_SceneRootObject_OffsetPtr (const MR_std_shared_ptr_const_MR_SceneRootObject *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_shared_ptr_const_MR_SceneRootObjectMR_std_shared_ptr_const_MR_SceneRootObject_OffsetMutablePtr (MR_std_shared_ptr_const_MR_SceneRootObject *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 const MR_SceneRootObjectMR_std_shared_ptr_const_MR_SceneRootObject_Get (const MR_std_shared_ptr_const_MR_SceneRootObject *_this)
 
MRC_API int MR_std_shared_ptr_const_MR_SceneRootObject_UseCount (const MR_std_shared_ptr_const_MR_SceneRootObject *_this)
 
MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_Construct (const MR_SceneRootObject *ptr)
 
MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_Assign (MR_std_shared_ptr_const_MR_SceneRootObject *_this, const MR_SceneRootObject *ptr)
 

Typedef Documentation

◆ MR_SceneRootObject

◆ MR_std_shared_ptr_const_MR_SceneRootObject

Wraps a pointer to a single shared reference-counted heap-allocated const MR::SceneRootObject. 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).

Function Documentation

◆ MR_std_shared_ptr_const_MR_SceneRootObject_Assign()

MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_Assign ( MR_std_shared_ptr_const_MR_SceneRootObject * _this,
const MR_SceneRootObject * ptr )

Overwrite the existing instance, taking ownership of an existing pointer. The previously owned object, if any, has its reference count decremented. Parameter _this can not be null. It is a single object. Parameter ptr should point to a single object rather than to an array. Parameter ptr takes ownership of the passed pointer (if not null), and will later call MR_SceneRootObject_Destroy() on it automatically.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_AssignFromAnother()

MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_AssignFromAnother ( MR_std_shared_ptr_const_MR_SceneRootObject * _this,
MR_PassBy other_pass_by,
MR_std_shared_ptr_const_MR_SceneRootObject * other )

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_shared_ptr_const_MR_SceneRootObject_Construct()

MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_Construct ( const MR_SceneRootObject * ptr)

Create a new instance, taking ownership of an existing pointer. Parameter ptr should point to a single object rather than to an array. Parameter ptr takes ownership of the passed pointer (if not null), and will later call MR_SceneRootObject_Destroy() on it automatically.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_ConstructFromAnother()

MRC_API MR_std_shared_ptr_const_MR_SceneRootObject * MR_std_shared_ptr_const_MR_SceneRootObject_ConstructFromAnother ( MR_PassBy other_pass_by,
MR_std_shared_ptr_const_MR_SceneRootObject * other )

Constructs a copy of another instance. The source remains alive. Never returns null. Returns an instance allocated on the heap! Must call MR_std_shared_ptr_const_MR_SceneRootObject_Destroy() to free it when you're done using it.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_DefaultConstruct()

MRC_API MR_std_shared_ptr_const_MR_SceneRootObject * MR_std_shared_ptr_const_MR_SceneRootObject_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_std_shared_ptr_const_MR_SceneRootObject_Destroy() to free it when you're done using it.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_DefaultConstructArray()

MRC_API MR_std_shared_ptr_const_MR_SceneRootObject * MR_std_shared_ptr_const_MR_SceneRootObject_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_std_shared_ptr_const_MR_SceneRootObject_DestroyArray(). Use MR_std_shared_ptr_const_MR_SceneRootObject_OffsetMutablePtr() and MR_std_shared_ptr_const_MR_SceneRootObject_OffsetPtr() to access the array elements.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_Destroy()

MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_Destroy ( const MR_std_shared_ptr_const_MR_SceneRootObject * _this)

Destroys a heap-allocated instance of MR_std_shared_ptr_const_MR_SceneRootObject. Does nothing if the pointer is null.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_DestroyArray()

MRC_API void MR_std_shared_ptr_const_MR_SceneRootObject_DestroyArray ( const MR_std_shared_ptr_const_MR_SceneRootObject * _this)

Destroys a heap-allocated array of MR_std_shared_ptr_const_MR_SceneRootObject. Does nothing if the pointer is null.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_Get()

MRC_API const MR_SceneRootObject * MR_std_shared_ptr_const_MR_SceneRootObject_Get ( const MR_std_shared_ptr_const_MR_SceneRootObject * _this)

Returns the stored pointer, possibly null. Parameter _this can not be null. It is a single object.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_OffsetMutablePtr()

MRC_API MR_std_shared_ptr_const_MR_SceneRootObject * MR_std_shared_ptr_const_MR_SceneRootObject_OffsetMutablePtr ( MR_std_shared_ptr_const_MR_SceneRootObject * 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.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_OffsetPtr()

MRC_API const MR_std_shared_ptr_const_MR_SceneRootObject * MR_std_shared_ptr_const_MR_SceneRootObject_OffsetPtr ( const MR_std_shared_ptr_const_MR_SceneRootObject * 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.

◆ MR_std_shared_ptr_const_MR_SceneRootObject_UseCount()

MRC_API int MR_std_shared_ptr_const_MR_SceneRootObject_UseCount ( const MR_std_shared_ptr_const_MR_SceneRootObject * _this)

How many shared pointers share the managed object. Zero if no object is being managed. This being zero usually conincides with MR_std_shared_ptr_const_MR_SceneRootObject_Get() returning null, but is ultimately orthogonal. Note that in multithreaded environments, the only safe way to use this number is comparing it with zero. Positive values might change by the time you get to use them. Parameter _this can not be null. It is a single object.