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 i8,
encoding: u32,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_pascal_string( alloc: Option<&CFAllocator>, p_str: *const i8, encoding: u32, ) -> Option<CFRetained<CFString>>
- 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 i8,
encoding: u32,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_c_string( alloc: Option<&CFAllocator>, c_str: *const i8, encoding: u32, ) -> Option<CFRetained<CFString>>
§Safety
allocmight not allowNone.c_strmust be a valid pointer.
Sourcepub unsafe fn with_bytes(
alloc: Option<&CFAllocator>,
bytes: *const u8,
num_bytes: isize,
encoding: u32,
is_external_representation: bool,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_bytes( alloc: Option<&CFAllocator>, bytes: *const u8, num_bytes: isize, encoding: u32, is_external_representation: bool, ) -> Option<CFRetained<CFString>>
§Safety
allocmight not allowNone.bytesmust be a valid pointer.
Sourcepub unsafe fn with_characters(
alloc: Option<&CFAllocator>,
chars: *const u16,
num_chars: isize,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_characters( alloc: Option<&CFAllocator>, chars: *const u16, num_chars: isize, ) -> Option<CFRetained<CFString>>
§Safety
allocmight not allowNone.charsmust be a valid pointer.
Sourcepub unsafe fn with_pascal_string_no_copy(
alloc: Option<&CFAllocator>,
p_str: *const i8,
encoding: u32,
contents_deallocator: Option<&CFAllocator>,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_pascal_string_no_copy( alloc: Option<&CFAllocator>, p_str: *const i8, encoding: u32, contents_deallocator: Option<&CFAllocator>, ) -> Option<CFRetained<CFString>>
§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 i8,
encoding: u32,
contents_deallocator: Option<&CFAllocator>,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_c_string_no_copy( alloc: Option<&CFAllocator>, c_str: *const i8, encoding: u32, contents_deallocator: Option<&CFAllocator>, ) -> Option<CFRetained<CFString>>
§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: isize,
encoding: u32,
is_external_representation: bool,
contents_deallocator: Option<&CFAllocator>,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_bytes_no_copy( alloc: Option<&CFAllocator>, bytes: *const u8, num_bytes: isize, encoding: u32, is_external_representation: bool, contents_deallocator: Option<&CFAllocator>, ) -> Option<CFRetained<CFString>>
§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: isize,
contents_deallocator: Option<&CFAllocator>,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_characters_no_copy( alloc: Option<&CFAllocator>, chars: *const u16, num_chars: isize, contents_deallocator: Option<&CFAllocator>, ) -> Option<CFRetained<CFString>>
§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>>
pub unsafe fn with_substring( alloc: Option<&CFAllocator>, str: Option<&CFString>, range: CFRange, ) -> Option<CFRetained<CFString>>
§Safety
allocmight not allowNone.strmight not allowNone.
pub fn new_copy( alloc: Option<&CFAllocator>, the_string: Option<&CFString>, ) -> Option<CFRetained<CFString>>
Source§impl CFString
impl CFString
pub unsafe fn character_at_index(&self, idx: isize) -> u16
Sourcepub unsafe fn characters(&self, range: CFRange, buffer: *mut u16)
pub unsafe fn characters(&self, range: CFRange, buffer: *mut u16)
§Safety
buffer must be a valid pointer.
Sourcepub unsafe fn pascal_string(
&self,
buffer: *mut i8,
buffer_size: isize,
encoding: u32,
) -> bool
pub unsafe fn pascal_string( &self, buffer: *mut i8, buffer_size: isize, encoding: u32, ) -> bool
§Safety
buffer must be a valid pointer.
Sourcepub unsafe fn c_string(
&self,
buffer: *mut i8,
buffer_size: isize,
encoding: u32,
) -> bool
pub unsafe fn c_string( &self, buffer: *mut i8, buffer_size: isize, encoding: u32, ) -> bool
§Safety
buffer must be a valid pointer.
pub fn pascal_string_ptr(&self, encoding: u32) -> *const i8
pub fn c_string_ptr(&self, encoding: u32) -> *const i8
pub fn characters_ptr(&self) -> *const u16
Sourcepub unsafe fn bytes(
&self,
range: CFRange,
encoding: u32,
loss_byte: u8,
is_external_representation: bool,
buffer: *mut u8,
max_buf_len: isize,
used_buf_len: *mut isize,
) -> isize
pub unsafe fn bytes( &self, range: CFRange, encoding: u32, loss_byte: u8, is_external_representation: bool, buffer: *mut u8, max_buf_len: isize, used_buf_len: *mut isize, ) -> isize
§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: u32, ) -> Option<CFRetained<CFString>>
pub fn new_external_representation( alloc: Option<&CFAllocator>, the_string: Option<&CFString>, encoding: u32, loss_byte: u8, ) -> Option<CFRetained<CFData>>
pub fn smallest_encoding(&self) -> u32
pub fn fastest_encoding(&self) -> u32
pub fn system_encoding() -> u32
pub fn maximum_size_for_encoding(length: isize, encoding: u32) -> isize
Sourcepub unsafe fn file_system_representation(
&self,
buffer: *mut i8,
max_buf_len: isize,
) -> bool
pub unsafe fn file_system_representation( &self, buffer: *mut i8, max_buf_len: isize, ) -> bool
pub fn maximum_size_of_file_system_representation(&self) -> isize
Sourcepub unsafe fn with_file_system_representation(
alloc: Option<&CFAllocator>,
buffer: *const i8,
) -> Option<CFRetained<CFString>>
pub unsafe fn with_file_system_representation( alloc: Option<&CFAllocator>, buffer: *const i8, ) -> Option<CFRetained<CFString>>
§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
pub unsafe fn compare_with_options_and_locale( &self, the_string2: Option<&CFString>, range_to_compare: CFRange, compare_options: CFStringCompareFlags, locale: Option<&CFLocale>, ) -> CFComparisonResult
§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
pub unsafe fn compare_with_options( &self, the_string2: Option<&CFString>, range_to_compare: CFRange, compare_options: CFStringCompareFlags, ) -> CFComparisonResult
§Safety
the_string2 might not allow None.
pub fn compare( &self, the_string2: Option<&CFString>, compare_options: CFStringCompareFlags, ) -> CFComparisonResult
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
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
§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
pub unsafe fn find_with_options( &self, string_to_find: Option<&CFString>, range_to_search: CFRange, search_options: CFStringCompareFlags, result: *mut CFRange, ) -> bool
§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>>
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>>
§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
pub fn has_prefix(&self, prefix: Option<&CFString>) -> bool
pub fn has_suffix(&self, suffix: Option<&CFString>) -> bool
Sourcepub unsafe fn range_of_composed_characters_at_index(
&self,
the_index: isize,
) -> CFRange
pub unsafe fn range_of_composed_characters_at_index( &self, the_index: isize, ) -> CFRange
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
pub unsafe fn find_character_from_set( &self, the_set: Option<&CFCharacterSet>, range_to_search: CFRange, search_options: CFStringCompareFlags, result: *mut CFRange, ) -> bool
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 isize,
line_end_index: *mut isize,
contents_end_index: *mut isize,
)
pub unsafe fn line_bounds( &self, range: CFRange, line_begin_index: *mut isize, line_end_index: *mut isize, contents_end_index: *mut isize, )
§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 isize,
par_end_index: *mut isize,
contents_end_index: *mut isize,
)
pub unsafe fn paragraph_bounds( &self, range: CFRange, par_begin_index: *mut isize, par_end_index: *mut isize, contents_end_index: *mut isize, )
§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: isize,
limit_range: CFRange,
options: usize,
locale: Option<&CFLocale>,
character: *mut u32,
) -> isize
pub unsafe fn hyphenation_location_before_index( &self, location: isize, limit_range: CFRange, options: usize, locale: Option<&CFLocale>, character: *mut u32, ) -> isize
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
Sourcepub unsafe fn new_by_combining_strings(
alloc: Option<&CFAllocator>,
the_array: Option<&CFArray>,
separator_string: Option<&CFString>,
) -> Option<CFRetained<CFString>>
pub unsafe fn new_by_combining_strings( alloc: Option<&CFAllocator>, the_array: Option<&CFArray>, separator_string: Option<&CFString>, ) -> Option<CFRetained<CFString>>
- 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>>
pub fn double_value(&self) -> f64
Source§impl CFString
impl CFString
Sourcepub fn is_encoding_available(encoding: u32) -> bool
pub fn is_encoding_available(encoding: u32) -> bool
- General encoding related functionality **
pub fn list_of_available_encodings() -> *const u32
pub fn name_of_encoding(encoding: u32) -> Option<CFRetained<CFString>>
pub fn convert_encoding_to_ns_string_encoding(encoding: u32) -> u64
pub fn convert_ns_string_encoding_to_encoding(encoding: u64) -> u32
pub fn convert_encoding_to_windows_codepage(encoding: u32) -> u32
pub fn convert_windows_codepage_to_encoding(codepage: u32) -> u32
pub fn convert_iana_char_set_name_to_encoding(&self) -> u32
pub fn convert_encoding_to_iana_char_set_name( encoding: u32, ) -> Option<CFRetained<CFString>>
pub fn most_compatible_mac_string_encoding(encoding: u32) -> u32
Source§impl CFString
impl CFString
Sourcepub fn new(string: &str) -> CFRetained<CFString> ⓘ
👎Deprecated: renamed to CFString::from_str
pub fn new(string: &str) -> CFRetained<CFString> ⓘ
Alias for easier transition from the core-foundation crate.
Sourcepub fn from_static_str(string: &'static str) -> CFRetained<CFString> ⓘ
pub fn from_static_str(string: &'static str) -> CFRetained<CFString> ⓘ
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>
pub unsafe fn as_str_unchecked(&self) -> Option<&str>
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>(&self) -> Option<&T>where
T: ConcreteType,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: ConcreteType,
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 ConcreteType for CFString
impl ConcreteType for CFString
Source§impl Ord for CFString
impl Ord for CFString
Source§impl PartialOrd for CFString
impl PartialOrd for CFString
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