ssize_t GetReflectedVectorSize(
ReflectionByteCode rbc,
const void* vec)
Returns the current number of elements in a xvector<T> variable at address 'vec'. rbc describes the element type T.
void* PushBackDefaultConstructedElementOntoReflectedVector(
ReflectionByteCode rbc,
void* vec)
Returns address of the element that was inserted
void ConcatReflectedVectorFromArray(
ReflectionByteCode rbc,
void* vec_lhs,
const void* array_rhs,
ssize_t array_rhs_size)
Concatenate array of T of size 'array_rhs_size' at address 'array_rhs' onto xvector<T> at address 'vec_lhs'. rbc describes the element type T.
void ConcatReflectedVector(
ReflectionByteCode rbc,
void* vec_lhs,
const void* vec_rhs)
Concatenate xvector<T> at address 'vec_rhs' onto xvector<T> at address 'vec_lhs'. rbc describes the element type T.
bool ConcatReflectedVector(
ReflectionByteCode rbc_lhs, void* vec_lhs,
ReflectionByteCode rbc_rhs, const void* vec_rhs,
bool allowExplicitConversions)
bool InsertFromArrayIntoReflectedVector(
ReflectionByteCode rbc,
void* dst,
ssize_t d,
const void* src,
ssize_t src_n,
ssize_t s1,
ssize_t s2)
Insert elements copied from the range [s1,s2) from array in T of size src_n at address src into the xvector<T> at address dst at position d rbc describes the element type T. Returns false if any of d,s1 or s2 are invalid.
bool InsertIntoReflectedVector(
ReflectionByteCode rbc,
void* dst,
ssize_t d,
const void* src,
ssize_t s1,
ssize_t s2)
Insert elements copied from the range [s1,s2) from xvector<T> at address src into the xvector<T> at address dst at position d rbc describes the element type T. Returns false if any of d,s1 or s2 are invalid.
EReflectedVectorCode InsertIntoReflectedVector(
ReflectionByteCode rbc_dst, void* dst, ssize_t d,
ReflectionByteCode rbc_src, const void* src, ssize_t s1, ssize_t s2,
bool allowExplicitConversions)
Returns RVC_OK, RVC_BAD_INDEX or RVC_TYPE_ERROR
bool ConstructReflectedVectorFromSliceOfArray(
ReflectionByteCode rbc,
void* dst,
const void* src,
ssize_t src_n,
ssize_t s1,
ssize_t s2)
Construct the xvector<T> at address dst from a copy of the slice [s1,s2) from the array in T of size src_n at src. rbc describes the element type T. Return false if [s1,s2) out of range
bool ConstructFromSliceOfReflectedVector(
ReflectionByteCode rbc,
void* dst,
const void* src,
ssize_t s1,
ssize_t s2)
Construct the xvector<T> at address dst from a copy of the slice [s1,s2) from the xvector<T> at src. rbc describes the element type T. Return false if [s1,s2) out of range
void PushBackOntoReflectedVector(
ReflectionByteCode rbc,
void* vec,
const void* x)
Perform push_back of the value of type T at address 'x' on the xvector<T> at address 'vec' rbc describes the element type T.
bool InsertElementIntoReflectedVector(
ReflectionByteCode rbc,
void* vec,
ssize_t i,
const void* x)
Insert value of type T at address 'x' into the xvector<T> at address 'vec', at index position i. rbc describes the element type T. Returns false if i is out of range.
void* GetElementOfReflectedArray(
ReflectionByteCode rbc,
void* array,
ssize_t n,
ssize_t i)
Returns the address of the ith element of the array of T of size n at address 'array' rbc describes the element type T. Returns nullptr if i is invalid.
void* GetElementOfReflectedVector(
ReflectionByteCode rbc,
void* vec,
ssize_t i)
Returns the address of the ith element of the xvector<T> at address 'vec'. rbc describes the element type T. Returns nullptr if i is invalid.
bool EraseSliceInReflectedVector(
ReflectionByteCode rbc,
void* vec,
ssize_t i1,
ssize_t i2)
Erase the elements in the range [i1,i2) from the xvector<T> at address vec. rbc describes the element type T. Returns false if [i1,i2) is an invalid range.
void ReverseReflectedVector(
ReflectionByteCode rbc,
void* vec)
Reverse the elements of the xvector<T> as address vec rbc describes the element type T. Assumes that xvector elements are relocatable
ssize_t FindFirstElementInReflectedArray(
ReflectionByteCode rbc,
const void* array,
ssize_t size,
const void* elt)
Returns the index of the first element in the array in T of size 'size' at address 'array' that is equivalent in value to the variable of type T at address 'elt'. 'rbc' describes the element type T.
ssize_t FindFirstElementInReflectedVector(
ReflectionByteCode rbc,
const void* vec,
const void* val)
Returns the index of the first element in the xvector<T> at address 'vec' that is equivalent in value to the variable of type T at address 'elt'. 'rbc' describes the element type T.
ssize_t GetElementFrequencyInReflectedArray(
ReflectionByteCode rbc,
const void* array,
ssize_t size,
const void* elt)
Returns the number of elements in the array in T of size 'size' at address 'array' that are equivalent in value to the variable of type T at address 'elt'. 'rbc' describes the element type T.
ssize_t GetElementFrequencyInReflectedVector(
ReflectionByteCode rbc,
const void* vec,
const void* val)
Returns the number of elements in the xvector<T> at address vec that are equivalent in value to the variable of type T at address val. rbc describes the element type T.
void SortReflectedVector(
ReflectionByteCode rbc,
void* vec)
Sort the xvector<T> as address vec. rbc describes the element type T. Assumes that xvector elements are relocatable