pub struct CFString { /* private fields */ }Expand description
This is toll-free bridged with NSString.
Implementations§
Source§impl CFString
impl CFString
Sourcepub unsafe fn with_pascal_string(
alloc: Option<&CFAllocator>,
p_str: *const c_char,
encoding: CFStringEncoding,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_pascal_string( alloc: Option<&CFAllocator>, p_str: *const c_char, encoding: CFStringEncoding, ) -> Option<CFRetained<CFString>>
CFString only.- Immutable string creation functions **
§Safety
allocmight not allowNone.p_strmust be a valid pointer.
Sourcepub unsafe fn with_c_string(
alloc: Option<&CFAllocator>,
c_str: *const c_char,
encoding: CFStringEncoding,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_c_string( alloc: Option<&CFAllocator>, c_str: *const c_char, encoding: CFStringEncoding, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.c_strmust be a valid pointer.
Sourcepub unsafe fn with_bytes(
alloc: Option<&CFAllocator>,
bytes: *const u8,
num_bytes: CFIndex,
encoding: CFStringEncoding,
is_external_representation: bool,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_bytes( alloc: Option<&CFAllocator>, bytes: *const u8, num_bytes: CFIndex, encoding: CFStringEncoding, is_external_representation: bool, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.bytesmust be a valid pointer.
Sourcepub unsafe fn with_characters(
alloc: Option<&CFAllocator>,
chars: *const u16,
num_chars: CFIndex,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_characters( alloc: Option<&CFAllocator>, chars: *const u16, num_chars: CFIndex, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.charsmust be a valid pointer.
Sourcepub unsafe fn with_pascal_string_no_copy(
alloc: Option<&CFAllocator>,
p_str: *const c_char,
encoding: CFStringEncoding,
contents_deallocator: Option<&CFAllocator>,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_pascal_string_no_copy( alloc: Option<&CFAllocator>, p_str: *const c_char, encoding: CFStringEncoding, contents_deallocator: Option<&CFAllocator>, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.p_strmust be a valid pointer.contents_deallocatormight not allowNone.
Sourcepub unsafe fn with_c_string_no_copy(
alloc: Option<&CFAllocator>,
c_str: *const c_char,
encoding: CFStringEncoding,
contents_deallocator: Option<&CFAllocator>,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_c_string_no_copy( alloc: Option<&CFAllocator>, c_str: *const c_char, encoding: CFStringEncoding, contents_deallocator: Option<&CFAllocator>, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.c_strmust be a valid pointer.contents_deallocatormight not allowNone.
Sourcepub unsafe fn with_bytes_no_copy(
alloc: Option<&CFAllocator>,
bytes: *const u8,
num_bytes: CFIndex,
encoding: CFStringEncoding,
is_external_representation: bool,
contents_deallocator: Option<&CFAllocator>,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_bytes_no_copy( alloc: Option<&CFAllocator>, bytes: *const u8, num_bytes: CFIndex, encoding: CFStringEncoding, is_external_representation: bool, contents_deallocator: Option<&CFAllocator>, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.bytesmust be a valid pointer.contents_deallocatormight not allowNone.
Sourcepub unsafe fn with_characters_no_copy(
alloc: Option<&CFAllocator>,
chars: *const u16,
num_chars: CFIndex,
contents_deallocator: Option<&CFAllocator>,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_characters_no_copy( alloc: Option<&CFAllocator>, chars: *const u16, num_chars: CFIndex, contents_deallocator: Option<&CFAllocator>, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.charsmust be a valid pointer.contents_deallocatormight not allowNone.
Sourcepub unsafe fn with_substring(
alloc: Option<&CFAllocator>,
str: Option<&CFString>,
range: CFRange,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_substring( alloc: Option<&CFAllocator>, str: Option<&CFString>, range: CFRange, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.strmight not allowNone.
pub fn new_copy( alloc: Option<&CFAllocator>, the_string: Option<&CFString>, ) -> Option<CFRetained<CFString>>
CFString only.Source§impl CFString
impl CFString
Sourcepub fn length(&self) -> CFIndex
Available on crate feature CFString only.
pub fn length(&self) -> CFIndex
CFString only.- Basic accessors for the contents **
pub unsafe fn character_at_index(&self, idx: CFIndex) -> u16
CFString only.Sourcepub unsafe fn characters(&self, range: CFRange, buffer: *mut u16)
Available on crate feature CFString only.
pub unsafe fn characters(&self, range: CFRange, buffer: *mut u16)
CFString only.§Safety
buffer must be a valid pointer.
Sourcepub unsafe fn pascal_string(
&self,
buffer: *mut c_char,
buffer_size: CFIndex,
encoding: CFStringEncoding,
) -> bool
Available on crate feature CFString only.
pub unsafe fn pascal_string( &self, buffer: *mut c_char, buffer_size: CFIndex, encoding: CFStringEncoding, ) -> bool
CFString only.§Safety
buffer must be a valid pointer.
Sourcepub unsafe fn c_string(
&self,
buffer: *mut c_char,
buffer_size: CFIndex,
encoding: CFStringEncoding,
) -> bool
Available on crate feature CFString only.
pub unsafe fn c_string( &self, buffer: *mut c_char, buffer_size: CFIndex, encoding: CFStringEncoding, ) -> bool
CFString only.§Safety
buffer must be a valid pointer.
pub fn pascal_string_ptr(&self, encoding: CFStringEncoding) -> *const c_char
CFString only.pub fn c_string_ptr(&self, encoding: CFStringEncoding) -> *const c_char
CFString only.pub fn characters_ptr(&self) -> *const u16
CFString only.Sourcepub unsafe fn bytes(
&self,
range: CFRange,
encoding: CFStringEncoding,
loss_byte: u8,
is_external_representation: bool,
buffer: *mut u8,
max_buf_len: CFIndex,
used_buf_len: *mut CFIndex,
) -> CFIndex
Available on crate feature CFString only.
pub unsafe fn bytes( &self, range: CFRange, encoding: CFStringEncoding, loss_byte: u8, is_external_representation: bool, buffer: *mut u8, max_buf_len: CFIndex, used_buf_len: *mut CFIndex, ) -> CFIndex
CFString only.§Safety
buffermust be a valid pointer.used_buf_lenmust be a valid pointer.
pub fn from_external_representation( alloc: Option<&CFAllocator>, data: Option<&CFData>, encoding: CFStringEncoding, ) -> Option<CFRetained<CFString>>
CFString and CFData only.pub fn new_external_representation( alloc: Option<&CFAllocator>, the_string: Option<&CFString>, encoding: CFStringEncoding, loss_byte: u8, ) -> Option<CFRetained<CFData>>
CFString and CFData only.pub fn smallest_encoding(&self) -> CFStringEncoding
CFString only.pub fn fastest_encoding(&self) -> CFStringEncoding
CFString only.pub fn system_encoding() -> CFStringEncoding
CFString only.pub fn maximum_size_for_encoding( length: CFIndex, encoding: CFStringEncoding, ) -> CFIndex
CFString only.Sourcepub unsafe fn file_system_representation(
&self,
buffer: *mut c_char,
max_buf_len: CFIndex,
) -> bool
Available on crate feature CFString only.
pub unsafe fn file_system_representation( &self, buffer: *mut c_char, max_buf_len: CFIndex, ) -> bool
CFString only.pub fn maximum_size_of_file_system_representation(&self) -> CFIndex
CFString only.Sourcepub unsafe fn with_file_system_representation(
alloc: Option<&CFAllocator>,
buffer: *const c_char,
) -> Option<CFRetained<CFString>>
Available on crate feature CFString only.
pub unsafe fn with_file_system_representation( alloc: Option<&CFAllocator>, buffer: *const c_char, ) -> Option<CFRetained<CFString>>
CFString only.§Safety
allocmight not allowNone.buffermust be a valid pointer.
Source§impl CFString
impl CFString
Sourcepub unsafe fn compare_with_options_and_locale(
&self,
the_string2: Option<&CFString>,
range_to_compare: CFRange,
compare_options: CFStringCompareFlags,
locale: Option<&CFLocale>,
) -> CFComparisonResult
Available on crate features CFString and CFLocale only.
pub unsafe fn compare_with_options_and_locale( &self, the_string2: Option<&CFString>, range_to_compare: CFRange, compare_options: CFStringCompareFlags, locale: Option<&CFLocale>, ) -> CFComparisonResult
CFString and CFLocale only.§Safety
the_string2might not allowNone.localemight not allowNone.
Sourcepub unsafe fn compare_with_options(
&self,
the_string2: Option<&CFString>,
range_to_compare: CFRange,
compare_options: CFStringCompareFlags,
) -> CFComparisonResult
Available on crate feature CFString only.
pub unsafe fn compare_with_options( &self, the_string2: Option<&CFString>, range_to_compare: CFRange, compare_options: CFStringCompareFlags, ) -> CFComparisonResult
CFString only.§Safety
the_string2 might not allow None.
pub fn compare( &self, the_string2: Option<&CFString>, compare_options: CFStringCompareFlags, ) -> CFComparisonResult
CFString only.Sourcepub unsafe fn find_with_options_and_locale(
&self,
string_to_find: Option<&CFString>,
range_to_search: CFRange,
search_options: CFStringCompareFlags,
locale: Option<&CFLocale>,
result: *mut CFRange,
) -> bool
Available on crate features CFString and CFLocale only.
pub unsafe fn find_with_options_and_locale( &self, string_to_find: Option<&CFString>, range_to_search: CFRange, search_options: CFStringCompareFlags, locale: Option<&CFLocale>, result: *mut CFRange, ) -> bool
CFString and CFLocale only.§Safety
string_to_findmight not allowNone.localemight not allowNone.resultmust be a valid pointer.
Sourcepub unsafe fn find_with_options(
&self,
string_to_find: Option<&CFString>,
range_to_search: CFRange,
search_options: CFStringCompareFlags,
result: *mut CFRange,
) -> bool
Available on crate feature CFString only.
pub unsafe fn find_with_options( &self, string_to_find: Option<&CFString>, range_to_search: CFRange, search_options: CFStringCompareFlags, result: *mut CFRange, ) -> bool
CFString only.§Safety
string_to_findmight not allowNone.resultmust be a valid pointer.
Sourcepub unsafe fn new_array_with_find_results(
alloc: Option<&CFAllocator>,
the_string: Option<&CFString>,
string_to_find: Option<&CFString>,
range_to_search: CFRange,
compare_options: CFStringCompareFlags,
) -> Option<CFRetained<CFArray>>
Available on crate features CFString and CFArray only.
pub unsafe fn new_array_with_find_results( alloc: Option<&CFAllocator>, the_string: Option<&CFString>, string_to_find: Option<&CFString>, range_to_search: CFRange, compare_options: CFStringCompareFlags, ) -> Option<CFRetained<CFArray>>
CFString and CFArray only.§Safety
allocmight not allowNone.the_stringmight not allowNone.string_to_findmight not allowNone.
pub fn find( &self, string_to_find: Option<&CFString>, compare_options: CFStringCompareFlags, ) -> CFRange
CFString only.pub fn has_prefix(&self, prefix: Option<&CFString>) -> bool
CFString only.pub fn has_suffix(&self, suffix: Option<&CFString>) -> bool
CFString only.Sourcepub unsafe fn range_of_composed_characters_at_index(
&self,
the_index: CFIndex,
) -> CFRange
Available on crate feature CFString only.
pub unsafe fn range_of_composed_characters_at_index( &self, the_index: CFIndex, ) -> CFRange
CFString only.Returns the range of the composed character sequence at the specified index.
Parameter theString: The CFString which is to be searched. If this
parameter is not a valid CFString, the behavior is
undefined.
Parameter theIndex: The index of the character contained in the
composed character sequence. If the index is
outside the index space of the string (0 to N-1 inclusive,
where N is the length of the string), the behavior is
undefined.
Returns: The range of the composed character sequence.
Sourcepub unsafe fn find_character_from_set(
&self,
the_set: Option<&CFCharacterSet>,
range_to_search: CFRange,
search_options: CFStringCompareFlags,
result: *mut CFRange,
) -> bool
Available on crate features CFString and CFCharacterSet only.
pub unsafe fn find_character_from_set( &self, the_set: Option<&CFCharacterSet>, range_to_search: CFRange, search_options: CFStringCompareFlags, result: *mut CFRange, ) -> bool
CFString and CFCharacterSet only.Query the range of the first character contained in the specified character set.
Parameter theString: The CFString which is to be searched. If this
parameter is not a valid CFString, the behavior is
undefined.
Parameter theSet: The CFCharacterSet against which the membership
of characters is checked. If this parameter is not a valid
CFCharacterSet, the behavior is undefined.
Parameter rangeToSearch: The range of characters within the string to search. If
the range location or end point (defined by the location
plus length minus 1) are outside the index space of the
string (0 to N-1 inclusive, where N is the length of the
string), the behavior is undefined. If the range length is
negative, the behavior is undefined. The range may be empty
(length 0), in which case no search is performed.
Parameter searchOptions: The bitwise-or’ed option flags to control
the search behavior. The supported options are
kCFCompareBackwards andkCFCompareAnchored.
If other option flags are specified, the behavior
is undefined.
Parameter result: The pointer to a CFRange supplied by the caller in
which the search result is stored. Note that the length
of this range can be more than 1, if for instance the
result is a composed character. If a pointer to an invalid
memory is specified, the behavior is undefined.
Returns: true, if at least a character which is a member of the character set is found and result is filled, otherwise, false.
§Safety
the_setmight not allowNone.resultmust be a valid pointer.
Sourcepub unsafe fn line_bounds(
&self,
range: CFRange,
line_begin_index: *mut CFIndex,
line_end_index: *mut CFIndex,
contents_end_index: *mut CFIndex,
)
Available on crate feature CFString only.
pub unsafe fn line_bounds( &self, range: CFRange, line_begin_index: *mut CFIndex, line_end_index: *mut CFIndex, contents_end_index: *mut CFIndex, )
CFString only.§Safety
line_begin_indexmust be a valid pointer.line_end_indexmust be a valid pointer.contents_end_indexmust be a valid pointer.
Sourcepub unsafe fn paragraph_bounds(
&self,
range: CFRange,
par_begin_index: *mut CFIndex,
par_end_index: *mut CFIndex,
contents_end_index: *mut CFIndex,
)
Available on crate feature CFString only.
pub unsafe fn paragraph_bounds( &self, range: CFRange, par_begin_index: *mut CFIndex, par_end_index: *mut CFIndex, contents_end_index: *mut CFIndex, )
CFString only.§Safety
par_begin_indexmust be a valid pointer.par_end_indexmust be a valid pointer.contents_end_indexmust be a valid pointer.
Sourcepub unsafe fn hyphenation_location_before_index(
&self,
location: CFIndex,
limit_range: CFRange,
options: CFOptionFlags,
locale: Option<&CFLocale>,
character: *mut u32,
) -> CFIndex
Available on crate features CFString and CFLocale only.
pub unsafe fn hyphenation_location_before_index( &self, location: CFIndex, limit_range: CFRange, options: CFOptionFlags, locale: Option<&CFLocale>, character: *mut u32, ) -> CFIndex
CFString and CFLocale only.Retrieve the first potential hyphenation location found before the specified location.
Parameter string: The CFString which is to be hyphenated. If this
parameter is not a valid CFString, the behavior is
undefined.
Parameter location: An index in the string. If a valid hyphen index is returned, it
will be before this index.
Parameter limitRange: The range of characters within the string to search. If
the range location or end point (defined by the location
plus length minus 1) are outside the index space of the
string (0 to N-1 inclusive, where N is the length of the
string), the behavior is undefined. If the range length is
negative, the behavior is undefined. The range may be empty
(length 0), in which case no hyphen location is generated.
Parameter options: Reserved for future use.
Parameter locale: Specifies which language’s hyphenation conventions to use.
This must be a valid locale. Hyphenation data is not available
for all locales. You can use CFStringIsHyphenationAvailableForLocale
to test for availability of hyphenation data.
Parameter character: The suggested hyphen character to insert. Pass NULL if you
do not need this information.
Returns: an index in the string where it is appropriate to insert a hyphen, if one exists; else kCFNotFound
§Safety
localemight not allowNone.charactermust be a valid pointer.
pub fn is_hyphenation_available_for_locale(locale: Option<&CFLocale>) -> bool
CFString and CFLocale only.Sourcepub unsafe fn new_by_combining_strings(
alloc: Option<&CFAllocator>,
the_array: Option<&CFArray>,
separator_string: Option<&CFString>,
) -> Option<CFRetained<CFString>>
Available on crate features CFString and CFArray only.
pub unsafe fn new_by_combining_strings( alloc: Option<&CFAllocator>, the_array: Option<&CFArray>, separator_string: Option<&CFString>, ) -> Option<CFRetained<CFString>>
CFString and CFArray only.- Exploding and joining strings with a separator string **
§Safety
allocmight not allowNone.the_arraygeneric must be of the correct type.the_arraymight not allowNone.separator_stringmight not allowNone.
pub fn new_array_by_separating_strings( alloc: Option<&CFAllocator>, the_string: Option<&CFString>, separator_string: Option<&CFString>, ) -> Option<CFRetained<CFArray>>
CFString and CFArray only.Sourcepub fn int_value(&self) -> i32
Available on crate feature CFString only.
pub fn int_value(&self) -> i32
CFString only.- Parsing non-localized numbers from strings **
pub fn double_value(&self) -> c_double
CFString only.Source§impl CFString
impl CFString
Sourcepub fn is_encoding_available(encoding: CFStringEncoding) -> bool
Available on crate feature CFString only.
pub fn is_encoding_available(encoding: CFStringEncoding) -> bool
CFString only.- General encoding related functionality **
pub fn list_of_available_encodings() -> *const CFStringEncoding
CFString only.pub fn name_of_encoding( encoding: CFStringEncoding, ) -> Option<CFRetained<CFString>>
CFString only.pub fn convert_encoding_to_ns_string_encoding( encoding: CFStringEncoding, ) -> c_ulong
CFString only.pub fn convert_ns_string_encoding_to_encoding( encoding: c_ulong, ) -> CFStringEncoding
CFString only.pub fn convert_encoding_to_windows_codepage(encoding: CFStringEncoding) -> u32
CFString only.pub fn convert_windows_codepage_to_encoding(codepage: u32) -> CFStringEncoding
CFString only.pub fn convert_iana_char_set_name_to_encoding(&self) -> CFStringEncoding
CFString only.pub fn convert_encoding_to_iana_char_set_name( encoding: CFStringEncoding, ) -> Option<CFRetained<CFString>>
CFString only.pub fn most_compatible_mac_string_encoding( encoding: CFStringEncoding, ) -> CFStringEncoding
CFString only.Source§impl CFString
impl CFString
Sourcepub fn from_str(string: &str) -> CFRetained<Self> ⓘ
Available on crate feature CFString only.
pub fn from_str(string: &str) -> CFRetained<Self> ⓘ
CFString only.Creates a new CFString from a str.
Sourcepub fn new(string: &str) -> CFRetained<Self> ⓘ
👎Deprecated: renamed to CFString::from_strAvailable on crate feature CFString only.
pub fn new(string: &str) -> CFRetained<Self> ⓘ
CFString only.Alias for easier transition from the core-foundation crate.
Sourcepub fn from_static_str(string: &'static str) -> CFRetained<Self> ⓘ
Available on crate feature CFString only.
pub fn from_static_str(string: &'static str) -> CFRetained<Self> ⓘ
CFString only.Creates a new CFString from a 'static str.
This may be slightly more efficient than CFString::from_str, as it
may be able to re-use the existing buffer (since we know it won’t be
deallocated).
Sourcepub unsafe fn as_str_unchecked(&self) -> Option<&str>
Available on crate feature CFString only.
pub unsafe fn as_str_unchecked(&self) -> Option<&str>
CFString only.Get the str representation of this string if it can be
done efficiently.
Returns None if the internal storage does not allow this to be
done efficiently. Use CFString::to_string if performance is not an
issue.
§Safety
The CFString must not be mutated for the lifetime of the returned
string.
Warning: This is very difficult to ensure in generic contexts, e.g. it
cannot even be used inside Debug::fmt, since Formatter uses dyn
internally, and could thus mutate the string inside there.
Methods from Deref<Target = CFType>§
Sourcepub fn downcast_ref<T: ConcreteType>(&self) -> Option<&T>
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.
Sourcepub fn retain_count(&self) -> usize
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<CFString> for CFMutableString
impl AsRef<CFString> for CFMutableString
Source§impl Borrow<CFString> for CFMutableString
impl Borrow<CFString> for CFMutableString
Source§impl ConcreteType for CFString
Available on crate feature CFString only.
impl ConcreteType for CFString
CFString only.Source§impl Ord for CFString
Available on crate feature CFString only.
impl Ord for CFString
CFString only.Source§impl PartialOrd for CFString
Available on crate feature CFString only.
impl PartialOrd for CFString
CFString only.Source§impl RefEncode for CFString
impl RefEncode for CFString
Source§const ENCODING_REF: Encoding
const ENCODING_REF: Encoding
Source§impl Type for CFString
impl Type for CFString
Source§fn retain(&self) -> CFRetained<Self> ⓘwhere
Self: Sized,
fn retain(&self) -> CFRetained<Self> ⓘwhere
Self: Sized,
Source§fn as_concrete_TypeRef(&self) -> &Self
fn as_concrete_TypeRef(&self) -> &Self
core-foundation crate.Source§unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self> ⓘwhere
Self: Sized,
unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self> ⓘwhere
Self: Sized,
core-foundation crate. Read moreSource§fn as_CFTypeRef(&self) -> &CFType
fn as_CFTypeRef(&self) -> &CFType
core-foundation crate.Source§unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self> ⓘwhere
Self: Sized,
unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self> ⓘwhere
Self: Sized,
core-foundation crate. Read more