cosmic::iced_widget::text

Type Alias Fragment

source
pub type Fragment<'a> = Cow<'a, str>;
Expand description

A fragment of Text.

This is just an alias to a string that may be either borrowed or owned.

Aliased Type§

enum Fragment<'a> {
    Borrowed(&'a str),
    Owned(String),
}

Variants§

§1.0.0

Borrowed(&'a str)

Borrowed data.

§1.0.0

Owned(String)

Owned data.

Implementations

source§

impl<B> Cow<'_, B>
where B: ToOwned + ?Sized,

source

pub const fn is_borrowed(&self) -> bool

🔬This is a nightly-only experimental API. (cow_is_borrowed)

Returns true if the data is borrowed, i.e. if to_mut would require additional work.

§Examples
#![feature(cow_is_borrowed)]
use std::borrow::Cow;

let cow = Cow::Borrowed("moo");
assert!(cow.is_borrowed());

let bull: Cow<'_, str> = Cow::Owned("...moo?".to_string());
assert!(!bull.is_borrowed());
source

pub const fn is_owned(&self) -> bool

🔬This is a nightly-only experimental API. (cow_is_borrowed)

Returns true if the data is owned, i.e. if to_mut would be a no-op.

§Examples
#![feature(cow_is_borrowed)]
use std::borrow::Cow;

let cow: Cow<'_, str> = Cow::Owned("moo".to_string());
assert!(cow.is_owned());

let bull = Cow::Borrowed("...moo?");
assert!(!bull.is_owned());
1.0.0 · source

pub fn to_mut(&mut self) -> &mut <B as ToOwned>::Owned

Acquires a mutable reference to the owned form of the data.

Clones the data if it is not already owned.

§Examples
use std::borrow::Cow;

let mut cow = Cow::Borrowed("foo");
cow.to_mut().make_ascii_uppercase();

assert_eq!(
  cow,
  Cow::Owned(String::from("FOO")) as Cow<'_, str>
);
1.0.0 · source

pub fn into_owned(self) -> <B as ToOwned>::Owned

Extracts the owned data.

Clones the data if it is not already owned.

§Examples

Calling into_owned on a Cow::Borrowed returns a clone of the borrowed data:

use std::borrow::Cow;

let s = "Hello world!";
let cow = Cow::Borrowed(s);

assert_eq!(
  cow.into_owned(),
  String::from(s)
);

Calling into_owned on a Cow::Owned returns the owned data. The data is moved out of the Cow without being cloned.

use std::borrow::Cow;

let s = "Hello world!";
let cow: Cow<'_, str> = Cow::Owned(String::from(s));

assert_eq!(
  cow.into_owned(),
  String::from(s)
);

Trait Implementations

1.14.0 · source§

impl<'a> Add<&'a str> for Cow<'a, str>

source§

type Output = Cow<'a, str>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &'a str) -> <Cow<'a, str> as Add<&'a str>>::Output

Performs the + operation. Read more
1.14.0 · source§

impl<'a> Add for Cow<'a, str>

source§

type Output = Cow<'a, str>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Cow<'a, str>) -> <Cow<'a, str> as Add>::Output

Performs the + operation. Read more
1.14.0 · source§

impl<'a> AddAssign<&'a str> for Cow<'a, str>

source§

