(#1034) Implement dynarray_copy_to
parent
06122f045c
commit
7d2500adc4
|
@ -207,3 +207,12 @@ void dynarray_replace_at(Dynarray *dynarray, size_t index, void *element)
|
|||
element,
|
||||
dynarray->element_size);
|
||||
}
|
||||
|
||||
void dynarray_copy_to(Dynarray *dynarray, void *dest, size_t index)
|
||||
{
|
||||
trace_assert(dynarray);
|
||||
trace_assert(dest);
|
||||
trace_assert(index < dynarray->count);
|
||||
|
||||
memcpy(dest, dynarray->data + index * dynarray->element_size, dynarray->element_size);
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ size_t dynarray_count(const Dynarray *dynarray);
|
|||
void *dynarray_data(Dynarray *dynarray);
|
||||
void *dynarray_pointer_at(Dynarray *dynarray, size_t index);
|
||||
void dynarray_replace_at(Dynarray *dynarray, size_t index, void *element);
|
||||
void dynarray_copy_to(Dynarray *dynarray, void *dest, size_t index);
|
||||
void dynarray_clear(Dynarray *dynarray);
|
||||
// O(1) amortized
|
||||
// TODO(#981): dynarray_push should be called dynarray_push_copy
|
||||
|
|
Loading…
Reference in New Issue