/* In C */ FooSeq foo_seq = ...; void *app_buffer; ... long length = FooSeq_get_length(&foo_seq); if (length > APP_BUFFER_SIZE) { // print ERROR message } memcpy(app_buffer, FooSeq_get_reference(&foo_seq,0), length * sizeof(Foo)); // In C++ FooSeq foo_seq; void *app_buffer; ... long length = foo_seq.length(); if (length > APP_BUFFER_SIZE) { // print ERROR message } memcpy(app_buffer, &foo_seq[0], length * sizeof(Foo));