dispose method
Releases native memory created by copyToNative.
This method is called within the IO implementation and should not be callable or even visible to end developers.
Implementation
@override
void dispose() {
assert(() {
if (isClosed) {
throw Exception(
'A TextEmbedderResult was closed after it had already been closed. '
'TextEmbedderResult objects should only be closed when they are at'
'their end of life and will never be used again.',
);
}
if (_pointer == null) {
throw Exception(
'Attempted to call dispose on a TextEmbedderOptions object which '
'was never used by a TextEmbedder. Did you forget to create your '
'TextEmbedder?',
);
}
return true;
}());
baseOptions.freeStructFields(_pointer!.ref.base_options);
embedderOptions.freeStructFields(_pointer!.ref.embedder_options);
calloc.free(_pointer!);
_isClosed = true;
}