create static method

Pointer<StructStringArray> create(
  1. int arrayCapacity,
  2. int stringCapacity
)
override

Creates a new StructStringArray with the given capacities.

Allocates memory for the array and initializes its fields.

@param arrayCapacity The capacity of the string array. @param stringCapacity The capacity of each string in the array. @return A pointer to the newly created StructStringArray.

Implementation

static Pointer<StructStringArray> create(
    int arrayCapacity, int stringCapacity) {
  final ptr = calloc<StructStringArray>();
  ptr.ref.data = calloc<Pointer<Uint8>>(arrayCapacity);
  ptr.ref.capacity = arrayCapacity;
  ptr.ref.stringCapacity = stringCapacity;
  ptr.ref.length = 0;

  for (var i = 0; i < arrayCapacity; i++) {
    ptr.ref.data[i] = calloc<Uint8>(stringCapacity);
  }

  return ptr;
}