#[repr(C)]pub struct CFString { /* private fields */ }
Expand description
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 **
pub unsafe fn with_c_string( alloc: Option<&CFAllocator>, c_str: *const c_char, encoding: CFStringEncoding, ) -> Option<CFRetained<CFString>>
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.pub unsafe fn with_characters( alloc: Option<&CFAllocator>, chars: *const u16, num_chars: CFIndex, ) -> Option<CFRetained<CFString>>
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.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.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.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.pub unsafe fn with_substring( alloc: Option<&CFAllocator>, str: Option<&CFString>, range: CFRange, ) -> Option<CFRetained<CFString>>
CFString
only.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: &CFString) -> CFIndex
Available on crate feature CFString
only.
pub fn length(self: &CFString) -> CFIndex
CFString
only.- Basic accessors for the contents **
pub unsafe fn character_at_index(self: &CFString, idx: CFIndex) -> u16
CFString
only.pub unsafe fn characters(self: &CFString, range: CFRange, buffer: *mut u16)
CFString
only.pub unsafe fn pascal_string( self: &CFString, buffer: *mut c_char, buffer_size: CFIndex, encoding: CFStringEncoding, ) -> bool
CFString
only.pub unsafe fn c_string( self: &CFString, buffer: *mut c_char, buffer_size: CFIndex, encoding: CFStringEncoding, ) -> bool
CFString
only.pub fn pascal_string_ptr( self: &CFString, encoding: CFStringEncoding, ) -> *const c_char
CFString
only.pub fn c_string_ptr( self: &CFString, encoding: CFStringEncoding, ) -> *const c_char
CFString
only.pub fn characters_ptr(self: &CFString) -> *const u16
CFString
only.pub unsafe fn bytes( self: &CFString, 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.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: &CFString) -> CFStringEncoding
CFString
only.pub fn fastest_encoding(self: &CFString) -> 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: &CFString,
buffer: *mut c_char,
max_buf_len: CFIndex,
) -> bool
Available on crate feature CFString
only.
pub unsafe fn file_system_representation( self: &CFString, buffer: *mut c_char, max_buf_len: CFIndex, ) -> bool
CFString
only.- FileSystem path conversion functions **
pub fn maximum_size_of_file_system_representation(self: &CFString) -> CFIndex
CFString
only.pub unsafe fn with_file_system_representation( alloc: Option<&CFAllocator>, buffer: *const c_char, ) -> Option<CFRetained<CFString>>
CFString
only.Source§impl CFString
impl CFString
pub unsafe fn compare_with_options_and_locale( self: &CFString, the_string2: Option<&CFString>, range_to_compare: CFRange, compare_options: CFStringCompareFlags, locale: Option<&CFLocale>, ) -> CFComparisonResult
CFString
and CFLocale
only.pub unsafe fn compare_with_options( self: &CFString, the_string2: Option<&CFString>, range_to_compare: CFRange, compare_options: CFStringCompareFlags, ) -> CFComparisonResult
CFString
only.pub fn compare( self: &CFString, the_string2: Option<&CFString>, compare_options: CFStringCompareFlags, ) -> CFComparisonResult
CFString
only.pub unsafe fn find_with_options_and_locale( self: &CFString, string_to_find: Option<&CFString>, range_to_search: CFRange, search_options: CFStringCompareFlags, locale: Option<&CFLocale>, result: *mut CFRange, ) -> bool
CFString
and CFLocale
only.pub unsafe fn find_with_options( self: &CFString, string_to_find: Option<&CFString>, range_to_search: CFRange, search_options: CFStringCompareFlags, result: *mut CFRange, ) -> bool
CFString
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.pub fn find( self: &CFString, string_to_find: Option<&CFString>, compare_options: CFStringCompareFlags, ) -> CFRange
CFString
only.pub fn has_prefix(self: &CFString, prefix: Option<&CFString>) -> bool
CFString
only.pub fn has_suffix(self: &CFString, suffix: Option<&CFString>) -> bool
CFString
only.Sourcepub unsafe fn range_of_composed_characters_at_index(
self: &CFString,
the_index: CFIndex,
) -> CFRange
Available on crate feature CFString
only.
pub unsafe fn range_of_composed_characters_at_index( self: &CFString, 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: &CFString,
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: &CFString, 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.
pub unsafe fn line_bounds( self: &CFString, range: CFRange, line_begin_index: *mut CFIndex, line_end_index: *mut CFIndex, contents_end_index: *mut CFIndex, )
CFString
only.pub unsafe fn paragraph_bounds( self: &CFString, range: CFRange, par_begin_index: *mut CFIndex, par_end_index: *mut CFIndex, contents_end_index: *mut CFIndex, )
CFString
only.Sourcepub unsafe fn hyphenation_location_before_index(
self: &CFString,
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: &CFString, 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
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 **
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: &CFString) -> i32
Available on crate feature CFString
only.
pub fn int_value(self: &CFString) -> i32
CFString
only.- Parsing non-localized numbers from strings **
pub fn double_value(self: &CFString) -> 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: &CFString, ) -> 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 CFNumber
s, small CFString
s 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