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)
 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_vector_intMR_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.
 
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)
 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_vector_int_const_iteratorMR_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.
 
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)
 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_vector_int_iteratorMR_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.
 
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.

◆ 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.

◆ 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.

◆ 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. 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_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.

◆ 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.

◆ 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. 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_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.

◆ 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. 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_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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.