Struct CFStringTokenizer

Source
#[repr(C)]
pub struct CFStringTokenizer { /* private fields */ }
Available on crate feature CFStringTokenizer only.
Expand description

Implementations§

Source§

impl CFStringTokenizer

Source

pub unsafe fn best_string_language( string: &CFString, range: CFRange, ) -> Option<CFRetained<CFString>>

Guesses the language of a string and returns the BCP 47 string of the language.

Parameter string: The string whose language is to be guessed.

Parameter range: The range of characters in string whose language to be guessed. The specified range must not exceed the bounds of the string.

Returns: A language represented in BCP 47 string. NULL is returned either if string is NULL, the location of range is negative, the length of range is 0, or the language of the string cannot be guessed.

The result is not guaranteed to be accurate. Typically 200-400 characters are required to reliably guess the language of a string.

Source§

impl CFStringTokenizer

Source

pub unsafe fn new( alloc: Option<&CFAllocator>, string: Option<&CFString>, range: CFRange, options: CFOptionFlags, locale: Option<&CFLocale>, ) -> Option<CFRetained<CFStringTokenizer>>

Available on crate feature CFLocale only.

Creates a tokenizer instance.

Parameter alloc: The CFAllocator which should be used to allocate memory for the tokenizer and its storage for values. This parameter may be NULL in which case the current default CFAllocator is used.

Parameter string: The string to tokenize.

Parameter range: The range of characters within the string to be tokenized. The specified range must not exceed the length of the string.

Parameter options: Use one of the Tokenization Unit options to specify how the string should be tokenized. Optionally specify one or more attribute specifiers to tell the tokenizer to prepare specified attributes when it tokenizes the string.

Parameter locale: The locale to specify language or region specific behavior. Pass NULL if you want tokenizer to identify the locale automatically.

Returns: A reference to the new CFStringTokenizer.

Source

pub unsafe fn set_string( self: &CFStringTokenizer, string: Option<&CFString>, range: CFRange, )

Set the string to tokenize.

Parameter tokenizer: The reference to CFStringTokenizer returned by CFStringTokenizerCreate.

Parameter string: The string to tokenize.

Parameter range: The range of characters within the string to be tokenized. The specified range must not exceed the length of the string.

Source

pub unsafe fn go_to_token_at_index( self: &CFStringTokenizer, index: CFIndex, ) -> CFStringTokenizerTokenType

Random access to a token. Find a token that includes the character specified by character index, and set it as the current token.

Parameter tokenizer: The reference to CFStringTokenizer returned by CFStringTokenizerCreate.

Parameter index: The index of the Unicode character in the CFString.

Returns: Type of the token if succeeded in finding a token and setting it as current token. kCFStringTokenizerTokenNone if failed in finding a token.

The range and attribute of the token can be obtained by calling CFStringTokenizerGetCurrentTokenRange and CFStringTokenizerCopyCurrentTokenAttribute. If the token is a compound (with type kCFStringTokenizerTokenHasSubTokensMask or kCFStringTokenizerTokenHasDerivedSubTokensMask), its subtokens and (or) derived subtokens can be obtained by calling CFStringTokenizerGetCurrentSubTokens.

Source

pub unsafe fn advance_to_next_token( self: &CFStringTokenizer, ) -> CFStringTokenizerTokenType

Token enumerator.

Parameter tokenizer: The reference to CFStringTokenizer returned by CFStringTokenizerCreate.

Returns: Type of the token if succeeded in finding a token and setting it as current token. kCFStringTokenizerTokenNone if failed in finding a token.

If there is no preceding call to CFStringTokenizerGoToTokenAtIndex or CFStringTokenizerAdvanceToNextToken, it finds the first token in the range specified to CFStringTokenizerCreate. If there is a current token after successful call to CFStringTokenizerGoToTokenAtIndex or CFStringTokenizerAdvanceToNextToken, it proceeds to the next token. If succeeded in finding a token, set it as current token and return its token type. Otherwise invalidate current token and return kCFStringTokenizerTokenNone. The range and attribute of the token can be obtained by calling CFStringTokenizerGetCurrentTokenRange and CFStringTokenizerCopyCurrentTokenAttribute. If the token is a compound (with type kCFStringTokenizerTokenHasSubTokensMask or kCFStringTokenizerTokenHasDerivedSubTokensMask), its subtokens and (or) derived subtokens can be obtained by calling CFStringTokenizerGetCurrentSubTokens.