fn add_assign(&mut self, rhs: &'a str)

Performs the += operation. Read more
1.14.0 · source§

impl<'a> AddAssign for Cow<'a, str>

source§

fn add_assign(&mut self, rhs: Cow<'a, str>)

Performs the += operation. Read more
source§

impl<'a> Arg for Cow<'a, str>

source§

fn as_str(&self) -> Result<&str, Errno>

Returns a view of this string as a string slice.
source§

fn to_string_lossy(&self) -> Cow<'_, str>

Returns a potentially-lossy rendering of this string as a Cow<'_, str>.
source§

fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>

Returns a view of this string as a maybe-owned CStr.
source§

fn into_c_str<'b>(self) -> Result<Cow<'b, CStr>, Errno>
where Cow<'a, str>: 'b,

Consumes self and returns a view of this string as a maybe-owned CStr.
source§

fn into_with_c_str<T, F>(self, f: F) -> Result<T, Errno>
where Cow<'a, str>: Sized, F: FnOnce(&CStr) -> Result<T, Errno>,

Runs a closure with self passed in as a &CStr.
source§

impl<T> AsRawXcbConnection for Cow<'_, T>

source§

fn as_raw_xcb_connection(&self) -> *mut xcb_connection_t

Get a raw xcb connection pointer from this object.
1.0.0 · source§

impl<T> AsRef<T> for Cow<'_, T>
where T: ToOwned + ?Sized,

source§

fn as_ref(&self) -> &T

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

impl<'a, B> Borrow<B> for Cow<'a, B>
where B: ToOwned + ?Sized,

source§

fn borrow(&self) -> &B

Immutably borrows from an owned value. Read more
1.0.0 · source§

impl<B> Clone for Cow<'_, B>
where B: ToOwned + ?Sized,

source§

fn clone(&self) -> Cow<'_, B>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &Cow<'_, B>)

Performs copy-assignment from source. Read more
source§

impl<C> Connection for Cow<'_, C>
where C: Connection + ToOwned + ?Sized,

source§

fn wait_for_event(&self) -> Result<Event, ConnectionError>

Wait for a new event from the X11 server.
source§

fn wait_for_raw_event( &self, ) -> Result<<Cow<'_, C> as RequestConnection>::Buf, ConnectionError>

Wait for a new raw/unparsed event from the X11 server.
source§

fn wait_for_event_with_sequence(&self) -> Result<(Event, u64), ConnectionError>

Wait for a new event from the X11 server.
source§

fn wait_for_raw_event_with_sequence( &self, ) -> Result<(<Cow<'_, C> as RequestConnection>::Buf, u64), ConnectionError>

Wait for a new raw/unparsed event from the X11 server.
source§

fn poll_for_event(&self) -> Result<Option<Event>, ConnectionError>

Poll for a new event from the X11 server.
source§

fn poll_for_raw_event( &self, ) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>

Poll for a new raw/unparsed event from the X11 server.
source§

fn poll_for_event_with_sequence( &self, ) -> Result<Option<(Event, u64)>, ConnectionError>

Poll for a new event from the X11 server.
source§

fn poll_for_raw_event_with_sequence( &self, ) -> Result<Option<(<Cow<'_, C> as RequestConnection>::Buf, u64)>, ConnectionError>

Poll for a new unparsed/raw event from the X11 server.
source§

fn flush(&self) -> Result<(), ConnectionError>

Send all pending requests to the server. Read more
source§

fn setup(&self) -> &Setup

Get the setup information sent by the X11 server. Read more
source§

fn generate_id(&self) -> Result<u32, ReplyOrIdError>

Generate a new X11 identifier. Read more
1.0.0 · source§

impl<B> Debug for Cow<'_, B>
where B: Debug + ToOwned + ?Sized, <B as ToOwned>::Owned: Debug,

source§

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

Formats the value using the given formatter. Read more
1.11.0 · source§

impl<B> Default for Cow<'_, B>
where B: ToOwned + ?Sized, <B as ToOwned>::Owned: Default,

source§

fn default() -> Cow<'_, B>

Creates an owned Cow<’a, B> with the default value for the contained owned value.

source§

impl<'de, 'a, T> Deserialize<'de> for Cow<'a, T>
where T: ToOwned + ?Sized, <T as ToOwned>::Owned: Deserialize<'de>,

source§

fn deserialize<D>( deserializer: D, ) -> Result<Cow<'a, T>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
1.0.0 · source§

impl<B> Display for Cow<'_, B>
where B: Display + ToOwned + ?Sized, <B as ToOwned>::Owned: Display,

source§

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

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

impl<T> EncodeAsVarULE<T> for Cow<'_, T>
where T: VarULE + ToOwned + ?Sized,

source§

fn encode_var_ule_as_slices<R>(&self, cb: impl FnOnce(&[&[u8]]) -> R) -> R

Calls cb with a piecewise list of byte slices that when concatenated produce the memory pattern of the corresponding instance of T. Read more
source§

fn encode_var_ule_len(&self) -> usize

Return the length, in bytes, of the corresponding VarULE type
source§

fn encode_var_ule_write(&self, dst: &mut [u8])

Write the corresponding VarULE type to the dst buffer. dst should be the size of Self::encode_var_ule_len()
1.28.0 · source§

impl<'a> From<&'a String> for Cow<'a, str>

source§

fn from(s: &'a String) -> Cow<'a, str>

Converts a String reference into a Borrowed variant. No heap allocation is performed, and the string is not copied.

§Example
let s = "eggplant".to_string();
assert_eq!(Cow::from(&s), Cow::Borrowed("eggplant"));
1.0.0 · source§

impl<'a> From<&'a str> for Cow<'a, str>

source§

fn from(s: &'a str) -> Cow<'a, str>

Converts a string slice into a Borrowed variant. No heap allocation is performed, and the string is not copied.

§Example
assert_eq!(Cow::from("eggplant"), Cow::Borrowed("eggplant"));
source§

impl<'a> From<PercentEncode<'a>> for Cow<'a, str>

source§

fn from(iter: PercentEncode<'a>) -> Cow<'a, str>

Converts to this type from the input type.
1.0.0 · source§

impl<'a> From<String> for Cow<'a, str>

source§

fn from(s: String) -> Cow<'a, str>

Converts a String into an Owned variant. No heap allocation is performed, and the string is not copied.

§Example
let s = "eggplant".to_string();
let s2 = "eggplant".to_string();
assert_eq!(Cow::from(s), Cow::<'static, str>::Owned(s2));
1.12.0 · source§

impl<'a, 'b> FromIterator<&'b str> for Cow<'a, str>

source§

fn from_iter<I>(it: I) -> Cow<'a, str>
where I: IntoIterator<Item = &'b str>,

Creates a value from an iterator. Read more
1.12.0 · source§

impl<'a> FromIterator<String> for Cow<'a, str>

source§

fn from_iter<I>(it: I) -> Cow<'a, str>
where I: IntoIterator<Item = String>,

Creates a value from an iterator. Read more
1.12.0 · source§

impl<'a> FromIterator<char> for Cow<'a, str>

source§

fn from_iter<I>(it: I) -> Cow<'a, str>
where I: IntoIterator<Item = char>,

Creates a value from an iterator. Read more
1.0.0 · source§

impl<B> Hash for Cow<'_, B>
where B: Hash + ToOwned + ?Sized,

source§

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

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<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>
where E: Error,

source§

type Deserializer = CowStrDeserializer<'a, E>

The type of the deserializer being converted into.
source§

fn into_deserializer(self) -> CowStrDeserializer<'a, E>

Convert this value into a deserializer.
source§

impl<'a> IntoFragment<'a> for Cow<'a, str>

source§

fn into_fragment(self) -> Cow<'a, str>

Converts the value to some text Fragment.
1.0.0 · source§

impl<B> Ord for Cow<'_, B>
where B: Ord + ToOwned + ?Sized,

source§

fn cmp(&self, other: &Cow<'_, B>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
1.0.0 · source§

impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>

source§

fn eq(&self, other: &&'b str) -> bool

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

fn ne(&self, other: &&'b str) -> bool

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

impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B>
where B: PartialEq<C> + ToOwned + ?Sized, C: ToOwned + ?Sized,

source§

fn eq(&self, other: &Cow<'b, C>) -> 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.
1.0.0 · source§

impl<'a, 'b> PartialEq<String> for Cow<'a, str>

source§

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

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

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

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

impl<'a, 'b> PartialEq<str> for Cow<'a, str>

source§

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

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

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

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

impl<'a, B> PartialOrd for Cow<'a, B>
where B: PartialOrd + ToOwned + ?Sized,

source§

fn partial_cmp(&self, other: &Cow<'a, B>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<C> RequestConnection for Cow<'_, C>

source§

type Buf = <C as RequestConnection>::Buf

Type used as buffer to store raw replies or events before they are parsed.
source§

fn send_request_with_reply<R>( &self, bufs: &[IoSlice<'_>], fds: Vec<OwnedFd>, ) -> Result<Cookie<'_, Cow<'_, C>, R>, ConnectionError>
where R: TryParse,

Send a request with a reply to the server. Read more
source§

fn send_trait_request_with_reply<R>( &self, request: R, ) -> Result<Cookie<'_, Cow<'_, C>, <R as ReplyRequest>::Reply>, ConnectionError>
where R: ReplyRequest,

Send a request with a reply to the server. Read more
source§

fn send_request_with_reply_with_fds<R>( &self, bufs: &[IoSlice<'_>], fds: Vec<OwnedFd>, ) -> Result<CookieWithFds<'_, Cow<'_, C>, R>, ConnectionError>
where R: TryParseFd,

Send a request with a reply containing file descriptors to the server. Read more
source§

fn send_trait_request_with_reply_with_fds<R>( &self, request: R, ) -> Result<CookieWithFds<'_, Cow<'_, C>, <R as ReplyFDsRequest>::Reply>, ConnectionError>
where R: ReplyFDsRequest,

Send a request with a reply containing file descriptors to the server. Read more
source§

fn send_request_without_reply( &self, bufs: &[IoSlice<'_>], fds: Vec<OwnedFd>, ) -> Result<VoidCookie<'_, Cow<'_, C>>, ConnectionError>

Send a request without a reply to the server. Read more
source§

fn send_trait_request_without_reply<R>( &self, request: R, ) -> Result<VoidCookie<'_, Cow<'_, C>>, ConnectionError>
where R: VoidRequest,

Send a request without a reply to the server. Read more
source§

fn discard_reply(&self, sequence: u64, kind: RequestKind, mode: DiscardMode)

A reply to an error should be discarded. Read more
source§

fn prefetch_extension_information( &self, extension_name: &'static str, ) -> Result<(), ConnectionError>

Prefetches information about an extension. Read more
source§

fn extension_information( &self, extension_name: &'static str, ) -> Result<Option<ExtensionInformation>, ConnectionError>

Get information about an extension. Read more
source§

fn wait_for_reply_or_error( &self, sequence: u64, ) -> Result<<Cow<'_, C> as RequestConnection>::Buf, ReplyError>

Wait for the reply to a request. Read more
source§

fn wait_for_reply_or_raw_error( &self, sequence: u64, ) -> Result<ReplyOrError<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>

Wait for the reply to a request. Read more
source§

fn wait_for_reply( &self, sequence: u64, ) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>

Wait for the reply to a request. Read more
source§

fn wait_for_reply_with_fds( &self, sequence: u64, ) -> Result<(<Cow<'_, C> as RequestConnection>::Buf, Vec<OwnedFd>), ReplyError>

Wait for the reply to a request that has FDs. Read more
source§

fn wait_for_reply_with_fds_raw( &self, sequence: u64, ) -> Result<ReplyOrError<(<Cow<'_, C> as RequestConnection>::Buf, Vec<OwnedFd>), <Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>

Wait for the reply to a request that has FDs. Read more
source§

fn check_for_error(&self, sequence: u64) -> Result<(), ReplyError>

Check whether a request that does not have a reply caused an X11 error. Read more
source§

fn check_for_raw_error( &self, sequence: u64, ) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>

Check whether a request that does not have a reply caused an X11 error. Read more
source§

fn prefetch_maximum_request_bytes(&self)

Prefetches the maximum request length. Read more
source§

fn maximum_request_bytes(&self) -> usize

The maximum number of bytes that the X11 server accepts in a request.
source§

fn parse_error(&self, error: &[u8]) -> Result<X11Error, ParseError>

Parse a generic error.
source§

fn parse_event(&self, event: &[u8]) -> Result<Event, ParseError>

Parse a generic event.
source§

impl<'a, T> Serialize for Cow<'a, T>
where T: Serialize + ToOwned + ?Sized,

source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<T> Type for Cow<'_, T>
where T: Type + ToOwned + ?Sized,

source§

fn signature() -> Signature<'static>

Get the signature for the implementing type. Read more
source§

impl<'a, T> Writeable for Cow<'a, T>
where T: Writeable + ToOwned + ?Sized,

source§

fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
where W: Write + ?Sized,

Writes a string to the given sink. Errors from the sink are bubbled up. The default implementation delegates to write_to_parts, and discards any Part annotations.
source§

fn write_to_parts<W>(&self, sink: &mut W) -> Result<(), Error>
where W: PartsWrite + ?Sized,

Write bytes and Part annotations to the given sink. Errors from the sink are bubbled up. The default implementation delegates to write_to, and doesn’t produce any Part annotations.
source§

fn writeable_length_hint(&self) -> LengthHint

Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
source§

fn write_to_string(&self) -> Cow<'_, str>

Creates a new String with the data from this Writeable. Like ToString, but smaller and faster. Read more
source§

fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

Compares the contents of this Writeable to the given bytes without allocating a String to hold the Writeable contents. Read more
source§

impl<'a, T> Yokeable<'a> for Cow<'static, T>
where T: 'static + ToOwned + ?Sized, <T as ToOwned>::Owned: Sized,

source§

type Output = Cow<'a, T>

This type MUST be Self with the 'static replaced with 'a, i.e. Self<'a>
source§

fn transform(&'a self) -> &'a Cow<'a, T>

This method must cast self between &'a Self<'static> and &'a Self<'a>. Read more
source§

fn transform_owned(self) -> Cow<'a, T>

This method must cast self between Self<'static> and Self<'a>. Read more
source§

unsafe fn make(from: Cow<'a, T>) -> Cow<'static, T>

This method can be used to cast away Self<'a>’s lifetime. Read more
source§

fn transform_mut<F>(&'a mut self, f: F)
where F: 'static + for<'b> FnOnce(&'b mut <Cow<'static, T> as Yokeable<'a>>::Output),

This method must cast self between &'a mut Self<'static> and &'a mut Self<'a>, and pass it to f. Read more
source§

impl<'zf, B> ZeroFrom<'zf, Cow<'_, B>> for Cow<'zf, B>
where B: ToOwned + ?Sized,

source§

fn zero_from(other: &'zf Cow<'_, B>) -> Cow<'zf, B>

Clone the other C into a struct that may retain references into C.
source§

impl<'zf> ZeroFrom<'zf, String> for Cow<'zf, str>

source§

fn zero_from(other: &'zf String) -> Cow<'zf, str>

Clone the other C into a struct that may retain references into C.
source§

impl<'zf> ZeroFrom<'zf, str> for Cow<'zf, str>

source§

fn zero_from(other: &'zf str) -> Cow<'zf, str>

Clone the other C into a struct that may retain references into C.
1.0.0 · source§

impl<B> Deref for Cow<'_, B>
where B: ToOwned + ?Sized, <B as ToOwned>::Owned: Borrow<B>,

source§

type Target = B

The resulting type after dereferencing.
source§

fn deref(&self) -> &B

Dereferences the value.
source§

impl<B> DerefPure for Cow<'_, B>
where B: ToOwned + ?Sized, <B as ToOwned>::Owned: Borrow<B>,

1.0.0 · source§

impl<B> Eq for Cow<'_, B>
where B: Eq + ToOwned + ?Sized,