Skip to content

VECTOR_foreach_ex

BigETI edited this page Jul 17, 2018 · 2 revisions

Description

Method to traverse through a vector

Syntax

VECTOR_foreach_ex(Pointer:value, index : Vector:vector)

Example

new Vector:vector;
VECTOR_push_back_val(vector, 1);
VECTOR_push_back_val(vector, 2);
VECTOR_push_back_val(vector, 3);
VECTOR_foreach_ex(v, index : vector)
{
	printf("%d: 0x%x, %d, \"%d\"", index, _:v, MEM_get_size(v), MEM_get_val(v));
}

or

new Vector:vector, arr1[10] = { 100, ... }, arr2[20] = { 200, ... }, arr3[30] = { 300, ... }, value[60], m_v_sz, v_sz;
VECTOR_push_back_arr(vector, arr1);
VECTOR_push_back_arr(vector, arr2);
VECTOR_push_back_arr(vector, arr3);
VECTOR_foreach_ex(v, index : vector)
{
	v_sz = MEM_get_size(v);
	m_v_sz = ((v_sz < sizeof value) ? v_sz : sizeof value);
	MEM_UM_zero(UnmanagedPointer:MEM_UM_get_addr(value[0]), sizeof value);
	MEM_get_arr(v, _, value, m_v_sz);
	printf("%d: 0x%x, %d", index, _:v, v_sz);
	print("\tValue:");
	for (new i = 0; i < m_v_sz; i++)
	{
		printf("\t\t0x%x", value[i]);
	}
}

or

new Vector:vector, value[16], m_v_sz, v_sz;
VECTOR_push_back_str(vector, "This is a test.");
VECTOR_push_back_str(vector, "foo");
VECTOR_push_back_str(vector, "bar");
VECTOR_foreach_ex(v, index : vector)
{
	v_sz = MEM_get_size(v);
	m_v_sz = ((v_sz < sizeof value) ? v_sz : sizeof value);
	MEM_UM_zero(UnmanagedPointer:MEM_UM_get_addr(value[0]), sizeof value);
	MEM_get_arr(v, _, value, m_v_sz);
	printf("%d: 0x%x, %d, \"%s\"", index, _:v, v_sz, value);
}

Clone this wiki locally