Source

pub unsafe fn current_token_range(self: &CFStringTokenizer) -> CFRange

Returns the range of current token.

Parameter tokenizer: The reference to CFStringTokenizer returned by CFStringTokenizerCreate.

Returns: Range of current token, or {kCFNotFound,0} if there is no current token.

Source

pub unsafe fn current_token_attribute( self: &CFStringTokenizer, attribute: CFOptionFlags, ) -> Option<CFRetained<CFType>>

Copies the specified attribute of current token.

Parameter tokenizer: The reference to CFStringTokenizer returned by CFStringTokenizerCreate.

Parameter attribute: Specify a token attribute you want to obtain. The value is one of kCFStringTokenizerAttributeLatinTranscription or kCFStringTokenizerAttributeLanguage.

Returns: Token attribute, or NULL if current token does not have the specified attribute or if there is no current token.

Source

pub unsafe fn current_sub_tokens( self: &CFStringTokenizer, ranges: *mut CFRange, max_range_length: CFIndex, derived_sub_tokens: Option<&CFMutableArray>, ) -> CFIndex

Available on crate feature CFArray only.

Retrieves the subtokens or derived subtokens contained in the compound token.

Parameter tokenizer: The reference to CFStringTokenizer returned by CFStringTokenizerCreate.

Parameter ranges: An array of CFRange to fill in with the ranges of subtokens. The filled in ranges are relative to the string specified to CFStringTokenizerCreate. This parameter can be NULL.

Parameter maxRangeLength: The maximum number of ranges to return.

Parameter derivedSubTokens: An array of CFMutableArray to which the derived subtokens are to be added. This parameter can be NULL.

Returns: number of subtokens.

If token type is kCFStringTokenizerTokenNone, the ranges array and derivedSubTokens array are untouched and the return value is 0. If token type is kCFStringTokenizerTokenNormal, the ranges array has one item filled in with the entire range of the token (if maxRangeLength >= 1) and a string taken from the entire token range is added to the derivedSubTokens array and the return value is 1. If token type is kCFStringTokenizerTokenHasSubTokensMask or kCFStringTokenizerTokenHasDerivedSubTokensMask, the ranges array is filled in with as many items as there are subtokens (up to a limit of maxRangeLength). The derivedSubTokens array will have sub tokens added even when the sub token is a substring of the token. If token type is kCFStringTokenizerTokenHasSubTokensMask, the ordinary non-derived subtokens are added to the derivedSubTokens array.

Methods from Deref<Target = CFType>§

Source

pub fn downcast_ref<T: ConcreteType>(&self) -> Option<&T>

Attempt to downcast the type to that of type T.

This is the reference-variant. Use CFRetained::downcast if you want to convert a retained type. See also ConcreteType for more details on which types support being converted to.

Source

pub fn retain_count(&self) -> usize

Get the reference count of the object.

This function may be useful for debugging. You normally do not use this function otherwise.

Beware that some things (like CFNumbers, small CFStrings etc.) may not have a normal retain count for optimization purposes, and can return usize::MAX in that case.

Trait Implementations§

Source§

impl AsRef<AnyObject> for CFStringTokenizer

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<CFStringTokenizer> for CFStringTokenizer

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<CFType> for CFStringTokenizer

Source§

fn as_ref(&self) -> &CFType

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for CFStringTokenizer

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<CFType> for CFStringTokenizer

Source§

fn borrow(&self) -> &CFType

Immutably borrows from an owned value. Read more
Source§

impl ConcreteType for CFStringTokenizer

Source§

fn type_id() -> CFTypeID

Get the type identifier.

Returns: the type identifier of all CFStringTokenizer instances.

Source§

impl Debug for CFStringTokenizer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for CFStringTokenizer

Source§

type Target = CFType

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for CFStringTokenizer

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for CFStringTokenizer

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl PartialEq for CFStringTokenizer

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for CFStringTokenizer

Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Type for CFStringTokenizer

Source§

fn retain(&self) -> CFRetained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

fn as_concrete_TypeRef(&self) -> &Self

👎Deprecated: this is redundant
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::retain
Helper for easier transition from the core-foundation crate. Read more
Source§

fn as_CFTypeRef(&self) -> &CFType
where Self: AsRef<CFType>,

👎Deprecated: this is redundant (CF types deref to CFType)
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::from_raw
Helper for easier transition from the core-foundation crate. Read more
Source§

impl Eq for CFStringTokenizer

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,