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

Go to the source code of this file.

Typedefs

typedef struct MR_std_vector_int MR_std_vector_int
 
typedef struct MR_std_vector_int_const_iterator MR_std_vector_int_const_iterator
 
typedef struct MR_std_vector_int_iterator MR_std_vector_int_iterator
 

Functions

MRC_API MR_std_vector_intMR_std_vector_int_DefaultConstruct (void)
 
MRC_API MR_std_vector_intMR_std_vector_int_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_std_vector_intMR_std_vector_int_ConstructFromAnother (MR_PassBy other_pass_by, MR_std_vector_int *other)
 
MRC_API void MR_std_vector_int_AssignFromAnother (MR_std_vector_int *_this, MR_PassBy other_pass_by, MR_std_vector_int *other)
 
MRC_API void MR_std_vector_int_Destroy (const MR_std_vector_int *_this)
 Destroys a heap-allocated instance of MR_std_vector_int. Does nothing if the pointer is null.
 
MRC_API void MR_std_vector_int_DestroyArray (const MR_std_vector_int *_this)
 Destroys a heap-allocated array of MR_std_vector_int. Does nothing if the pointer is null.
 
MRC_API const MR_std_vector_intMR_std_vector_int_OffsetPtr (const MR_std_vector_int *ptr, ptrdiff_t i)
 
MRC_API MR_std_vector_intMR_std_vector_int_OffsetMutablePtr (MR_std_vector_int *ptr, ptrdiff_t i)
 
MRC_API MR_std_vector_intMR_std_vector_int_ConstructFromRange (const int *ptr, size_t size)
 
MRC_API void MR_std_vector_int_AssignFromRange (MR_std_vector_int *_this, const int *ptr, size_t size)
 
MRC_API size_t MR_std_vector_int_Size (const MR_std_vector_int *_this)
 
MRC_API bool MR_std_vector_int_IsEmpty (const MR_std_vector_int *_this)
 
MRC_API void MR_std_vector_int_Resize (MR_std_vector_int *_this, size_t new_size)
 
MRC_API void MR_std_vector_int_ResizeWithDefaultValue (MR_std_vector_int *_this, size_t new_size, int value)
 
MRC_API void MR_std_vector_int_Clear (MR_std_vector_int *_this)
 
MRC_API size_t MR_std_vector_int_Capacity (const MR_std_vector_int *_this)
 
MRC_API void MR_std_vector_int_Reserve (MR_std_vector_int *_this, size_t new_capacity)
 
MRC_API void MR_std_vector_int_ShrinkToFit (MR_std_vector_int *_this)
 
MRC_API const int * MR_std_vector_int_At (const MR_std_vector_int *_this, size_t i)
 
MRC_API int * MR_std_vector_int_MutableAt (MR_std_vector_int *_this, size_t i)
 
MRC_API const int * MR_std_vector_int_Front (const MR_std_vector_int *_this)
 
MRC_API int * MR_std_vector_int_MutableFront (MR_std_vector_int *_this)
 
MRC_API const int * MR_std_vector_int_Back (const MR_std_vector_int *_this)
 
MRC_API int * MR_std_vector_int_MutableBack (MR_std_vector_int *_this)
 
MRC_API const int * MR_std_vector_int_Data (const MR_std_vector_int *_this)
 
MRC_API int * MR_std_vector_int_MutableData (MR_std_vector_int *_this)
 
MRC_API void MR_std_vector_int_PushBack (MR_std_vector_int *_this, int new_elem)
 
MRC_API void MR_std_vector_int_PopBack (MR_std_vector_int *_this)
 
MRC_API void MR_std_vector_int_Insert (MR_std_vector_int *_this, size_t position, int new_elem)
 
MRC_API void MR_std_vector_int_Erase (MR_std_vector_int *_this, size_t position)
 
MRC_API void MR_std_vector_int_InsertAtMutableIter (MR_std_vector_int *_this, const MR_std_vector_int_iterator *position, int new_elem)
 
MRC_API void MR_std_vector_int_EraseAtMutableIter (MR_std_vector_int *_this, const MR_std_vector_int_iterator *position)
 
MRC_API void MR_std_vector_int_InsertAtIter (MR_std_vector_int *_this, const MR_std_vector_int_const_iterator *position, int new_elem)
 
MRC_API void MR_std_vector_int_EraseAtIter (MR_std_vector_int *_this, const MR_std_vector_int_const_iterator *position)
 
