rangeOfFirstMatchInString method

NSRange rangeOfFirstMatchInString(
  1. NSString string, {
  2. required NSMatchingOptions options,
  3. required NSRange range,
})

rangeOfFirstMatchInString:options:range:

Implementation

NSRange rangeOfFirstMatchInString(
  objc.NSString string, {
  required NSMatchingOptions options,
  required NSRange range,
}) {
  objc.checkOsVersionInternal(
    'NSRegularExpression.rangeOfFirstMatchInString:options:range:',
    iOS: (false, (4, 0, 0)),
    macOS: (false, (10, 7, 0)),
  );
  final _ptr = pkg_ffi.calloc<NSRange>();
  objc.useMsgSendVariants
      ? _objc_msgSend_yl37m5Stret(
          _ptr,
          this.ref.pointer,
          _sel_rangeOfFirstMatchInString_options_range_,
          string.ref.pointer,
          options.value,
          range,
        )
      : _ptr.ref = _objc_msgSend_yl37m5(
          this.ref.pointer,
          _sel_rangeOfFirstMatchInString_options_range_,
          string.ref.pointer,
          options.value,
          range,
        );
  final _finalizable = _ptr.cast<ffi.Uint8>().asTypedList(
    ffi.sizeOf<NSRange>(),
    finalizer: pkg_ffi.calloc.nativeFree,
  );
  return ffi.Struct.create<NSRange>(_finalizable);
}