BLI_buffer is a dynamic homogeneous array similar to BLI_array, but it allocates a structure that can be passed around making it possible to resize the array outside the function it was declared in.