MRC_API MR_std_vector_int_const_iteratorMR_std_vector_int_Begin (const MR_std_vector_int *_this)
 
MRC_API bool MR_std_vector_int_IsBegin (const MR_std_vector_int *_this, const MR_std_vector_int_const_iterator *iter)
 
MRC_API MR_std_vector_int_iteratorMR_std_vector_int_MutableBegin (MR_std_vector_int *_this)
 
MRC_API bool MR_std_vector_int_IsMutableBegin (MR_std_vector_int *_this, const MR_std_vector_int_iterator *iter)
 
MRC_API MR_std_vector_int_const_iteratorMR_std_vector_int_End (const MR_std_vector_int *_this)
 
MRC_API bool MR_std_vector_int_IsEnd (const MR_std_vector_int *_this, const MR_std_vector_int_const_iterator *iter)
 
MRC_API MR_std_vector_int_iteratorMR_std_vector_int_MutableEnd (MR_std_vector_int *_this)
 
MRC_API bool MR_std_vector_int_IsMutableEnd (MR_std_vector_int *_this, const MR_std_vector_int_iterator *iter)
 
MRC_API ptrdiff_t MR_std_vector_int_ToIndex (const MR_std_vector_int *_this, const MR_std_vector_int_const_iterator *iter)
 
MRC_API ptrdiff_t MR_std_vector_int_MutableToIndex (const MR_std_vector_int *_this, const MR_std_vector_int_iterator *iter)
 
MRC_API MR_std_vector_int_const_iteratorMR_std_vector_int_const_iterator_DefaultConstruct (void)
 
MRC_API MR_std_vector_int_const_iteratorMR_std_vector_int_const_iterator_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_std_vector_int_const_iteratorMR_std_vector_int_const_iterator_ConstructFromAnother (const MR_std_vector_int_const_iterator *other)
 
MRC_API void MR_std_vector_int_const_iterator_AssignFromAnother (MR_std_vector_int_const_iterator *_this, const MR_std_vector_int_const_iterator *other)
 
MRC_API void MR_std_vector_int_const_iterator_Destroy (const MR_std_vector_int_const_iterator *_this)
 Destroys a heap-allocated instance of MR_std_vector_int_const_iterator. Does nothing if the pointer is null.
 
MRC_API void MR_std_vector_int_const_iterator_DestroyArray (const MR_std_vector_int_const_iterator *_this)
 Destroys a heap-allocated array of MR_std_vector_int_const_iterator. Does nothing if the pointer is null.
 
MRC_API const MR_std_vector_int_const_iteratorMR_std_vector_int_const_iterator_OffsetPtr (const MR_std_vector_int_const_iterator *ptr, ptrdiff_t i)
 
MRC_API MR_std_vector_int_const_iteratorMR_std_vector_int_const_iterator_OffsetMutablePtr (MR_std_vector_int_const_iterator *ptr, ptrdiff_t i)
 
MRC_API MR_std_vector_int_const_iteratorMR_std_vector_int_const_iterator_FromMutable (const MR_std_vector_int_iterator *iter)
 
MRC_API MR_std_vector_int_iteratorMR_std_vector_int_iterator_DefaultConstruct (void)
 
MRC_API MR_std_vector_int_iteratorMR_std_vector_int_iterator_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_std_vector_int_iteratorMR_std_vector_int_iterator_ConstructFromAnother (const MR_std_vector_int_iterator *other)
 
MRC_API void MR_std_vector_int_iterator_AssignFromAnother (MR_std_vector_int_iterator *_this, const MR_std_vector_int_iterator *other)
 
MRC_API void MR_std_vector_int_iterator_Destroy (const MR_std_vector_int_iterator *_this)
 Destroys a heap-allocated instance of MR_std_vector_int_iterator. Does nothing if the pointer is null.
 
MRC_API void MR_std_vector_int_iterator_DestroyArray (const MR_std_vector_int_iterator *_this)
 Destroys a heap-allocated array of MR_std_vector_int_iterator. Does nothing if the pointer is null.
 
MRC_API const MR_std_vector_int_iteratorMR_std_vector_int_iterator_OffsetPtr (const MR_std_vector_int_iterator *ptr, ptrdiff_t i)
 
MRC_API MR_std_vector_int_iteratorMR_std_vector_int_iterator_OffsetMutablePtr (MR_std_vector_int_iterator *ptr, ptrdiff_t i)
 
