#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Go to the source code of this file.
Typedefs | |
typedef struct MR_std_vector_int32_t | MR_std_vector_int32_t |
typedef struct MR_std_vector_int32_t_const_iterator | MR_std_vector_int32_t_const_iterator |
typedef struct MR_std_vector_int32_t_iterator | MR_std_vector_int32_t_iterator |
typedef struct MR_std_vector_int32_t MR_std_vector_int32_t |
Generated from C++ container std::vector<int32_t>
. 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).
Read-only iterator for MR_std_vector_int32_t
. 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).
typedef struct MR_std_vector_int32_t_iterator MR_std_vector_int32_t_iterator |
Mutable iterator for MR_std_vector_int32_t
. 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).
MRC_API void MR_std_vector_int32_t_AssignFromAnother | ( | MR_std_vector_int32_t * | _this, |
MR_PassBy | other_pass_by, | ||
MR_std_vector_int32_t * | 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.
MRC_API void MR_std_vector_int32_t_AssignFromRange | ( | MR_std_vector_int32_t * | _this, |
const int32_t * | ptr, | ||
size_t | size ) |
Assign from a range of elements, overwriting previous contents. Parameter _this
can not be null. It is a single object.
MRC_API const int32_t * MR_std_vector_int32_t_At | ( | const MR_std_vector_int32_t * | _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.
MRC_API const int32_t * MR_std_vector_int32_t_Back | ( | const MR_std_vector_int32_t * | _this | ) |
The last element or null if empty, read-only. Parameter _this
can not be null. It is a single object.
MRC_API MR_std_vector_int32_t_const_iterator * MR_std_vector_int32_t_Begin | ( | const MR_std_vector_int32_t * | _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_int32_t_const_iterator_Destroy()
to free it when you're done using it.
MRC_API size_t MR_std_vector_int32_t_Capacity | ( | const MR_std_vector_int32_t * | _this | ) |
The memory capacity, measued in the number of elements. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_Clear | ( | MR_std_vector_int32_t * | _this | ) |
Removes all elements from the container. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_const_iterator_AssignFromAnother | ( | MR_std_vector_int32_t_const_iterator * | _this, |
const MR_std_vector_int32_t_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.
MRC_API MR_std_vector_int32_t_const_iterator * MR_std_vector_int32_t_const_iterator_ConstructFromAnother | ( | const MR_std_vector_int32_t_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_int32_t_const_iterator_Destroy()
to free it when you're done using it.
MRC_API void MR_std_vector_int32_t_const_iterator_Decr | ( | MR_std_vector_int32_t_const_iterator * | _this | ) |
Decrements a const iterator. Parameter _this
can not be null. It is a single object.
MRC_API MR_std_vector_int32_t_const_iterator * MR_std_vector_int32_t_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_int32_t_const_iterator_Destroy()
to free it when you're done using it.
MRC_API MR_std_vector_int32_t_const_iterator * MR_std_vector_int32_t_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_int32_t_const_iterator_DestroyArray()
. Use MR_std_vector_int32_t_const_iterator_OffsetMutablePtr()
and MR_std_vector_int32_t_const_iterator_OffsetPtr()
to access the array elements.
MRC_API const int32_t * MR_std_vector_int32_t_const_iterator_Deref | ( | const MR_std_vector_int32_t_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.
MRC_API void MR_std_vector_int32_t_const_iterator_Destroy | ( | const MR_std_vector_int32_t_const_iterator * | _this | ) |
Destroys a heap-allocated instance of MR_std_vector_int32_t_const_iterator
. Does nothing if the pointer is null.
MRC_API void MR_std_vector_int32_t_const_iterator_DestroyArray | ( | const MR_std_vector_int32_t_const_iterator * | _this | ) |
Destroys a heap-allocated array of MR_std_vector_int32_t_const_iterator
. Does nothing if the pointer is null.
MRC_API ptrdiff_t MR_std_vector_int32_t_const_iterator_Distance | ( | const MR_std_vector_int32_t_const_iterator * | a, |
const MR_std_vector_int32_t_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.
MRC_API MR_std_vector_int32_t_const_iterator * MR_std_vector_int32_t_const_iterator_FromMutable | ( | const MR_std_vector_int32_t_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_int32_t_const_iterator_Destroy()
to free it when you're done using it.
MRC_API void MR_std_vector_int32_t_const_iterator_Incr | ( | MR_std_vector_int32_t_const_iterator * | _this | ) |
Increments a const iterator. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_const_iterator_OffsetBy | ( | MR_std_vector_int32_t_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.
MRC_API MR_std_vector_int32_t_const_iterator * MR_std_vector_int32_t_const_iterator_OffsetMutablePtr | ( | MR_std_vector_int32_t_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 const MR_std_vector_int32_t_const_iterator * MR_std_vector_int32_t_const_iterator_OffsetPtr | ( | const MR_std_vector_int32_t_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_int32_t * MR_std_vector_int32_t_ConstructFromAnother | ( | MR_PassBy | other_pass_by, |
MR_std_vector_int32_t * | 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_int32_t_Destroy()
to free it when you're done using it.
MRC_API MR_std_vector_int32_t * MR_std_vector_int32_t_ConstructFromRange | ( | const int32_t * | 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_int32_t_Destroy()
to free it when you're done using it.
MRC_API const int32_t * MR_std_vector_int32_t_Data | ( | const MR_std_vector_int32_t * | _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.
MRC_API MR_std_vector_int32_t * MR_std_vector_int32_t_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int32_t_Destroy()
to free it when you're done using it.
MRC_API MR_std_vector_int32_t * MR_std_vector_int32_t_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_int32_t_DestroyArray()
. Use MR_std_vector_int32_t_OffsetMutablePtr()
and MR_std_vector_int32_t_OffsetPtr()
to access the array elements.
MRC_API void MR_std_vector_int32_t_Destroy | ( | const MR_std_vector_int32_t * | _this | ) |
Destroys a heap-allocated instance of MR_std_vector_int32_t
. Does nothing if the pointer is null.
MRC_API void MR_std_vector_int32_t_DestroyArray | ( | const MR_std_vector_int32_t * | _this | ) |
Destroys a heap-allocated array of MR_std_vector_int32_t
. Does nothing if the pointer is null.
MRC_API MR_std_vector_int32_t_const_iterator * MR_std_vector_int32_t_End | ( | const MR_std_vector_int32_t * | _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_int32_t_const_iterator_Destroy()
to free it when you're done using it.
MRC_API void MR_std_vector_int32_t_Erase | ( | MR_std_vector_int32_t * | _this, |
size_t | position ) |
Erases the element at the specified position. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_EraseAtIter | ( | MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_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.
MRC_API void MR_std_vector_int32_t_EraseAtMutableIter | ( | MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_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.
MRC_API const int32_t * MR_std_vector_int32_t_Front | ( | const MR_std_vector_int32_t * | _this | ) |
The first element or null if empty, read-only. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_Insert | ( | MR_std_vector_int32_t * | _this, |
size_t | position, | ||
int32_t | new_elem ) |
Inserts a new element right before the specified position. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_InsertAtIter | ( | MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_const_iterator * | position, | ||
int32_t | 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.
MRC_API void MR_std_vector_int32_t_InsertAtMutableIter | ( | MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_iterator * | position, | ||
int32_t | 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.
MRC_API bool MR_std_vector_int32_t_IsBegin | ( | const MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_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.
MRC_API bool MR_std_vector_int32_t_IsEmpty | ( | const MR_std_vector_int32_t * | _this | ) |
Returns true if the size is zero. Parameter _this
can not be null. It is a single object.
MRC_API bool MR_std_vector_int32_t_IsEnd | ( | const MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_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.
MRC_API bool MR_std_vector_int32_t_IsMutableBegin | ( | MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_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.
MRC_API bool MR_std_vector_int32_t_IsMutableEnd | ( | MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_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.
MRC_API void MR_std_vector_int32_t_iterator_AssignFromAnother | ( | MR_std_vector_int32_t_iterator * | _this, |
const MR_std_vector_int32_t_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.
MRC_API MR_std_vector_int32_t_iterator * MR_std_vector_int32_t_iterator_ConstructFromAnother | ( | const MR_std_vector_int32_t_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_int32_t_iterator_Destroy()
to free it when you're done using it.
MRC_API void MR_std_vector_int32_t_iterator_Decr | ( | MR_std_vector_int32_t_iterator * | _this | ) |
Decrements a mutable iterator. Parameter _this
can not be null. It is a single object.
MRC_API MR_std_vector_int32_t_iterator * MR_std_vector_int32_t_iterator_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int32_t_iterator_Destroy()
to free it when you're done using it.
MRC_API MR_std_vector_int32_t_iterator * MR_std_vector_int32_t_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_int32_t_iterator_DestroyArray()
. Use MR_std_vector_int32_t_iterator_OffsetMutablePtr()
and MR_std_vector_int32_t_iterator_OffsetPtr()
to access the array elements.
MRC_API int32_t * MR_std_vector_int32_t_iterator_Deref | ( | const MR_std_vector_int32_t_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.
MRC_API void MR_std_vector_int32_t_iterator_Destroy | ( | const MR_std_vector_int32_t_iterator * | _this | ) |
Destroys a heap-allocated instance of MR_std_vector_int32_t_iterator
. Does nothing if the pointer is null.
MRC_API void MR_std_vector_int32_t_iterator_DestroyArray | ( | const MR_std_vector_int32_t_iterator * | _this | ) |
Destroys a heap-allocated array of MR_std_vector_int32_t_iterator
. Does nothing if the pointer is null.
MRC_API ptrdiff_t MR_std_vector_int32_t_iterator_Distance | ( | const MR_std_vector_int32_t_iterator * | a, |
const MR_std_vector_int32_t_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.
MRC_API void MR_std_vector_int32_t_iterator_Incr | ( | MR_std_vector_int32_t_iterator * | _this | ) |
Increments a mutable iterator. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_iterator_OffsetBy | ( | MR_std_vector_int32_t_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.
MRC_API MR_std_vector_int32_t_iterator * MR_std_vector_int32_t_iterator_OffsetMutablePtr | ( | MR_std_vector_int32_t_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 MR_std_vector_int32_t_iterator * MR_std_vector_int32_t_iterator_OffsetPtr | ( | const MR_std_vector_int32_t_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 int32_t * MR_std_vector_int32_t_MutableAt | ( | MR_std_vector_int32_t * | _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.
MRC_API int32_t * MR_std_vector_int32_t_MutableBack | ( | MR_std_vector_int32_t * | _this | ) |
The last element or null if empty, mutable. Parameter _this
can not be null. It is a single object.
MRC_API MR_std_vector_int32_t_iterator * MR_std_vector_int32_t_MutableBegin | ( | MR_std_vector_int32_t * | _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_int32_t_iterator_Destroy()
to free it when you're done using it.
MRC_API int32_t * MR_std_vector_int32_t_MutableData | ( | MR_std_vector_int32_t * | _this | ) |
Returns a pointer to the continuous storage that holds all elements, mutable. Parameter _this
can not be null. It is a single object.
MRC_API MR_std_vector_int32_t_iterator * MR_std_vector_int32_t_MutableEnd | ( | MR_std_vector_int32_t * | _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_int32_t_iterator_Destroy()
to free it when you're done using it.
MRC_API int32_t * MR_std_vector_int32_t_MutableFront | ( | MR_std_vector_int32_t * | _this | ) |
The first element or null if empty, mutable. Parameter _this
can not be null. It is a single object.
MRC_API ptrdiff_t MR_std_vector_int32_t_MutableToIndex | ( | const MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_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.
MRC_API MR_std_vector_int32_t * MR_std_vector_int32_t_OffsetMutablePtr | ( | MR_std_vector_int32_t * | ptr, |
ptrdiff_t | i ) |
Offsets a pointer to an array element by i
positions (not bytes). Use only if you're certain that the pointer points to an array element.
MRC_API const MR_std_vector_int32_t * MR_std_vector_int32_t_OffsetPtr | ( | const MR_std_vector_int32_t * | 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 void MR_std_vector_int32_t_PopBack | ( | MR_std_vector_int32_t * | _this | ) |
Removes one element from the end. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_PushBack | ( | MR_std_vector_int32_t * | _this, |
int32_t | new_elem ) |
Inserts a new element at the end. Parameter _this
can not be null. It is a single object.
MRC_API void MR_std_vector_int32_t_Reserve | ( | MR_std_vector_int32_t * | _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.
MRC_API void MR_std_vector_int32_t_Resize | ( | MR_std_vector_int32_t * | _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.
MRC_API void MR_std_vector_int32_t_ResizeWithDefaultValue | ( | MR_std_vector_int32_t * | _this, |
size_t | new_size, | ||
int32_t | 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.
MRC_API void MR_std_vector_int32_t_ShrinkToFit | ( | MR_std_vector_int32_t * | _this | ) |
Shrinks the capacity to match the size. Parameter _this
can not be null. It is a single object.
MRC_API size_t MR_std_vector_int32_t_Size | ( | const MR_std_vector_int32_t * | _this | ) |
The number of elements. Parameter _this
can not be null. It is a single object.
MRC_API ptrdiff_t MR_std_vector_int32_t_ToIndex | ( | const MR_std_vector_int32_t * | _this, |
const MR_std_vector_int32_t_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.