MeshLib C Docs
Loading...
Searching...
No Matches
std_vector_char.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_char MR_std_vector_char
 
typedef struct MR_std_vector_char_const_iterator MR_std_vector_char_const_iterator
 
typedef struct MR_std_vector_char_iterator MR_std_vector_char_iterator
 

Functions

MRC_API MR_std_vector_charMR_std_vector_char_DefaultConstruct (void)
 
MRC_API MR_std_vector_charMR_std_vector_char_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_std_vector_charMR_std_vector_char_ConstructFromAnother (MR_PassBy other_pass_by, MR_std_vector_char *other)
 
MRC_API void MR_std_vector_char_AssignFromAnother (MR_std_vector_char *_this, MR_PassBy other_pass_by, MR_std_vector_char *other)
 
MRC_API void MR_std_vector_char_Destroy (const MR_std_vector_char *_this)
 Destroys a heap-allocated instance of MR_std_vector_char. Does nothing if the pointer is null.
 
MRC_API void MR_std_vector_char_DestroyArray (const MR_std_vector_char *_this)
 Destroys a heap-allocated array of MR_std_vector_char. Does nothing if the pointer is null.
 
MRC_API const MR_std_vector_charMR_std_vector_char_OffsetPtr (const MR_std_vector_char *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_charMR_std_vector_char_OffsetMutablePtr (MR_std_vector_char *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_charMR_std_vector_char_ConstructFromRange (const char *ptr, size_t size)
 
MRC_API void MR_std_vector_char_AssignFromRange (MR_std_vector_char *_this, const char *ptr, size_t size)
 
MRC_API size_t MR_std_vector_char_Size (const MR_std_vector_char *_this)
 
MRC_API bool MR_std_vector_char_IsEmpty (const MR_std_vector_char *_this)
 
MRC_API void MR_std_vector_char_Resize (MR_std_vector_char *_this, size_t new_size)
 
MRC_API void MR_std_vector_char_ResizeWithDefaultValue (MR_std_vector_char *_this, size_t new_size, char value)
 
MRC_API void MR_std_vector_char_Clear (MR_std_vector_char *_this)
 
MRC_API size_t MR_std_vector_char_Capacity (const MR_std_vector_char *_this)
 
MRC_API void MR_std_vector_char_Reserve (MR_std_vector_char *_this, size_t new_capacity)
 
MRC_API void MR_std_vector_char_ShrinkToFit (MR_std_vector_char *_this)
 
MRC_API const char * MR_std_vector_char_At (const MR_std_vector_char *_this, size_t i)
 
MRC_API char * MR_std_vector_char_MutableAt (MR_std_vector_char *_this, size_t i)
 
MRC_API const char * MR_std_vector_char_Front (const MR_std_vector_char *_this)
 
MRC_API char * MR_std_vector_char_MutableFront (MR_std_vector_char *_this)
 
MRC_API const char * MR_std_vector_char_Back (const MR_std_vector_char *_this)
 
MRC_API char * MR_std_vector_char_MutableBack (MR_std_vector_char *_this)
 
MRC_API const char * MR_std_vector_char_Data (const MR_std_vector_char *_this)
 
MRC_API char * MR_std_vector_char_MutableData (MR_std_vector_char *_this)
 
MRC_API void MR_std_vector_char_PushBack (MR_std_vector_char *_this, char new_elem)
 
MRC_API void MR_std_vector_char_PopBack (MR_std_vector_char *_this)
 
MRC_API void MR_std_vector_char_Insert (MR_std_vector_char *_this, size_t position, char new_elem)
 
MRC_API void MR_std_vector_char_Erase (MR_std_vector_char *_this, size_t position)
 
MRC_API void MR_std_vector_char_InsertAtMutableIter (MR_std_vector_char *_this, const MR_std_vector_char_iterator *position, char new_elem)
 
MRC_API void MR_std_vector_char_EraseAtMutableIter (MR_std_vector_char *_this, const MR_std_vector_char_iterator *position)
 
MRC_API void MR_std_vector_char_InsertAtIter (MR_std_vector_char *_this, const MR_std_vector_char_const_iterator *position, char new_elem)
 
MRC_API void MR_std_vector_char_EraseAtIter (MR_std_vector_char *_this, const MR_std_vector_char_const_iterator *position)
 
MRC_API MR_std_vector_char_const_iteratorMR_std_vector_char_Begin (const MR_std_vector_char *_this)
 
MRC_API bool MR_std_vector_char_IsBegin (const MR_std_vector_char *_this, const MR_std_vector_char_const_iterator *iter)
 
MRC_API MR_std_vector_char_iteratorMR_std_vector_char_MutableBegin (MR_std_vector_char *_this)
 
MRC_API bool MR_std_vector_char_IsMutableBegin (MR_std_vector_char *_this, const MR_std_vector_char_iterator *iter)
 
MRC_API MR_std_vector_char_const_iteratorMR_std_vector_char_End (const MR_std_vector_char *_this)
 
MRC_API bool MR_std_vector_char_IsEnd (const MR_std_vector_char *_this, const MR_std_vector_char_const_iterator *iter)
 
MRC_API MR_std_vector_char_iteratorMR_std_vector_char_MutableEnd (MR_std_vector_char *_this)
 
MRC_API bool MR_std_vector_char_IsMutableEnd (MR_std_vector_char *_this, const MR_std_vector_char_iterator *iter)
 
MRC_API ptrdiff_t MR_std_vector_char_ToIndex (const MR_std_vector_char *_this, const MR_std_vector_char_const_iterator *iter)
 
MRC_API ptrdiff_t MR_std_vector_char_MutableToIndex (const MR_std_vector_char *_this, const MR_std_vector_char_iterator *iter)
 
MRC_API MR_std_vector_char_const_iteratorMR_std_vector_char_const_iterator_DefaultConstruct (void)
 
MRC_API MR_std_vector_char_const_iteratorMR_std_vector_char_const_iterator_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_std_vector_char_const_iteratorMR_std_vector_char_const_iterator_ConstructFromAnother (const MR_std_vector_char_const_iterator *other)
 
MRC_API void MR_std_vector_char_const_iterator_AssignFromAnother (MR_std_vector_char_const_iterator *_this, const MR_std_vector_char_const_iterator *other)
 
MRC_API void MR_std_vector_char_const_iterator_Destroy (const MR_std_vector_char_const_iterator *_this)
 Destroys a heap-allocated instance of MR_std_vector_char_const_iterator. Does nothing if the pointer is null.
 
MRC_API void MR_std_vector_char_const_iterator_DestroyArray (const MR_std_vector_char_const_iterator *_this)
 Destroys a heap-allocated array of MR_std_vector_char_const_iterator. Does nothing if the pointer is null.
 
MRC_API const MR_std_vector_char_const_iteratorMR_std_vector_char_const_iterator_OffsetPtr (const MR_std_vector_char_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_char_const_iteratorMR_std_vector_char_const_iterator_OffsetMutablePtr (MR_std_vector_char_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_char_const_iteratorMR_std_vector_char_const_iterator_FromMutable (const MR_std_vector_char_iterator *iter)
 
MRC_API MR_std_vector_char_iteratorMR_std_vector_char_iterator_DefaultConstruct (void)
 
MRC_API MR_std_vector_char_iteratorMR_std_vector_char_iterator_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_std_vector_char_iteratorMR_std_vector_char_iterator_ConstructFromAnother (const MR_std_vector_char_iterator *other)
 
MRC_API void MR_std_vector_char_iterator_AssignFromAnother (MR_std_vector_char_iterator *_this, const MR_std_vector_char_iterator *other)
 
MRC_API void MR_std_vector_char_iterator_Destroy (const MR_std_vector_char_iterator *_this)
 Destroys a heap-allocated instance of MR_std_vector_char_iterator. Does nothing if the pointer is null.
 
MRC_API void MR_std_vector_char_iterator_DestroyArray (const MR_std_vector_char_iterator *_this)
 Destroys a heap-allocated array of MR_std_vector_char_iterator. Does nothing if the pointer is null.
 
MRC_API const MR_std_vector_char_iteratorMR_std_vector_char_iterator_OffsetPtr (const MR_std_vector_char_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_char_iteratorMR_std_vector_char_iterator_OffsetMutablePtr (MR_std_vector_char_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 char * MR_std_vector_char_const_iterator_Deref (const MR_std_vector_char_const_iterator *_this)
 
MRC_API void MR_std_vector_char_const_iterator_Incr (MR_std_vector_char_const_iterator *_this)
 
MRC_API void MR_std_vector_char_const_iterator_Decr (MR_std_vector_char_const_iterator *_this)
 
MRC_API void MR_std_vector_char_const_iterator_OffsetBy (MR_std_vector_char_const_iterator *_this, ptrdiff_t delta)
 
MRC_API ptrdiff_t MR_std_vector_char_const_iterator_Distance (const MR_std_vector_char_const_iterator *a, const MR_std_vector_char_const_iterator *b)
 
MRC_API char * MR_std_vector_char_iterator_Deref (const MR_std_vector_char_iterator *_this)
 
MRC_API void MR_std_vector_char_iterator_Incr (MR_std_vector_char_iterator *_this)
 
MRC_API void MR_std_vector_char_iterator_Decr (MR_std_vector_char_iterator *_this)
 
MRC_API void MR_std_vector_char_iterator_OffsetBy (MR_std_vector_char_iterator *_this, ptrdiff_t delta)
 
MRC_API ptrdiff_t MR_std_vector_char_iterator_Distance (const MR_std_vector_char_iterator *a, const MR_std_vector_char_iterator *b)
 

Typedef Documentation

◆ MR_std_vector_char

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

Read-only iterator for MR_std_vector_char. 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_char_iterator

Mutable iterator for MR_std_vector_char. 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_char_AssignFromAnother()

MRC_API void MR_std_vector_char_AssignFromAnother ( MR_std_vector_char * _this,
MR_PassBy other_pass_by,
MR_std_vector_char * 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_char_AssignFromRange()

MRC_API void MR_std_vector_char_AssignFromRange ( MR_std_vector_char * _this,
const char * 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_char_At()

MRC_API const char * MR_std_vector_char_At ( const MR_std_vector_char * _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_char_Back()

MRC_API const char * MR_std_vector_char_Back ( const MR_std_vector_char * _this)

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

◆ MR_std_vector_char_Begin()

MRC_API MR_std_vector_char_const_iterator * MR_std_vector_char_Begin ( const MR_std_vector_char * _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_char_const_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_Capacity()

MRC_API size_t MR_std_vector_char_Capacity ( const MR_std_vector_char * _this)

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

◆ MR_std_vector_char_Clear()

MRC_API void MR_std_vector_char_Clear ( MR_std_vector_char * _this)

Removes all elements from the container. Parameter _this can not be null. It is a single object.

◆ MR_std_vector_char_const_iterator_AssignFromAnother()

MRC_API void MR_std_vector_char_const_iterator_AssignFromAnother ( MR_std_vector_char_const_iterator * _this,
const MR_std_vector_char_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_char_const_iterator_ConstructFromAnother()

MRC_API MR_std_vector_char_const_iterator * MR_std_vector_char_const_iterator_ConstructFromAnother ( const MR_std_vector_char_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_char_const_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_const_iterator_Decr()

MRC_API void MR_std_vector_char_const_iterator_Decr ( MR_std_vector_char_const_iterator * _this)

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

◆ MR_std_vector_char_const_iterator_DefaultConstruct()

MRC_API MR_std_vector_char_const_iterator * MR_std_vector_char_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_char_const_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_const_iterator_DefaultConstructArray()

MRC_API MR_std_vector_char_const_iterator * MR_std_vector_char_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_char_const_iterator_DestroyArray(). Use MR_std_vector_char_const_iterator_OffsetMutablePtr() and MR_std_vector_char_const_iterator_OffsetPtr() to access the array elements.

◆ MR_std_vector_char_const_iterator_Deref()

MRC_API const char * MR_std_vector_char_const_iterator_Deref ( const MR_std_vector_char_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_char_const_iterator_Destroy()

MRC_API void MR_std_vector_char_const_iterator_Destroy ( const MR_std_vector_char_const_iterator * _this)

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

◆ MR_std_vector_char_const_iterator_DestroyArray()

MRC_API void MR_std_vector_char_const_iterator_DestroyArray ( const MR_std_vector_char_const_iterator * _this)

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

◆ MR_std_vector_char_const_iterator_Distance()

MRC_API ptrdiff_t MR_std_vector_char_const_iterator_Distance ( const MR_std_vector_char_const_iterator * a,
const MR_std_vector_char_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_char_const_iterator_FromMutable()

MRC_API MR_std_vector_char_const_iterator * MR_std_vector_char_const_iterator_FromMutable ( const MR_std_vector_char_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_char_const_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_const_iterator_Incr()

MRC_API void MR_std_vector_char_const_iterator_Incr ( MR_std_vector_char_const_iterator * _this)

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

◆ MR_std_vector_char_const_iterator_OffsetBy()

MRC_API void MR_std_vector_char_const_iterator_OffsetBy ( MR_std_vector_char_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_char_const_iterator_OffsetMutablePtr()

MRC_API MR_std_vector_char_const_iterator * MR_std_vector_char_const_iterator_OffsetMutablePtr ( MR_std_vector_char_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_char_const_iterator_OffsetPtr()

MRC_API const MR_std_vector_char_const_iterator * MR_std_vector_char_const_iterator_OffsetPtr ( const MR_std_vector_char_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_char_ConstructFromAnother()

MRC_API MR_std_vector_char * MR_std_vector_char_ConstructFromAnother ( MR_PassBy other_pass_by,
MR_std_vector_char * 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_char_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_ConstructFromRange()

MRC_API MR_std_vector_char * MR_std_vector_char_ConstructFromRange ( const char * 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_char_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_Data()

MRC_API const char * MR_std_vector_char_Data ( const MR_std_vector_char * _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_char_DefaultConstruct()

MRC_API MR_std_vector_char * MR_std_vector_char_DefaultConstruct ( void )

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

◆ MR_std_vector_char_DefaultConstructArray()

MRC_API MR_std_vector_char * MR_std_vector_char_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_char_DestroyArray(). Use MR_std_vector_char_OffsetMutablePtr() and MR_std_vector_char_OffsetPtr() to access the array elements.

◆ MR_std_vector_char_Destroy()

MRC_API void MR_std_vector_char_Destroy ( const MR_std_vector_char * _this)

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

◆ MR_std_vector_char_DestroyArray()

MRC_API void MR_std_vector_char_DestroyArray ( const MR_std_vector_char * _this)

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

◆ MR_std_vector_char_End()

MRC_API MR_std_vector_char_const_iterator * MR_std_vector_char_End ( const MR_std_vector_char * _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_char_const_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_Erase()

MRC_API void MR_std_vector_char_Erase ( MR_std_vector_char * _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_char_EraseAtIter()

MRC_API void MR_std_vector_char_EraseAtIter ( MR_std_vector_char * _this,
const MR_std_vector_char_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_char_EraseAtMutableIter()

MRC_API void MR_std_vector_char_EraseAtMutableIter ( MR_std_vector_char * _this,
const MR_std_vector_char_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_char_Front()

MRC_API const char * MR_std_vector_char_Front ( const MR_std_vector_char * _this)

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

◆ MR_std_vector_char_Insert()

MRC_API void MR_std_vector_char_Insert ( MR_std_vector_char * _this,
size_t position,
char 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_char_InsertAtIter()

MRC_API void MR_std_vector_char_InsertAtIter ( MR_std_vector_char * _this,
const MR_std_vector_char_const_iterator * position,
char 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_char_InsertAtMutableIter()

MRC_API void MR_std_vector_char_InsertAtMutableIter ( MR_std_vector_char * _this,
const MR_std_vector_char_iterator * position,
char 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_char_IsBegin()

MRC_API bool MR_std_vector_char_IsBegin ( const MR_std_vector_char * _this,
const MR_std_vector_char_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_char_IsEmpty()

MRC_API bool MR_std_vector_char_IsEmpty ( const MR_std_vector_char * _this)

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

◆ MR_std_vector_char_IsEnd()

MRC_API bool MR_std_vector_char_IsEnd ( const MR_std_vector_char * _this,
const MR_std_vector_char_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_char_IsMutableBegin()

MRC_API bool MR_std_vector_char_IsMutableBegin ( MR_std_vector_char * _this,
const MR_std_vector_char_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_char_IsMutableEnd()

MRC_API bool MR_std_vector_char_IsMutableEnd ( MR_std_vector_char * _this,
const MR_std_vector_char_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_char_iterator_AssignFromAnother()

MRC_API void MR_std_vector_char_iterator_AssignFromAnother ( MR_std_vector_char_iterator * _this,
const MR_std_vector_char_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_char_iterator_ConstructFromAnother()

MRC_API MR_std_vector_char_iterator * MR_std_vector_char_iterator_ConstructFromAnother ( const MR_std_vector_char_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_char_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_iterator_Decr()

MRC_API void MR_std_vector_char_iterator_Decr ( MR_std_vector_char_iterator * _this)

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

◆ MR_std_vector_char_iterator_DefaultConstruct()

MRC_API MR_std_vector_char_iterator * MR_std_vector_char_iterator_DefaultConstruct ( void )

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

◆ MR_std_vector_char_iterator_DefaultConstructArray()

MRC_API MR_std_vector_char_iterator * MR_std_vector_char_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_char_iterator_DestroyArray(). Use MR_std_vector_char_iterator_OffsetMutablePtr() and MR_std_vector_char_iterator_OffsetPtr() to access the array elements.

◆ MR_std_vector_char_iterator_Deref()

MRC_API char * MR_std_vector_char_iterator_Deref ( const MR_std_vector_char_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_char_iterator_Destroy()

MRC_API void MR_std_vector_char_iterator_Destroy ( const MR_std_vector_char_iterator * _this)

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

◆ MR_std_vector_char_iterator_DestroyArray()

MRC_API void MR_std_vector_char_iterator_DestroyArray ( const MR_std_vector_char_iterator * _this)

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

◆ MR_std_vector_char_iterator_Distance()

MRC_API ptrdiff_t MR_std_vector_char_iterator_Distance ( const MR_std_vector_char_iterator * a,
const MR_std_vector_char_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_char_iterator_Incr()

MRC_API void MR_std_vector_char_iterator_Incr ( MR_std_vector_char_iterator * _this)

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

◆ MR_std_vector_char_iterator_OffsetBy()

MRC_API void MR_std_vector_char_iterator_OffsetBy ( MR_std_vector_char_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_char_iterator_OffsetMutablePtr()

MRC_API MR_std_vector_char_iterator * MR_std_vector_char_iterator_OffsetMutablePtr ( MR_std_vector_char_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_char_iterator_OffsetPtr()

MRC_API const MR_std_vector_char_iterator * MR_std_vector_char_iterator_OffsetPtr ( const MR_std_vector_char_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_char_MutableAt()

MRC_API char * MR_std_vector_char_MutableAt ( MR_std_vector_char * _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_char_MutableBack()

MRC_API char * MR_std_vector_char_MutableBack ( MR_std_vector_char * _this)

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

◆ MR_std_vector_char_MutableBegin()

MRC_API MR_std_vector_char_iterator * MR_std_vector_char_MutableBegin ( MR_std_vector_char * _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_char_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_MutableData()

MRC_API char * MR_std_vector_char_MutableData ( MR_std_vector_char * _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_char_MutableEnd()

MRC_API MR_std_vector_char_iterator * MR_std_vector_char_MutableEnd ( MR_std_vector_char * _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_char_iterator_Destroy() to free it when you're done using it.

◆ MR_std_vector_char_MutableFront()

MRC_API char * MR_std_vector_char_MutableFront ( MR_std_vector_char * _this)

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

◆ MR_std_vector_char_MutableToIndex()

MRC_API ptrdiff_t MR_std_vector_char_MutableToIndex ( const MR_std_vector_char * _this,
const MR_std_vector_char_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_char_OffsetMutablePtr()

MRC_API MR_std_vector_char * MR_std_vector_char_OffsetMutablePtr ( MR_std_vector_char * 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_char_OffsetPtr()

MRC_API const MR_std_vector_char * MR_std_vector_char_OffsetPtr ( const MR_std_vector_char * 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_char_PopBack()

MRC_API void MR_std_vector_char_PopBack ( MR_std_vector_char * _this)

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

◆ MR_std_vector_char_PushBack()

MRC_API void MR_std_vector_char_PushBack ( MR_std_vector_char * _this,
char new_elem )

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

◆ MR_std_vector_char_Reserve()

MRC_API void MR_std_vector_char_Reserve ( MR_std_vector_char * _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_char_Resize()

MRC_API void MR_std_vector_char_Resize ( MR_std_vector_char * _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_char_ResizeWithDefaultValue()

MRC_API void MR_std_vector_char_ResizeWithDefaultValue ( MR_std_vector_char * _this,
size_t new_size,
char 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_char_ShrinkToFit()

MRC_API void MR_std_vector_char_ShrinkToFit ( MR_std_vector_char * _this)

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

◆ MR_std_vector_char_Size()

MRC_API size_t MR_std_vector_char_Size ( const MR_std_vector_char * _this)

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

◆ MR_std_vector_char_ToIndex()

MRC_API ptrdiff_t MR_std_vector_char_ToIndex ( const MR_std_vector_char * _this,
const MR_std_vector_char_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.