MRC_API const int * MR_std_vector_int_const_iterator_Deref (const MR_std_vector_int_const_iterator *_this)
 
MRC_API void MR_std_vector_int_const_iterator_Incr (MR_std_vector_int_const_iterator *_this)
 
MRC_API void MR_std_vector_int_const_iterator_Decr (MR_std_vector_int_const_iterator *_this)
 
MRC_API void MR_std_vector_int_const_iterator_OffsetBy (MR_std_vector_int_const_iterator *_this, ptrdiff_t delta)
 
MRC_API ptrdiff_t MR_std_vector_int_const_iterator_Distance (const MR_std_vector_int_const_iterator *a, const MR_std_vector_int_const_iterator *b)
 
MRC_API int * MR_std_vector_int_iterator_Deref (const MR_std_vector_int_iterator *_this)
 
MRC_API void MR_std_vector_int_iterator_Incr (MR_std_vector_int_iterator *_this)
 
MRC_API void MR_std_vector_int_iterator_Decr (MR_std_vector_int_iterator *_this)
 
MRC_API void MR_std_vector_int_iterator_OffsetBy (MR_std_vector_int_iterator *_this, ptrdiff_t delta)
 
MRC_API ptrdiff_t MR_std_vector_int_iterator_Distance (const MR_std_vector_int_iterator *a, const MR_std_vector_int_iterator *b)
 

Typedef Documentation

◆ MR_std_vector_int

Generated from C++ container std::vector<int>. 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_vector_int_const_iterator

Read-only iterator for MR_std_vector_int. 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_vector_int_iterator

Mutable iterator for MR_std_vector_int. 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_vector_int_AssignFromAnother()

