MeshLib C Docs
Loading...
Searching...
No Matches
std_optional_MR_ObjectMeshData.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_ObjectMeshData MR_ObjectMeshData
 
typedef struct MR_std_optional_MR_ObjectMeshData MR_std_optional_MR_ObjectMeshData
 

Functions

MRC_API MR_std_optional_MR_ObjectMeshDataMR_std_optional_MR_ObjectMeshData_DefaultConstruct (void)
 
MRC_API MR_std_optional_MR_ObjectMeshDataMR_std_optional_MR_ObjectMeshData_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_std_optional_MR_ObjectMeshDataMR_std_optional_MR_ObjectMeshData_ConstructFromAnother (MR_PassBy other_pass_by, MR_std_optional_MR_ObjectMeshData *other)
 
MRC_API MR_std_optional_MR_ObjectMeshDataMR_std_optional_MR_ObjectMeshData_ConstructFrom (MR_PassBy other_pass_by, MR_ObjectMeshData *other)
 
MRC_API void MR_std_optional_MR_ObjectMeshData_AssignFromAnother (MR_std_optional_MR_ObjectMeshData *_this, MR_PassBy other_pass_by, MR_std_optional_MR_ObjectMeshData *other)
 
MRC_API void MR_std_optional_MR_ObjectMeshData_AssignFrom (MR_std_optional_MR_ObjectMeshData *_this, MR_PassBy other_pass_by, MR_ObjectMeshData *other)
 
MRC_API void MR_std_optional_MR_ObjectMeshData_Destroy (const MR_std_optional_MR_ObjectMeshData *_this)
 Destroys a heap-allocated instance of MR_std_optional_MR_ObjectMeshData. Does nothing if the pointer is null.
 
MRC_API void MR_std_optional_MR_ObjectMeshData_DestroyArray (const MR_std_optional_MR_ObjectMeshData *_this)
 Destroys a heap-allocated array of MR_std_optional_MR_ObjectMeshData. Does nothing if the pointer is null.
 
MRC_API const MR_std_optional_MR_ObjectMeshDataMR_std_optional_MR_ObjectMeshData_OffsetPtr (const MR_std_optional_MR_ObjectMeshData *ptr, ptrdiff_t i)
 
MRC_API MR_std_optional_MR_ObjectMeshDataMR_std_optional_MR_ObjectMeshData_OffsetMutablePtr (MR_std_optional_MR_ObjectMeshData *ptr, ptrdiff_t i)
 
MRC_API const MR_ObjectMeshDataMR_std_optional_MR_ObjectMeshData_Value (const MR_std_optional_MR_ObjectMeshData *_this)
 
MRC_API MR_ObjectMeshDataMR_std_optional_MR_ObjectMeshData_MutableValue (MR_std_optional_MR_ObjectMeshData *_this)
 

Typedef Documentation

◆ MR_ObjectMeshData

◆ MR_std_optional_MR_ObjectMeshData

Stores either a single MR::ObjectMeshData or nothing. 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_optional_MR_ObjectMeshData_AssignFrom()

MRC_API void MR_std_optional_MR_ObjectMeshData_AssignFrom ( MR_std_optional_MR_ObjectMeshData * _this,
MR_PassBy other_pass_by,
MR_ObjectMeshData * other )

Assigns the contents. Parameter _this can not be null. It is a single object. Parameter other is optional. To keep it empty, pass MR_PassBy_NoObject and a null pointer.

◆ MR_std_optional_MR_ObjectMeshData_AssignFromAnother()

MRC_API void MR_std_optional_MR_ObjectMeshData_AssignFromAnother ( MR_std_optional_MR_ObjectMeshData * _this,
MR_PassBy other_pass_by,
MR_std_optional_MR_ObjectMeshData * 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. The reference to the parameter other might be preserved in this object. When this function is called, this object will drop any object references it had previously.

◆ MR_std_optional_MR_ObjectMeshData_ConstructFrom()

MRC_API MR_std_optional_MR_ObjectMeshData * MR_std_optional_MR_ObjectMeshData_ConstructFrom ( MR_PassBy other_pass_by,
MR_ObjectMeshData * other )

Constructs a new instance. Parameter other is optional. To keep it empty, pass MR_PassBy_NoObject and a null pointer. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_ObjectMeshData_Destroy() to free it when you're done using it.

◆ MR_std_optional_MR_ObjectMeshData_ConstructFromAnother()

MRC_API MR_std_optional_MR_ObjectMeshData * MR_std_optional_MR_ObjectMeshData_ConstructFromAnother ( MR_PassBy other_pass_by,
MR_std_optional_MR_ObjectMeshData * other )

Constructs a copy of another instance. The source remains alive. The reference to the parameter other might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_ObjectMeshData_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.

◆ MR_std_optional_MR_ObjectMeshData_DefaultConstruct()

MRC_API MR_std_optional_MR_ObjectMeshData * MR_std_optional_MR_ObjectMeshData_DefaultConstruct ( void )

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

◆ MR_std_optional_MR_ObjectMeshData_DefaultConstructArray()

MRC_API MR_std_optional_MR_ObjectMeshData * MR_std_optional_MR_ObjectMeshData_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_optional_MR_ObjectMeshData_DestroyArray(). Use MR_std_optional_MR_ObjectMeshData_OffsetMutablePtr() and MR_std_optional_MR_ObjectMeshData_OffsetPtr() to access the array elements.

◆ MR_std_optional_MR_ObjectMeshData_Destroy()

MRC_API void MR_std_optional_MR_ObjectMeshData_Destroy ( const MR_std_optional_MR_ObjectMeshData * _this)

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

◆ MR_std_optional_MR_ObjectMeshData_DestroyArray()

MRC_API void MR_std_optional_MR_ObjectMeshData_DestroyArray ( const MR_std_optional_MR_ObjectMeshData * _this)

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

◆ MR_std_optional_MR_ObjectMeshData_MutableValue()

MRC_API MR_ObjectMeshData * MR_std_optional_MR_ObjectMeshData_MutableValue ( MR_std_optional_MR_ObjectMeshData * _this)

The stored element or null if none, mutable. Parameter _this can not be null. It is a single object.

◆ MR_std_optional_MR_ObjectMeshData_OffsetMutablePtr()

MRC_API MR_std_optional_MR_ObjectMeshData * MR_std_optional_MR_ObjectMeshData_OffsetMutablePtr ( MR_std_optional_MR_ObjectMeshData * 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. The reference to the parameter ptr might be preserved in the return value.

◆ MR_std_optional_MR_ObjectMeshData_OffsetPtr()

MRC_API const MR_std_optional_MR_ObjectMeshData * MR_std_optional_MR_ObjectMeshData_OffsetPtr ( const MR_std_optional_MR_ObjectMeshData * 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. The reference to the parameter ptr might be preserved in the return value.

◆ MR_std_optional_MR_ObjectMeshData_Value()

MRC_API const MR_ObjectMeshData * MR_std_optional_MR_ObjectMeshData_Value ( const MR_std_optional_MR_ObjectMeshData * _this)

The stored element or null if none, read-only. Parameter _this can not be null. It is a single object.