MRC_API void MR_std_vector_int_AssignFromAnother ( MR_std_vector_int * _this,
MR_PassBy other_pass_by,
MR_std_vector_int * 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_vector_int_AssignFromRange()

MRC_API void MR_std_vector_int_AssignFromRange ( MR_std_vector_int * _this,
const int * ptr,
size_t size )

Assign from a range of elements, overwriting previous contents. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_At()

MRC_API const int * MR_std_vector_int_At ( const MR_std_vector_int * _this,
size_t i )

The element at a specific index, read-only. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_std_vector_int_Back()

MRC_API const int * MR_std_vector_int_Back ( const MR_std_vector_int * _this)

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

◆ MR_std_vector_int_Begin()

MRC_API MR_std_vector_int_const_iterator * MR_std_vector_int_Begin ( const MR_std_vector_int * _this)

The begin iterator, const. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int_const_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_int_Capacity()

MRC_API size_t MR_std_vector_int_Capacity ( const MR_std_vector_int * _this)

The memory capacity, measued in the number of elements. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_Clear()

MRC_API void MR_std_vector_int_Clear ( MR_std_vector_int * _this)

Removes all elements from the container. Parameter _this can not be null. It is a single object. When this function is called, this object will drop any object references it had previously.

◆ MR_std_vector_int_const_iterator_AssignFromAnother()

MRC_API void MR_std_vector_int_const_iterator_AssignFromAnother ( MR_std_vector_int_const_iterator * _this,
const MR_std_vector_int_const_iterator * 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. Parameter other 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_vector_int_const_iterator_ConstructFromAnother()

MRC_API MR_std_vector_int_const_iterator * MR_std_vector_int_const_iterator_ConstructFromAnother ( const MR_std_vector_int_const_iterator * other)

Constructs a copy of another instance. The source remains alive. Parameter other can not be null. It is a single object. 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_vector_int_const_iterator_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_vector_int_const_iterator_Decr()

MRC_API void MR_std_vector_int_const_iterator_Decr ( MR_std_vector_int_const_iterator * _this)

Decrements a const iterator. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_const_iterator_DefaultConstruct()

MRC_API MR_std_vector_int_const_iterator * MR_std_vector_int_const_iterator_DefaultConstruct ( void )

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

◆ MR_std_vector_int_const_iterator_DefaultConstructArray()

MRC_API MR_std_vector_int_const_iterator * MR_std_vector_int_const_iterator_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_vector_int_const_iterator_DestroyArray(). Use MR_std_vector_int_const_iterator_OffsetMutablePtr() and MR_std_vector_int_const_iterator_OffsetPtr() to access the array elements.

◆ MR_std_vector_int_const_iterator_Deref()

MRC_API const int * MR_std_vector_int_const_iterator_Deref ( const MR_std_vector_int_const_iterator * _this)

Dereferences a const iterator. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_std_vector_int_const_iterator_Destroy()

MRC_API void MR_std_vector_int_const_iterator_Destroy ( const MR_std_vector_int_const_iterator * _this)

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

◆ MR_std_vector_int_const_iterator_DestroyArray()

MRC_API void MR_std_vector_int_const_iterator_DestroyArray ( const MR_std_vector_int_const_iterator * _this)

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

◆ MR_std_vector_int_const_iterator_Distance()

MRC_API ptrdiff_t MR_std_vector_int_const_iterator_Distance ( const MR_std_vector_int_const_iterator * a,
const MR_std_vector_int_const_iterator * b )

Computes the signed difference between two const iterators. Completes in constant time. Parameter a can not be null. It is a single object. Parameter b can not be null. It is a single object.

◆ MR_std_vector_int_const_iterator_FromMutable()

MRC_API MR_std_vector_int_const_iterator * MR_std_vector_int_const_iterator_FromMutable ( const MR_std_vector_int_iterator * iter)

Makes a const iterator from a mutable one. Parameter iter can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int_const_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_int_const_iterator_Incr()

MRC_API void MR_std_vector_int_const_iterator_Incr ( MR_std_vector_int_const_iterator * _this)

Increments a const iterator. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_const_iterator_OffsetBy()

MRC_API void MR_std_vector_int_const_iterator_OffsetBy ( MR_std_vector_int_const_iterator * _this,
ptrdiff_t delta )

Increments or decrements a const iterator by the specific amount. Completes in constant time. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_const_iterator_OffsetMutablePtr()

MRC_API MR_std_vector_int_const_iterator * MR_std_vector_int_const_iterator_OffsetMutablePtr ( MR_std_vector_int_const_iterator * 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_vector_int_const_iterator_OffsetPtr()

MRC_API const MR_std_vector_int_const_iterator * MR_std_vector_int_const_iterator_OffsetPtr ( const MR_std_vector_int_const_iterator * 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_vector_int_ConstructFromAnother()

MRC_API MR_std_vector_int * MR_std_vector_int_ConstructFromAnother ( MR_PassBy other_pass_by,
MR_std_vector_int * 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_vector_int_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_vector_int_ConstructFromRange()

MRC_API MR_std_vector_int * MR_std_vector_int_ConstructFromRange ( const int * ptr,
size_t size )

Construct from a range of elements. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int_Destroy() to free it when you're done using it.

◆ MR_std_vector_int_Data()

MRC_API const int * MR_std_vector_int_Data ( const MR_std_vector_int * _this)

Returns a pointer to the continuous storage that holds all elements, read-only. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_DefaultConstruct()

MRC_API MR_std_vector_int * MR_std_vector_int_DefaultConstruct ( void )

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

◆ MR_std_vector_int_DefaultConstructArray()

MRC_API MR_std_vector_int * MR_std_vector_int_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_vector_int_DestroyArray(). Use MR_std_vector_int_OffsetMutablePtr() and MR_std_vector_int_OffsetPtr() to access the array elements.

◆ MR_std_vector_int_Destroy()

MRC_API void MR_std_vector_int_Destroy ( const MR_std_vector_int * _this)

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

◆ MR_std_vector_int_DestroyArray()

MRC_API void MR_std_vector_int_DestroyArray ( const MR_std_vector_int * _this)

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

◆ MR_std_vector_int_End()

MRC_API MR_std_vector_int_const_iterator * MR_std_vector_int_End ( const MR_std_vector_int * _this)

The end iterator, const. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int_const_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_int_Erase()

MRC_API void MR_std_vector_int_Erase ( MR_std_vector_int * _this,
size_t position )

Erases the element at the specified position. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_EraseAtIter()

MRC_API void MR_std_vector_int_EraseAtIter ( MR_std_vector_int * _this,
const MR_std_vector_int_const_iterator * position )

Erases the element at the specified position. This version takes the position in form of a const iterator, that's the only difference. Parameter _this can not be null. It is a single object. Parameter position can not be null. It is a single object.

◆ MR_std_vector_int_EraseAtMutableIter()

MRC_API void MR_std_vector_int_EraseAtMutableIter ( MR_std_vector_int * _this,
const MR_std_vector_int_iterator * position )

Erases the element at the specified position. Parameter _this can not be null. It is a single object. Parameter position can not be null. It is a single object.

◆ MR_std_vector_int_Front()

MRC_API const int * MR_std_vector_int_Front ( const MR_std_vector_int * _this)

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

◆ MR_std_vector_int_Insert()

MRC_API void MR_std_vector_int_Insert ( MR_std_vector_int * _this,
size_t position,
int new_elem )

Inserts a new element right before the specified position. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_InsertAtIter()

MRC_API void MR_std_vector_int_InsertAtIter ( MR_std_vector_int * _this,
const MR_std_vector_int_const_iterator * position,
int new_elem )

Inserts a new element right before the specified position. This version takes the position in form of a const iterator, that's the only difference. Parameter _this can not be null. It is a single object. Parameter position can not be null. It is a single object.

◆ MR_std_vector_int_InsertAtMutableIter()

MRC_API void MR_std_vector_int_InsertAtMutableIter ( MR_std_vector_int * _this,
const MR_std_vector_int_iterator * position,
int new_elem )

Inserts a new element right before the specified position. Parameter _this can not be null. It is a single object. Parameter position can not be null. It is a single object.

◆ MR_std_vector_int_IsBegin()

MRC_API bool MR_std_vector_int_IsBegin ( const MR_std_vector_int * _this,
const MR_std_vector_int_const_iterator * iter )

Tests whether a const iterator is the begin iterator. Parameter _this can not be null. It is a single object. Parameter iter can not be null. It is a single object.

◆ MR_std_vector_int_IsEmpty()

MRC_API bool MR_std_vector_int_IsEmpty ( const MR_std_vector_int * _this)

Returns true if the size is zero. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_IsEnd()

MRC_API bool MR_std_vector_int_IsEnd ( const MR_std_vector_int * _this,
const MR_std_vector_int_const_iterator * iter )

Tests whether a const iterator is the end iterator. Parameter _this can not be null. It is a single object. Parameter iter can not be null. It is a single object.

◆ MR_std_vector_int_IsMutableBegin()

MRC_API bool MR_std_vector_int_IsMutableBegin ( MR_std_vector_int * _this,
const MR_std_vector_int_iterator * iter )

Tests whether a mutable iterator is the begin iterator. Parameter _this can not be null. It is a single object. Parameter iter can not be null. It is a single object.

◆ MR_std_vector_int_IsMutableEnd()

MRC_API bool MR_std_vector_int_IsMutableEnd ( MR_std_vector_int * _this,
const MR_std_vector_int_iterator * iter )

Tests whether a mutable iterator is the end iterator. Parameter _this can not be null. It is a single object. Parameter iter can not be null. It is a single object.

◆ MR_std_vector_int_iterator_AssignFromAnother()

MRC_API void MR_std_vector_int_iterator_AssignFromAnother ( MR_std_vector_int_iterator * _this,
const MR_std_vector_int_iterator * 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. Parameter other 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_vector_int_iterator_ConstructFromAnother()

MRC_API MR_std_vector_int_iterator * MR_std_vector_int_iterator_ConstructFromAnother ( const MR_std_vector_int_iterator * other)

Constructs a copy of another instance. The source remains alive. Parameter other can not be null. It is a single object. 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_vector_int_iterator_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_vector_int_iterator_Decr()

MRC_API void MR_std_vector_int_iterator_Decr ( MR_std_vector_int_iterator * _this)

Decrements a mutable iterator. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_iterator_DefaultConstruct()

MRC_API MR_std_vector_int_iterator * MR_std_vector_int_iterator_DefaultConstruct ( void )

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

◆ MR_std_vector_int_iterator_DefaultConstructArray()

MRC_API MR_std_vector_int_iterator * MR_std_vector_int_iterator_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_vector_int_iterator_DestroyArray(). Use MR_std_vector_int_iterator_OffsetMutablePtr() and MR_std_vector_int_iterator_OffsetPtr() to access the array elements.

◆ MR_std_vector_int_iterator_Deref()

MRC_API int * MR_std_vector_int_iterator_Deref ( const MR_std_vector_int_iterator * _this)

Dereferences a mutable iterator. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_std_vector_int_iterator_Destroy()

MRC_API void MR_std_vector_int_iterator_Destroy ( const MR_std_vector_int_iterator * _this)

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

◆ MR_std_vector_int_iterator_DestroyArray()

MRC_API void MR_std_vector_int_iterator_DestroyArray ( const MR_std_vector_int_iterator * _this)

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

◆ MR_std_vector_int_iterator_Distance()

MRC_API ptrdiff_t MR_std_vector_int_iterator_Distance ( const MR_std_vector_int_iterator * a,
const MR_std_vector_int_iterator * b )

Computes the signed difference between two mutable iterators. Completes in constant time. Parameter a can not be null. It is a single object. Parameter b can not be null. It is a single object.

◆ MR_std_vector_int_iterator_Incr()

MRC_API void MR_std_vector_int_iterator_Incr ( MR_std_vector_int_iterator * _this)

Increments a mutable iterator. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_iterator_OffsetBy()

MRC_API void MR_std_vector_int_iterator_OffsetBy ( MR_std_vector_int_iterator * _this,
ptrdiff_t delta )

Increments or decrements a mutable iterator by the specific amount. Completes in constant time. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_iterator_OffsetMutablePtr()

MRC_API MR_std_vector_int_iterator * MR_std_vector_int_iterator_OffsetMutablePtr ( MR_std_vector_int_iterator * 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_vector_int_iterator_OffsetPtr()

MRC_API const MR_std_vector_int_iterator * MR_std_vector_int_iterator_OffsetPtr ( const MR_std_vector_int_iterator * 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_vector_int_MutableAt()

MRC_API int * MR_std_vector_int_MutableAt ( MR_std_vector_int * _this,
size_t i )

The element at a specific index, mutable. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_std_vector_int_MutableBack()

MRC_API int * MR_std_vector_int_MutableBack ( MR_std_vector_int * _this)

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

◆ MR_std_vector_int_MutableBegin()

MRC_API MR_std_vector_int_iterator * MR_std_vector_int_MutableBegin ( MR_std_vector_int * _this)

The begin iterator, mutable. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_int_MutableData()

MRC_API int * MR_std_vector_int_MutableData ( MR_std_vector_int * _this)

Returns a pointer to the continuous storage that holds all elements, mutable. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_MutableEnd()

MRC_API MR_std_vector_int_iterator * MR_std_vector_int_MutableEnd ( MR_std_vector_int * _this)

The end iterator, mutable. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_int_MutableFront()

MRC_API int * MR_std_vector_int_MutableFront ( MR_std_vector_int * _this)

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

◆ MR_std_vector_int_MutableToIndex()

MRC_API ptrdiff_t MR_std_vector_int_MutableToIndex ( const MR_std_vector_int * _this,
const MR_std_vector_int_iterator * iter )

Convert a mutable iterator to an index. Parameter _this can not be null. It is a single object. Parameter iter can not be null. It is a single object.

◆ MR_std_vector_int_OffsetMutablePtr()

MRC_API MR_std_vector_int * MR_std_vector_int_OffsetMutablePtr ( MR_std_vector_int * 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_vector_int_OffsetPtr()

MRC_API const MR_std_vector_int * MR_std_vector_int_OffsetPtr ( const MR_std_vector_int * 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_vector_int_PopBack()

MRC_API void MR_std_vector_int_PopBack ( MR_std_vector_int * _this)

Removes one element from the end. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_PushBack()

MRC_API void MR_std_vector_int_PushBack ( MR_std_vector_int * _this,
int new_elem )

Inserts a new element at the end. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_Reserve()

MRC_API void MR_std_vector_int_Reserve ( MR_std_vector_int * _this,
size_t new_capacity )

Reserves memory for a certain number of elements. Never shrinks the memory. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_Resize()

MRC_API void MR_std_vector_int_Resize ( MR_std_vector_int * _this,
size_t new_size )

Resizes the container. The new elements if any are zeroed. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_ResizeWithDefaultValue()

MRC_API void MR_std_vector_int_ResizeWithDefaultValue ( MR_std_vector_int * _this,
size_t new_size,
int value )

Resizes the container. The new elements if any are set to the specified value. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_ShrinkToFit()

MRC_API void MR_std_vector_int_ShrinkToFit ( MR_std_vector_int * _this)

Shrinks the capacity to match the size. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_Size()

MRC_API size_t MR_std_vector_int_Size ( const MR_std_vector_int * _this)

The number of elements. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_int_ToIndex()

MRC_API ptrdiff_t MR_std_vector_int_ToIndex ( const MR_std_vector_int * _this,
const MR_std_vector_int_const_iterator * iter )

Convert a const iterator to an index. Parameter _this can not be null. It is a single object. Parameter iter can not be null. It is a single object.