pub enum Cow<'a, B>where
B: 'a + ToOwned + ?Sized,{
Borrowed(&'a B),
Owned(<B as ToOwned>::Owned),
}
Expand description
A clone-on-write smart pointer.
The type Cow
is a smart pointer providing clone-on-write functionality: it
can enclose and provide immutable access to borrowed data, and clone the
data lazily when mutation or ownership is required. The type is designed to
work with general borrowed data via the Borrow
trait.
Cow
implements Deref
, which means that you can call
non-mutating methods directly on the data it encloses. If mutation
is desired, to_mut
will obtain a mutable reference to an owned
value, cloning if necessary.
If you need reference-counting pointers, note that
Rc::make_mut
and
Arc::make_mut
can provide clone-on-write
functionality as well.
Examples
use std::borrow::Cow;
fn abs_all(input: &mut Cow<'_, [i32]>) {
for i in 0..input.len() {
let v = input[i];
if v < 0 {
// Clones into a vector if not already owned.
input.to_mut()[i] = -v;
}
}
}
// No clone occurs because `input` doesn't need to be mutated.
let slice = [0, 1, 2];
let mut input = Cow::from(&slice[..]);
abs_all(&mut input);
// Clone occurs because `input` needs to be mutated.
let slice = [-1, 0, 1];
let mut input = Cow::from(&slice[..]);
abs_all(&mut input);
// No clone occurs because `input` is already owned.
let mut input = Cow::from(vec![-1, 0, 1]);
abs_all(&mut input);
Another example showing how to keep Cow
in a struct:
use std::borrow::Cow;
struct Items<'a, X> where [X]: ToOwned<Owned = Vec<X>> {
values: Cow<'a, [X]>,
}
impl<'a, X: Clone + 'a> Items<'a, X> where [X]: ToOwned<Owned = Vec<X>> {
fn new(v: Cow<'a, [X]>) -> Self {
Items { values: v }
}
}
// Creates a container from borrowed values of a slice
let readonly = [1, 2];
let borrowed = Items::new((&readonly[..]).into());
match borrowed {
Items { values: Cow::Borrowed(b) } => println!("borrowed {b:?}"),
_ => panic!("expect borrowed value"),
}
let mut clone_on_write = borrowed;
// Mutates the data from slice into owned vec and pushes a new value on top
clone_on_write.values.to_mut().push(3);
println!("clone_on_write = {:?}", clone_on_write.values);
// The data was mutated. Let's check it out.
match clone_on_write {
Items { values: Cow::Owned(_) } => println!("clone_on_write contains owned data"),
_ => panic!("expect owned data"),
}
Variants§
Implementations§
source§impl<B> Cow<'_, B>where
B: ToOwned + ?Sized,
impl<B> Cow<'_, B>where B: ToOwned + ?Sized,
const: unstable · sourcepub fn is_borrowed(&self) -> bool
🔬This is a nightly-only experimental API. (cow_is_borrowed
)
pub fn is_borrowed(&self) -> bool
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());
const: unstable · sourcepub fn is_owned(&self) -> bool
🔬This is a nightly-only experimental API. (cow_is_borrowed
)
pub fn is_owned(&self) -> bool
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());
sourcepub fn to_mut(&mut self) -> &mut <B as ToOwned>::Owned
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>
);
sourcepub fn into_owned(self) -> <B as ToOwned>::Owned
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> AddAssign<&'a str> for Cow<'a, str>
impl<'a> AddAssign<&'a str> for Cow<'a, str>
source§fn add_assign(&mut self, rhs: &'a str)
fn add_assign(&mut self, rhs: &'a str)
+=
operation. Read more§impl<'a> Arg for Cow<'a, CStr>
impl<'a> Arg for Cow<'a, CStr>
§fn to_string_lossy(&self) -> Cow<'_, str>
fn to_string_lossy(&self) -> Cow<'_, str>
Cow<'_, str>
.§fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
CStr
.§impl<'a> Arg for Cow<'a, CStr>
impl<'a> Arg for Cow<'a, CStr>
§fn to_string_lossy(&self) -> Cow<'_, str>
fn to_string_lossy(&self) -> Cow<'_, str>
Cow<'_, str>
.§fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
CStr
.§impl<'a> Arg for Cow<'a, OsStr>
impl<'a> Arg for Cow<'a, OsStr>
§fn to_string_lossy(&self) -> Cow<'_, str>
fn to_string_lossy(&self) -> Cow<'_, str>
Cow<'_, str>
.§fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
CStr
.§impl<'a> Arg for Cow<'a, OsStr>
impl<'a> Arg for Cow<'a, OsStr>
§fn to_string_lossy(&self) -> Cow<'_, str>
fn to_string_lossy(&self) -> Cow<'_, str>
Cow<'_, str>
.§fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
CStr
.§impl<'a> Arg for Cow<'a, str>
impl<'a> Arg for Cow<'a, str>
§fn to_string_lossy(&self) -> Cow<'_, str>
fn to_string_lossy(&self) -> Cow<'_, str>
Cow<'_, str>
.§fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
CStr
.§impl<'a> Arg for Cow<'a, str>
impl<'a> Arg for Cow<'a, str>
§fn to_string_lossy(&self) -> Cow<'_, str>
fn to_string_lossy(&self) -> Cow<'_, str>
Cow<'_, str>
.§fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
CStr
.§impl<T> AsRawXcbConnection for Cow<'_, T>where
T: AsRawXcbConnection + ToOwned + ?Sized,
impl<T> AsRawXcbConnection for Cow<'_, T>where T: AsRawXcbConnection + ToOwned + ?Sized,
§fn as_raw_xcb_connection(&self) -> *mut xcb_connection_t
fn as_raw_xcb_connection(&self) -> *mut xcb_connection_t
§impl<C> Connection for Cow<'_, C>where
C: Connection + ToOwned + ?Sized,
impl<C> Connection for Cow<'_, C>where C: Connection + ToOwned + ?Sized,
§fn wait_for_event(&self) -> Result<Event, ConnectionError>
fn wait_for_event(&self) -> Result<Event, ConnectionError>
§fn wait_for_raw_event(
&self
) -> Result<<Cow<'_, C> as RequestConnection>::Buf, ConnectionError>
fn wait_for_raw_event( &self ) -> Result<<Cow<'_, C> as RequestConnection>::Buf, ConnectionError>
§fn wait_for_event_with_sequence(&self) -> Result<(Event, u64), ConnectionError>
fn wait_for_event_with_sequence(&self) -> Result<(Event, u64), ConnectionError>
§fn wait_for_raw_event_with_sequence(
&self
) -> Result<(<Cow<'_, C> as RequestConnection>::Buf, u64), ConnectionError>
fn wait_for_raw_event_with_sequence( &self ) -> Result<(<Cow<'_, C> as RequestConnection>::Buf, u64), ConnectionError>
§fn poll_for_event(&self) -> Result<Option<Event>, ConnectionError>
fn poll_for_event(&self) -> Result<Option<Event>, ConnectionError>
§fn poll_for_raw_event(
&self
) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>
fn poll_for_raw_event( &self ) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>
§fn poll_for_event_with_sequence(
&self
) -> Result<Option<(Event, u64)>, ConnectionError>
fn poll_for_event_with_sequence( &self ) -> Result<Option<(Event, u64)>, ConnectionError>
§fn poll_for_raw_event_with_sequence(
&self
) -> Result<Option<(<Cow<'_, C> as RequestConnection>::Buf, u64)>, ConnectionError>
fn poll_for_raw_event_with_sequence( &self ) -> Result<Option<(<Cow<'_, C> as RequestConnection>::Buf, u64)>, ConnectionError>
§fn generate_id(&self) -> Result<u32, ReplyOrIdError>
fn generate_id(&self) -> Result<u32, ReplyOrIdError>
1.11.0 · source§impl<B> Default for Cow<'_, B>where
B: ToOwned + ?Sized,
<B as ToOwned>::Owned: Default,
impl<B> Default for Cow<'_, B>where B: ToOwned + ?Sized, <B as ToOwned>::Owned: Default,
source§impl<'de, 'a, T> Deserialize<'de> for Cow<'a, T>where
T: ToOwned + ?Sized,
<T as ToOwned>::Owned: Deserialize<'de>,
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>,
fn deserialize<D>( deserializer: D ) -> Result<Cow<'a, T>, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,
source§impl<B> Display for Cow<'_, B>where
B: Display + ToOwned + ?Sized,
<B as ToOwned>::Owned: Display,
impl<B> Display for Cow<'_, B>where B: Display + ToOwned + ?Sized, <B as ToOwned>::Owned: Display,
1.19.0 · source§impl<'a> Extend<Cow<'a, str>> for String
impl<'a> Extend<Cow<'a, str>> for String
source§fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Cow<'a, str>>,
fn extend<I>(&mut self, iter: I)where I: IntoIterator<Item = Cow<'a, str>>,
source§fn extend_one(&mut self, s: Cow<'a, str>)
fn extend_one(&mut self, s: Cow<'a, str>)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)§impl<'a> From<&'a Rope> for Cow<'a, str>
impl<'a> From<&'a Rope> for Cow<'a, str>
Attempts to borrow the contents of the Rope
, but will convert to an
owned string if the contents is not contiguous in memory.
Runs in best case O(1), worst case O(N).
1.45.0 · source§impl From<Cow<'_, str>> for Box<str>
impl From<Cow<'_, str>> for Box<str>
source§fn from(cow: Cow<'_, str>) -> Box<str>
fn from(cow: Cow<'_, str>) -> Box<str>
Converts a Cow<'_, str>
into a Box<str>
When cow
is the Cow::Borrowed
variant, this
conversion allocates on the heap and copies the
underlying str
. Otherwise, it will try to reuse the owned
String
’s allocation.
Examples
use std::borrow::Cow;
let unboxed = Cow::Borrowed("hello");
let boxed: Box<str> = Box::from(unboxed);
println!("{boxed}");
let unboxed = Cow::Owned("hello".to_string());
let boxed: Box<str> = Box::from(unboxed);
println!("{boxed}");
1.14.0 · source§impl<'a, T> From<Cow<'a, [T]>> for Vec<T>where
[T]: ToOwned<Owned = Vec<T>>,
impl<'a, T> From<Cow<'a, [T]>> for Vec<T>where [T]: ToOwned<Owned = Vec<T>>,
source§fn from(s: Cow<'a, [T]>) -> Vec<T>
fn from(s: Cow<'a, [T]>) -> Vec<T>
Convert a clone-on-write slice into a vector.
If s
already owns a Vec<T>
, it will be returned directly.
If s
is borrowing a slice, a new Vec<T>
will be allocated and
filled by cloning s
’s items into it.
Examples
let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);
let b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);
assert_eq!(Vec::from(o), Vec::from(b));
1.45.0 · source§impl<'a, B> From<Cow<'a, B>> for Arc<B>where
B: ToOwned + ?Sized,
Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,
impl<'a, B> From<Cow<'a, B>> for Arc<B>where B: ToOwned + ?Sized, Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,
1.45.0 · source§impl<'a, B> From<Cow<'a, B>> for Rc<B>where
B: ToOwned + ?Sized,
Rc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,
impl<'a, B> From<Cow<'a, B>> for Rc<B>where B: ToOwned + ?Sized, Rc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,
1.22.0 · source§impl<'a> From<Cow<'a, str>> for Box<dyn Error>
impl<'a> From<Cow<'a, str>> for Box<dyn Error>
1.14.0 · source§impl<'a> From<Cow<'a, str>> for String
impl<'a> From<Cow<'a, str>> for String
source§fn from(s: Cow<'a, str>) -> String
fn from(s: Cow<'a, str>) -> String
Converts a clone-on-write string to an owned
instance of String
.
This extracts the owned string, clones the string if it is not already owned.
Example
// If the string is not owned...
let cow: Cow<'_, str> = Cow::Borrowed("eggplant");
// It will allocate on the heap and copy the string.
let owned: String = String::from(cow);
assert_eq!(&owned[..], "eggplant");
1.22.0 · source§impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>
impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>
source§fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>
fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>
Converts a Cow
into a box of dyn Error
+ Send
+ Sync
.
Examples
use std::error::Error;
use std::mem;
use std::borrow::Cow;
let a_cow_str_error = Cow::from("a str error");
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);
assert!(
mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
§impl<'a> From<RopeSlice<'a>> for Cow<'a, str>
impl<'a> From<RopeSlice<'a>> for Cow<'a, str>
Attempts to borrow the contents of the slice, but will convert to an owned string if the contents is not contiguous in memory.
Runs in best case O(1), worst case O(N).
§impl<'a> FromIterator<Cow<'a, str>> for Rope
impl<'a> FromIterator<Cow<'a, str>> for Rope
§impl<'a> FromParallelIterator<Cow<'a, str>> for String
impl<'a> FromParallelIterator<Cow<'a, str>> for String
Collects string slices from a parallel iterator into a string.
§impl<'a, C, T> FromParallelIterator<T> for Cow<'a, C>where
C: ToOwned + ?Sized,
<C as ToOwned>::Owned: FromParallelIterator<T>,
T: Send,
impl<'a, C, T> FromParallelIterator<T> for Cow<'a, C>where C: ToOwned + ?Sized, <C as ToOwned>::Owned: FromParallelIterator<T>, T: Send,
Collects an arbitrary Cow
collection.
Note, the standard library only has FromIterator
for Cow<'a, str>
and
Cow<'a, [T]>
, because no one thought to add a blanket implementation
before it was stabilized.
§fn from_par_iter<I>(par_iter: I) -> Cow<'a, C>where
I: IntoParallelIterator<Item = T>,
fn from_par_iter<I>(par_iter: I) -> Cow<'a, C>where I: IntoParallelIterator<Item = T>,
par_iter
. Read moresource§impl<T> IdentFragment for Cow<'_, T>where
T: IdentFragment + ToOwned + ?Sized,
impl<T> IdentFragment for Cow<'_, T>where T: IdentFragment + ToOwned + ?Sized,
source§impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>where
E: Error,
impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>where E: Error,
§type Deserializer = CowStrDeserializer<'a, E>
type Deserializer = CowStrDeserializer<'a, E>
source§fn into_deserializer(self) -> CowStrDeserializer<'a, E>
fn into_deserializer(self) -> CowStrDeserializer<'a, E>
source§impl<B> Ord for Cow<'_, B>where
B: Ord + ToOwned + ?Sized,
impl<B> Ord for Cow<'_, B>where B: Ord + ToOwned + ?Sized,
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
§impl<'a> ParallelExtend<Cow<'a, str>> for String
impl<'a> ParallelExtend<Cow<'a, str>> for String
Extends a string with string slices from a parallel iterator.
§fn par_extend<I>(&mut self, par_iter: I)where
I: IntoParallelIterator<Item = Cow<'a, str>>,
fn par_extend<I>(&mut self, par_iter: I)where I: IntoParallelIterator<Item = Cow<'a, str>>,
par_iter
. Read moresource§impl<T, U> PartialEq<&mut [U]> for Cow<'_, [T]>where
T: PartialEq<U> + Clone,
impl<T, U> PartialEq<&mut [U]> for Cow<'_, [T]>where T: PartialEq<U> + Clone,
1.8.0 · source§impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for &'b OsStr
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for &'b OsStr
1.8.0 · source§impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsStr
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsStr
1.8.0 · source§impl<'a> PartialEq<Cow<'a, OsStr>> for Path
impl<'a> PartialEq<Cow<'a, OsStr>> for Path
1.8.0 · source§impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b OsStr
impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b OsStr
1.6.0 · source§impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b Path
impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b Path
1.8.0 · source§impl<'a> PartialEq<Cow<'a, Path>> for OsStr
impl<'a> PartialEq<Cow<'a, Path>> for OsStr
1.6.0 · source§impl<'a> PartialEq<Cow<'a, Path>> for Path
impl<'a> PartialEq<Cow<'a, Path>> for Path
source§impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str
impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str
source§impl<'a, 'b> PartialEq<Cow<'a, str>> for String
impl<'a, 'b> PartialEq<Cow<'a, str>> for String
source§impl<'a, 'b> PartialEq<Cow<'a, str>> for str
impl<'a, 'b> PartialEq<Cow<'a, str>> for str
source§impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B>where
B: PartialEq<C> + ToOwned + ?Sized,
C: ToOwned + ?Sized,
impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B>where B: PartialEq<C> + ToOwned + ?Sized, C: ToOwned + ?Sized,
1.8.0 · source§impl<'a, 'b> PartialEq<Cow<'b, OsStr>> for &'a Path
impl<'a, 'b> PartialEq<Cow<'b, OsStr>> for &'a Path
source§impl<T, U, A> PartialEq<Vec<U, A>> for Cow<'_, [T]>where
A: Allocator,
T: PartialEq<U> + Clone,
impl<T, U, A> PartialEq<Vec<U, A>> for Cow<'_, [T]>where A: Allocator, T: PartialEq<U> + Clone,
1.8.0 · source§impl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, OsStr>
impl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, OsStr>
1.8.0 · source§impl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, Path>
impl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, Path>
1.8.0 · source§impl<'a, 'b> PartialOrd<&'b Path> for Cow<'a, Path>
impl<'a, 'b> PartialOrd<&'b Path> for Cow<'a, Path>
1.8.0 · source§impl<'a, 'b> PartialOrd<&'a Path> for Cow<'b, OsStr>
impl<'a, 'b> PartialOrd<&'a Path> for Cow<'b, OsStr>
§impl<'a, 'b> PartialOrd<&'b Utf8Path> for Cow<'a, Utf8Path>
impl<'a, 'b> PartialOrd<&'b Utf8Path> for Cow<'a, Utf8Path>
§impl<'a, 'b> PartialOrd<&'a Utf8Path> for Cow<'b, OsStr>
impl<'a, 'b> PartialOrd<&'a Utf8Path> for Cow<'b, OsStr>
§impl<'a, 'b> PartialOrd<&'a Utf8Path> for Cow<'b, Path>
impl<'a, 'b> PartialOrd<&'a Utf8Path> for Cow<'b, Path>
§impl<'a, 'b> PartialOrd<&'a Utf8Path> for Cow<'b, str>
impl<'a, 'b> PartialOrd<&'a Utf8Path> for Cow<'b, str>
1.8.0 · source§impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for &'b OsStr
impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for &'b OsStr
1.8.0 · source§impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsStr
impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsStr
1.8.0 · source§impl<'a> PartialOrd<Cow<'a, OsStr>> for Path
impl<'a> PartialOrd<Cow<'a, OsStr>> for Path
§impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for Utf8Path
impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for Utf8Path
1.8.0 · source§impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b OsStr
impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b OsStr
1.8.0 · source§impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b Path
impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b Path
1.8.0 · source§impl<'a> PartialOrd<Cow<'a, Path>> for OsStr
impl<'a> PartialOrd<Cow<'a, Path>> for OsStr
1.8.0 · source§impl<'a> PartialOrd<Cow<'a, Path>> for Path
impl<'a> PartialOrd<Cow<'a, Path>> for Path
§impl<'a, 'b> PartialOrd<Cow<'a, Path>> for Utf8Path
impl<'a, 'b> PartialOrd<Cow<'a, Path>> for Utf8Path
§impl<'a, 'b> PartialOrd<Cow<'a, Utf8Path>> for &'b Utf8Path
impl<'a, 'b> PartialOrd<Cow<'a, Utf8Path>> for &'b Utf8Path
§impl<'a, 'b> PartialOrd<Cow<'a, Utf8Path>> for Utf8Path
impl<'a, 'b> PartialOrd<Cow<'a, Utf8Path>> for Utf8Path
§impl<'a, 'b> PartialOrd<Cow<'a, str>> for Utf8Path
impl<'a, 'b> PartialOrd<Cow<'a, str>> for Utf8Path
1.8.0 · source§impl<'a, 'b> PartialOrd<Cow<'b, OsStr>> for &'a Path
impl<'a, 'b> PartialOrd<Cow<'b, OsStr>> for &'a Path
§impl<'a, 'b> PartialOrd<Cow<'b, OsStr>> for &'a Utf8Path
impl<'a, 'b> PartialOrd<Cow<'b, OsStr>> for &'a Utf8Path
§impl<'a, 'b> PartialOrd<Cow<'b, Path>> for &'a Utf8Path
impl<'a, 'b> PartialOrd<Cow<'b, Path>> for &'a Utf8Path
§impl<'a, 'b> PartialOrd<Cow<'b, str>> for &'a Utf8Path
impl<'a, 'b> PartialOrd<Cow<'b, str>> for &'a Utf8Path
1.8.0 · source§impl<'a, 'b> PartialOrd<OsStr> for Cow<'a, OsStr>
impl<'a, 'b> PartialOrd<OsStr> for Cow<'a, OsStr>
1.8.0 · source§impl<'a> PartialOrd<OsStr> for Cow<'a, Path>
impl<'a> PartialOrd<OsStr> for Cow<'a, Path>
1.8.0 · source§impl<'a, 'b> PartialOrd<OsString> for Cow<'a, OsStr>
impl<'a, 'b> PartialOrd<OsString> for Cow<'a, OsStr>
1.8.0 · source§impl<'a> PartialOrd<OsString> for Cow<'a, Path>
impl<'a> PartialOrd<OsString> for Cow<'a, Path>
1.8.0 · source§impl<'a> PartialOrd<Path> for Cow<'a, OsStr>
impl<'a> PartialOrd<Path> for Cow<'a, OsStr>
1.8.0 · source§impl<'a> PartialOrd<Path> for Cow<'a, Path>
impl<'a> PartialOrd<Path> for Cow<'a, Path>
1.8.0 · source§impl<'a> PartialOrd<PathBuf> for Cow<'a, OsStr>
impl<'a> PartialOrd<PathBuf> for Cow<'a, OsStr>
1.8.0 · source§impl<'a> PartialOrd<PathBuf> for Cow<'a, Path>
impl<'a> PartialOrd<PathBuf> for Cow<'a, Path>
§impl<'a, 'b> PartialOrd<Utf8Path> for Cow<'a, OsStr>
impl<'a, 'b> PartialOrd<Utf8Path> for Cow<'a, OsStr>
§impl<'a, 'b> PartialOrd<Utf8Path> for Cow<'a, Path>
impl<'a, 'b> PartialOrd<Utf8Path> for Cow<'a, Path>
§impl<'a, 'b> PartialOrd<Utf8Path> for Cow<'a, Utf8Path>
impl<'a, 'b> PartialOrd<Utf8Path> for Cow<'a, Utf8Path>
§impl<'a, 'b> PartialOrd<Utf8Path> for Cow<'a, str>
impl<'a, 'b> PartialOrd<Utf8Path> for Cow<'a, str>
§impl<'a, 'b> PartialOrd<Utf8PathBuf> for Cow<'a, OsStr>
impl<'a, 'b> PartialOrd<Utf8PathBuf> for Cow<'a, OsStr>
§impl<'a, 'b> PartialOrd<Utf8PathBuf> for Cow<'a, Path>
impl<'a, 'b> PartialOrd<Utf8PathBuf> for Cow<'a, Path>
§impl<'a, 'b> PartialOrd<Utf8PathBuf> for Cow<'a, Utf8Path>
impl<'a, 'b> PartialOrd<Utf8PathBuf> for Cow<'a, Utf8Path>
§impl<'a, 'b> PartialOrd<Utf8PathBuf> for Cow<'a, str>
impl<'a, 'b> PartialOrd<Utf8PathBuf> for Cow<'a, str>
source§impl<'a, B> PartialOrd for Cow<'a, B>where
B: PartialOrd + ToOwned + ?Sized,
impl<'a, B> PartialOrd for Cow<'a, B>where B: PartialOrd + ToOwned + ?Sized,
§impl<C> RequestConnection for Cow<'_, C>where
C: RequestConnection + ToOwned + ?Sized,
impl<C> RequestConnection for Cow<'_, C>where C: RequestConnection + ToOwned + ?Sized,
§type Buf = <C as RequestConnection>::Buf
type Buf = <C as RequestConnection>::Buf
§fn send_request_with_reply<R>(
&self,
bufs: &[IoSlice<'_>],
fds: Vec<OwnedFd>
) -> Result<Cookie<'_, Cow<'_, C>, R>, ConnectionError>where
R: TryParse,
fn send_request_with_reply<R>( &self, bufs: &[IoSlice<'_>], fds: Vec<OwnedFd> ) -> Result<Cookie<'_, Cow<'_, C>, R>, ConnectionError>where R: TryParse,
§fn send_trait_request_with_reply<R>(
&self,
request: R
) -> Result<Cookie<'_, Cow<'_, C>, <R as ReplyRequest>::Reply>, ConnectionError>where
R: ReplyRequest,
fn send_trait_request_with_reply<R>( &self, request: R ) -> Result<Cookie<'_, Cow<'_, C>, <R as ReplyRequest>::Reply>, ConnectionError>where R: ReplyRequest,
§fn send_request_with_reply_with_fds<R>(
&self,
bufs: &[IoSlice<'_>],
fds: Vec<OwnedFd>
) -> Result<CookieWithFds<'_, Cow<'_, C>, R>, ConnectionError>where
R: TryParseFd,
fn send_request_with_reply_with_fds<R>( &self, bufs: &[IoSlice<'_>], fds: Vec<OwnedFd> ) -> Result<CookieWithFds<'_, Cow<'_, C>, R>, ConnectionError>where R: TryParseFd,
§fn send_trait_request_with_reply_with_fds<R>(
&self,
request: R
) -> Result<CookieWithFds<'_, Cow<'_, C>, <R as ReplyFDsRequest>::Reply>, ConnectionError>where
R: ReplyFDsRequest,
fn send_trait_request_with_reply_with_fds<R>( &self, request: R ) -> Result<CookieWithFds<'_, Cow<'_, C>, <R as ReplyFDsRequest>::Reply>, ConnectionError>where R: ReplyFDsRequest,
§fn send_request_without_reply(
&self,
bufs: &[IoSlice<'_>],
fds: Vec<OwnedFd>
) -> Result<VoidCookie<'_, Cow<'_, C>>, ConnectionError>
fn send_request_without_reply( &self, bufs: &[IoSlice<'_>], fds: Vec<OwnedFd> ) -> Result<VoidCookie<'_, Cow<'_, C>>, ConnectionError>
§fn send_trait_request_without_reply<R>(
&self,
request: R
) -> Result<VoidCookie<'_, Cow<'_, C>>, ConnectionError>where
R: VoidRequest,
fn send_trait_request_without_reply<R>( &self, request: R ) -> Result<VoidCookie<'_, Cow<'_, C>>, ConnectionError>where R: VoidRequest,
§fn discard_reply(&self, sequence: u64, kind: RequestKind, mode: DiscardMode)
fn discard_reply(&self, sequence: u64, kind: RequestKind, mode: DiscardMode)
§fn prefetch_extension_information(
&self,
extension_name: &'static str
) -> Result<(), ConnectionError>
fn prefetch_extension_information( &self, extension_name: &'static str ) -> Result<(), ConnectionError>
§fn extension_information(
&self,
extension_name: &'static str
) -> Result<Option<ExtensionInformation>, ConnectionError>
fn extension_information( &self, extension_name: &'static str ) -> Result<Option<ExtensionInformation>, ConnectionError>
§fn wait_for_reply_or_error(
&self,
sequence: u64
) -> Result<<Cow<'_, C> as RequestConnection>::Buf, ReplyError>
fn wait_for_reply_or_error( &self, sequence: u64 ) -> Result<<Cow<'_, C> as RequestConnection>::Buf, ReplyError>
§fn wait_for_reply_or_raw_error(
&self,
sequence: u64
) -> Result<ReplyOrError<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>
fn wait_for_reply_or_raw_error( &self, sequence: u64 ) -> Result<ReplyOrError<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>
§fn wait_for_reply(
&self,
sequence: u64
) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>
fn wait_for_reply( &self, sequence: u64 ) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>
§fn wait_for_reply_with_fds(
&self,
sequence: u64
) -> Result<(<Cow<'_, C> as RequestConnection>::Buf, Vec<OwnedFd>), ReplyError>
fn wait_for_reply_with_fds( &self, sequence: u64 ) -> Result<(<Cow<'_, C> as RequestConnection>::Buf, Vec<OwnedFd>), ReplyError>
§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>
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>
§fn check_for_error(&self, sequence: u64) -> Result<(), ReplyError>
fn check_for_error(&self, sequence: u64) -> Result<(), ReplyError>
§fn check_for_raw_error(
&self,
sequence: u64
) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>
fn check_for_raw_error( &self, sequence: u64 ) -> Result<Option<<Cow<'_, C> as RequestConnection>::Buf>, ConnectionError>
§fn prefetch_maximum_request_bytes(&self)
fn prefetch_maximum_request_bytes(&self)
§fn maximum_request_bytes(&self) -> usize
fn maximum_request_bytes(&self) -> usize
§fn parse_error(&self, error: &[u8]) -> Result<X11Error, ParseError>
fn parse_error(&self, error: &[u8]) -> Result<X11Error, ParseError>
§fn parse_event(&self, event: &[u8]) -> Result<Event, ParseError>
fn parse_event(&self, event: &[u8]) -> Result<Event, ParseError>
source§impl<'a, T> Serialize for Cow<'a, T>where
T: Serialize + ToOwned + ?Sized,
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,
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl<'a, T> ToTokens for Cow<'a, T>where
T: ToOwned + ToTokens + ?Sized,
impl<'a, T> ToTokens for Cow<'a, T>where T: ToOwned + ToTokens + ?Sized,
source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere Self: Sized,
impl<B> Eq for Cow<'_, B>where B: Eq + ToOwned + ?Sized,
Auto Trait Implementations§
impl<'a, B: ?Sized> RefUnwindSafe for Cow<'a, B>where B: RefUnwindSafe, <B as ToOwned>::Owned: RefUnwindSafe,
impl<'a, B: ?Sized> Send for Cow<'a, B>where B: Sync, <B as ToOwned>::Owned: Send,
impl<'a, B: ?Sized> Sync for Cow<'a, B>where B: Sync, <B as ToOwned>::Owned: Sync,
impl<'a, B: ?Sized> Unpin for Cow<'a, B>where <B as ToOwned>::Owned: Unpin,
impl<'a, B: ?Sized> UnwindSafe for Cow<'a, B>where B: RefUnwindSafe, <B as ToOwned>::Owned: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
fn randr_query_version( &self, major_version: u32, minor_version: u32 ) -> Result<Cookie<'_, Self, QueryVersionReply>, ConnectionError>
fn randr_set_screen_config( &self, window: u32, timestamp: u32, config_timestamp: u32, size_id: u16, rotation: Rotation, rate: u16 ) -> Result<Cookie<'_, Self, SetScreenConfigReply>, ConnectionError>
fn randr_select_input( &self, window: u32, enable: NotifyMask ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_get_screen_info( &self, window: u32 ) -> Result<Cookie<'_, Self, GetScreenInfoReply>, ConnectionError>
fn randr_get_screen_size_range( &self, window: u32 ) -> Result<Cookie<'_, Self, GetScreenSizeRangeReply>, ConnectionError>
fn randr_set_screen_size( &self, window: u32, width: u16, height: u16, mm_width: u32, mm_height: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_get_screen_resources( &self, window: u32 ) -> Result<Cookie<'_, Self, GetScreenResourcesReply>, ConnectionError>
fn randr_get_output_info( &self, output: u32, config_timestamp: u32 ) -> Result<Cookie<'_, Self, GetOutputInfoReply>, ConnectionError>
fn randr_list_output_properties( &self, output: u32 ) -> Result<Cookie<'_, Self, ListOutputPropertiesReply>, ConnectionError>
fn randr_query_output_property( &self, output: u32, property: u32 ) -> Result<Cookie<'_, Self, QueryOutputPropertyReply>, ConnectionError>
fn randr_configure_output_property<'c, 'input>( &'c self, output: u32, property: u32, pending: bool, range: bool, values: &'input [i32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn randr_change_output_property<'c, 'input>( &'c self, output: u32, property: u32, type_: u32, format: u8, mode: PropMode, num_units: u32, data: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn randr_delete_output_property( &self, output: u32, property: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_get_output_property<A>( &self, output: u32, property: u32, type_: A, long_offset: u32, long_length: u32, delete: bool, pending: bool ) -> Result<Cookie<'_, Self, GetOutputPropertyReply>, ConnectionError>where A: Into<u32>,
fn randr_create_mode<'c, 'input>( &'c self, window: u32, mode_info: ModeInfo, name: &'input [u8] ) -> Result<Cookie<'c, Self, CreateModeReply>, ConnectionError>
fn randr_destroy_mode( &self, mode: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_add_output_mode( &self, output: u32, mode: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_delete_output_mode( &self, output: u32, mode: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_get_crtc_info( &self, crtc: u32, config_timestamp: u32 ) -> Result<Cookie<'_, Self, GetCrtcInfoReply>, ConnectionError>
fn randr_set_crtc_config<'c, 'input>( &'c self, crtc: u32, timestamp: u32, config_timestamp: u32, x: i16, y: i16, mode: u32, rotation: Rotation, outputs: &'input [u32] ) -> Result<Cookie<'c, Self, SetCrtcConfigReply>, ConnectionError>
fn randr_get_crtc_gamma_size( &self, crtc: u32 ) -> Result<Cookie<'_, Self, GetCrtcGammaSizeReply>, ConnectionError>
fn randr_get_crtc_gamma( &self, crtc: u32 ) -> Result<Cookie<'_, Self, GetCrtcGammaReply>, ConnectionError>
fn randr_set_crtc_gamma<'c, 'input>( &'c self, crtc: u32, red: &'input [u16], green: &'input [u16], blue: &'input [u16] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn randr_get_screen_resources_current( &self, window: u32 ) -> Result<Cookie<'_, Self, GetScreenResourcesCurrentReply>, ConnectionError>
fn randr_set_crtc_transform<'c, 'input>( &'c self, crtc: u32, transform: Transform, filter_name: &'input [u8], filter_params: &'input [i32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn randr_get_crtc_transform( &self, crtc: u32 ) -> Result<Cookie<'_, Self, GetCrtcTransformReply>, ConnectionError>
fn randr_get_panning( &self, crtc: u32 ) -> Result<Cookie<'_, Self, GetPanningReply>, ConnectionError>
fn randr_set_panning( &self, crtc: u32, timestamp: u32, left: u16, top: u16, width: u16, height: u16, track_left: u16, track_top: u16, track_width: u16, track_height: u16, border_left: i16, border_top: i16, border_right: i16, border_bottom: i16 ) -> Result<Cookie<'_, Self, SetPanningReply>, ConnectionError>
fn randr_set_output_primary( &self, window: u32, output: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_get_output_primary( &self, window: u32 ) -> Result<Cookie<'_, Self, GetOutputPrimaryReply>, ConnectionError>
fn randr_get_providers( &self, window: u32 ) -> Result<Cookie<'_, Self, GetProvidersReply>, ConnectionError>
fn randr_get_provider_info( &self, provider: u32, config_timestamp: u32 ) -> Result<Cookie<'_, Self, GetProviderInfoReply>, ConnectionError>
fn randr_set_provider_offload_sink( &self, provider: u32, sink_provider: u32, config_timestamp: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_set_provider_output_source( &self, provider: u32, source_provider: u32, config_timestamp: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_list_provider_properties( &self, provider: u32 ) -> Result<Cookie<'_, Self, ListProviderPropertiesReply>, ConnectionError>
fn randr_query_provider_property( &self, provider: u32, property: u32 ) -> Result<Cookie<'_, Self, QueryProviderPropertyReply>, ConnectionError>
fn randr_configure_provider_property<'c, 'input>( &'c self, provider: u32, property: u32, pending: bool, range: bool, values: &'input [i32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn randr_change_provider_property<'c, 'input>( &'c self, provider: u32, property: u32, type_: u32, format: u8, mode: u8, num_items: u32, data: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn randr_delete_provider_property( &self, provider: u32, property: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_get_provider_property( &self, provider: u32, property: u32, type_: u32, long_offset: u32, long_length: u32, delete: bool, pending: bool ) -> Result<Cookie<'_, Self, GetProviderPropertyReply>, ConnectionError>
fn randr_get_monitors( &self, window: u32, get_active: bool ) -> Result<Cookie<'_, Self, GetMonitorsReply>, ConnectionError>
fn randr_set_monitor( &self, window: u32, monitorinfo: MonitorInfo ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_delete_monitor( &self, window: u32, name: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn randr_create_lease<'c, 'input>( &'c self, window: u32, lid: u32, crtcs: &'input [u32], outputs: &'input [u32] ) -> Result<CookieWithFds<'c, Self, CreateLeaseReply>, ConnectionError>
fn randr_free_lease( &self, lid: u32, terminate: u8 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
§fn bigreq_enable(
&self
) -> Result<Cookie<'_, Self, EnableReply>, ConnectionError>
fn bigreq_enable( &self ) -> Result<Cookie<'_, Self, EnableReply>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
fn xinput_get_extension_version<'c, 'input>( &'c self, name: &'input [u8] ) -> Result<Cookie<'c, Self, GetExtensionVersionReply>, ConnectionError>
fn xinput_list_input_devices( &self ) -> Result<Cookie<'_, Self, ListInputDevicesReply>, ConnectionError>
fn xinput_open_device( &self, device_id: u8 ) -> Result<Cookie<'_, Self, OpenDeviceReply>, ConnectionError>
fn xinput_close_device( &self, device_id: u8 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xinput_set_device_mode( &self, device_id: u8, mode: ValuatorMode ) -> Result<Cookie<'_, Self, SetDeviceModeReply>, ConnectionError>
fn xinput_select_extension_event<'c, 'input>( &'c self, window: u32, classes: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xinput_get_selected_extension_events( &self, window: u32 ) -> Result<Cookie<'_, Self, GetSelectedExtensionEventsReply>, ConnectionError>
fn xinput_change_device_dont_propagate_list<'c, 'input>( &'c self, window: u32, mode: PropagateMode, classes: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xinput_get_device_dont_propagate_list( &self, window: u32 ) -> Result<Cookie<'_, Self, GetDeviceDontPropagateListReply>, ConnectionError>
fn xinput_get_device_motion_events<A>( &self, start: u32, stop: A, device_id: u8 ) -> Result<Cookie<'_, Self, GetDeviceMotionEventsReply>, ConnectionError>where A: Into<u32>,
fn xinput_change_keyboard_device( &self, device_id: u8 ) -> Result<Cookie<'_, Self, ChangeKeyboardDeviceReply>, ConnectionError>
fn xinput_change_pointer_device( &self, x_axis: u8, y_axis: u8, device_id: u8 ) -> Result<Cookie<'_, Self, ChangePointerDeviceReply>, ConnectionError>
fn xinput_grab_device<A, 'c, 'input>( &'c self, grab_window: u32, time: A, this_device_mode: GrabMode, other_device_mode: GrabMode, owner_events: bool, device_id: u8, classes: &'input [u32] ) -> Result<Cookie<'c, Self, GrabDeviceReply>, ConnectionError>where A: Into<u32>,
fn xinput_ungrab_device<A>( &self, time: A, device_id: u8 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn xinput_grab_device_key<A, B, 'c, 'input>( &'c self, grab_window: u32, modifiers: ModMask, modifier_device: A, grabbed_device: u8, key: B, this_device_mode: GrabMode, other_device_mode: GrabMode, owner_events: bool, classes: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>where A: Into<u8>, B: Into<u8>,
fn xinput_ungrab_device_key<A, B>( &self, grab_window: u32, modifiers: ModMask, modifier_device: A, key: B, grabbed_device: u8 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u8>, B: Into<u8>,
fn xinput_allow_device_events<A>( &self, time: A, mode: DeviceInputMode, device_id: u8 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn xinput_get_device_focus( &self, device_id: u8 ) -> Result<Cookie<'_, Self, GetDeviceFocusReply>, ConnectionError>
fn xinput_set_device_focus<A, B>( &self, focus: A, time: B, revert_to: InputFocus, device_id: u8 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
fn xinput_get_feedback_control( &self, device_id: u8 ) -> Result<Cookie<'_, Self, GetFeedbackControlReply>, ConnectionError>
fn xinput_change_feedback_control( &self, mask: ChangeFeedbackControlMask, device_id: u8, feedback_id: u8, feedback: FeedbackCtl ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xinput_get_device_key_mapping( &self, device_id: u8, first_keycode: u8, count: u8 ) -> Result<Cookie<'_, Self, GetDeviceKeyMappingReply>, ConnectionError>
fn xinput_change_device_key_mapping<'c, 'input>( &'c self, device_id: u8, first_keycode: u8, keysyms_per_keycode: u8, keycode_count: u8, keysyms: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xinput_get_device_modifier_mapping( &self, device_id: u8 ) -> Result<Cookie<'_, Self, GetDeviceModifierMappingReply>, ConnectionError>
fn xinput_set_device_modifier_mapping<'c, 'input>( &'c self, device_id: u8, keymaps: &'input [u8] ) -> Result<Cookie<'c, Self, SetDeviceModifierMappingReply>, ConnectionError>
fn xinput_query_device_state( &self, device_id: u8 ) -> Result<Cookie<'_, Self, QueryDeviceStateReply>, ConnectionError>
fn xinput_device_bell( &self, device_id: u8, feedback_id: u8, feedback_class: u8, percent: i8 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xinput_set_device_valuators<'c, 'input>( &'c self, device_id: u8, first_valuator: u8, valuators: &'input [i32] ) -> Result<Cookie<'c, Self, SetDeviceValuatorsReply>, ConnectionError>
fn xinput_get_device_control( &self, control_id: DeviceControl, device_id: u8 ) -> Result<Cookie<'_, Self, GetDeviceControlReply>, ConnectionError>
fn xinput_change_device_control( &self, control_id: DeviceControl, device_id: u8, control: DeviceCtl ) -> Result<Cookie<'_, Self, ChangeDeviceControlReply>, ConnectionError>
fn xinput_list_device_properties( &self, device_id: u8 ) -> Result<Cookie<'_, Self, ListDevicePropertiesReply>, ConnectionError>
fn xinput_change_device_property<'c, 'input>( &'c self, property: u32, type_: u32, device_id: u8, mode: PropMode, num_items: u32, items: &'input ChangeDevicePropertyAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xinput_delete_device_property( &self, property: u32, device_id: u8 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xinput_get_device_property( &self, property: u32, type_: u32, offset: u32, len: u32, device_id: u8, delete: bool ) -> Result<Cookie<'_, Self, GetDevicePropertyReply>, ConnectionError>
fn xinput_xi_query_pointer<A>( &self, window: u32, deviceid: A ) -> Result<Cookie<'_, Self, XIQueryPointerReply>, ConnectionError>where A: Into<u16>,
fn xinput_xi_warp_pointer<A>( &self, src_win: u32, dst_win: u32, src_x: i32, src_y: i32, src_width: u16, src_height: u16, dst_x: i32, dst_y: i32, deviceid: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u16>,
fn xinput_xi_change_cursor<A>( &self, window: u32, cursor: u32, deviceid: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u16>,
fn xinput_xi_change_hierarchy<'c, 'input>( &'c self, changes: &'input [HierarchyChange] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xinput_xi_set_client_pointer<A>( &self, window: u32, deviceid: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u16>,
fn xinput_xi_get_client_pointer( &self, window: u32 ) -> Result<Cookie<'_, Self, XIGetClientPointerReply>, ConnectionError>
fn xinput_xi_select_events<'c, 'input>( &'c self, window: u32, masks: &'input [EventMask] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xinput_xi_query_version( &self, major_version: u16, minor_version: u16 ) -> Result<Cookie<'_, Self, XIQueryVersionReply>, ConnectionError>
fn xinput_xi_query_device<A>( &self, deviceid: A ) -> Result<Cookie<'_, Self, XIQueryDeviceReply>, ConnectionError>where A: Into<u16>,
fn xinput_xi_set_focus<A, B>( &self, window: u32, time: A, deviceid: B ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u16>,
fn xinput_xi_get_focus<A>( &self, deviceid: A ) -> Result<Cookie<'_, Self, XIGetFocusReply>, ConnectionError>where A: Into<u16>,
fn xinput_xi_grab_device<A, B, 'c, 'input>( &'c self, window: u32, time: A, cursor: u32, deviceid: B, mode: GrabMode, paired_device_mode: GrabMode, owner_events: GrabOwner, mask: &'input [u32] ) -> Result<Cookie<'c, Self, XIGrabDeviceReply>, ConnectionError>where A: Into<u32>, B: Into<u16>,
fn xinput_xi_ungrab_device<A, B>( &self, time: A, deviceid: B ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u16>,
fn xinput_xi_allow_events<A, B>( &self, time: A, deviceid: B, event_mode: EventMode, touchid: u32, grab_window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u16>,
fn xinput_xi_passive_grab_device<A, B, 'c, 'input>( &'c self, time: A, grab_window: u32, cursor: u32, detail: u32, deviceid: B, grab_type: GrabType, grab_mode: GrabMode22, paired_device_mode: GrabMode, owner_events: GrabOwner, mask: &'input [u32], modifiers: &'input [u32] ) -> Result<Cookie<'c, Self, XIPassiveGrabDeviceReply>, ConnectionError>where A: Into<u32>, B: Into<u16>,
fn xinput_xi_passive_ungrab_device<A, 'c, 'input>( &'c self, grab_window: u32, detail: u32, deviceid: A, grab_type: GrabType, modifiers: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>where A: Into<u16>,
fn xinput_xi_list_properties<A>( &self, deviceid: A ) -> Result<Cookie<'_, Self, XIListPropertiesReply>, ConnectionError>where A: Into<u16>,
fn xinput_xi_change_property<A, 'c, 'input>( &'c self, deviceid: A, mode: PropMode, property: u32, type_: u32, num_items: u32, items: &'input XIChangePropertyAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>where A: Into<u16>,
fn xinput_xi_delete_property<A>( &self, deviceid: A, property: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u16>,
fn xinput_xi_get_property<A>( &self, deviceid: A, delete: bool, property: u32, type_: u32, offset: u32, len: u32 ) -> Result<Cookie<'_, Self, XIGetPropertyReply>, ConnectionError>where A: Into<u16>,
fn xinput_xi_get_selected_events( &self, window: u32 ) -> Result<Cookie<'_, Self, XIGetSelectedEventsReply>, ConnectionError>
fn xinput_xi_barrier_release_pointer<'c, 'input>( &'c self, barriers: &'input [BarrierReleasePointerInfo] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xinput_send_extension_event<'c, 'input>( &'c self, destination: u32, device_id: u8, propagate: bool, events: &'input [EventForSend], classes: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
fn shape_query_version( &self ) -> Result<Cookie<'_, Self, QueryVersionReply>, ConnectionError>
fn shape_rectangles<'c, 'input>( &'c self, operation: SO, destination_kind: SK, ordering: ClipOrdering, destination_window: u32, x_offset: i16, y_offset: i16, rectangles: &'input [Rectangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn shape_mask<A>( &self, operation: SO, destination_kind: SK, destination_window: u32, x_offset: i16, y_offset: i16, source_bitmap: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn shape_combine( &self, operation: SO, destination_kind: SK, source_kind: SK, destination_window: u32, x_offset: i16, y_offset: i16, source_window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn shape_offset( &self, destination_kind: SK, destination_window: u32, x_offset: i16, y_offset: i16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn shape_query_extents( &self, destination_window: u32 ) -> Result<Cookie<'_, Self, QueryExtentsReply>, ConnectionError>
fn shape_select_input( &self, destination_window: u32, enable: bool ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn shape_input_selected( &self, destination_window: u32 ) -> Result<Cookie<'_, Self, InputSelectedReply>, ConnectionError>
fn shape_get_rectangles( &self, window: u32, source_kind: SK ) -> Result<Cookie<'_, Self, GetRectanglesReply>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: ConnectionExt + ?Sized,
impl<C> ConnectionExt for Cwhere C: ConnectionExt + ?Sized,
§fn change_property8<A, B>(
&self,
mode: PropMode,
window: u32,
property: A,
type_: B,
data: &[u8]
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
B: Into<u32>,
fn change_property8<A, B>( &self, mode: PropMode, window: u32, property: A, type_: B, data: &[u8] ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
§fn change_property16<A, B>(
&self,
mode: PropMode,
window: u32,
property: A,
type_: B,
data: &[u16]
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
B: Into<u32>,
fn change_property16<A, B>( &self, mode: PropMode, window: u32, property: A, type_: B, data: &[u16] ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
fn render_query_version( &self, client_major_version: u32, client_minor_version: u32 ) -> Result<Cookie<'_, Self, QueryVersionReply>, ConnectionError>
fn render_query_pict_formats( &self ) -> Result<Cookie<'_, Self, QueryPictFormatsReply>, ConnectionError>
fn render_query_pict_index_values( &self, format: u32 ) -> Result<Cookie<'_, Self, QueryPictIndexValuesReply>, ConnectionError>
fn render_create_picture<'c, 'input>( &'c self, pid: u32, drawable: u32, format: u32, value_list: &'input CreatePictureAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_change_picture<'c, 'input>( &'c self, picture: u32, value_list: &'input ChangePictureAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_set_picture_clip_rectangles<'c, 'input>( &'c self, picture: u32, clip_x_origin: i16, clip_y_origin: i16, rectangles: &'input [Rectangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_free_picture( &self, picture: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn render_composite<A>( &self, op: PictOp, src: u32, mask: A, dst: u32, src_x: i16, src_y: i16, mask_x: i16, mask_y: i16, dst_x: i16, dst_y: i16, width: u16, height: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn render_trapezoids<'c, 'input>( &'c self, op: PictOp, src: u32, dst: u32, mask_format: u32, src_x: i16, src_y: i16, traps: &'input [Trapezoid] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_triangles<'c, 'input>( &'c self, op: PictOp, src: u32, dst: u32, mask_format: u32, src_x: i16, src_y: i16, triangles: &'input [Triangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_tri_strip<'c, 'input>( &'c self, op: PictOp, src: u32, dst: u32, mask_format: u32, src_x: i16, src_y: i16, points: &'input [Pointfix] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_tri_fan<'c, 'input>( &'c self, op: PictOp, src: u32, dst: u32, mask_format: u32, src_x: i16, src_y: i16, points: &'input [Pointfix] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_create_glyph_set( &self, gsid: u32, format: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn render_reference_glyph_set( &self, gsid: u32, existing: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn render_free_glyph_set( &self, glyphset: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn render_add_glyphs<'c, 'input>( &'c self, glyphset: u32, glyphids: &'input [u32], glyphs: &'input [Glyphinfo], data: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_free_glyphs<'c, 'input>( &'c self, glyphset: u32, glyphs: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_composite_glyphs8<'c, 'input>( &'c self, op: PictOp, src: u32, dst: u32, mask_format: u32, glyphset: u32, src_x: i16, src_y: i16, glyphcmds: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_composite_glyphs16<'c, 'input>( &'c self, op: PictOp, src: u32, dst: u32, mask_format: u32, glyphset: u32, src_x: i16, src_y: i16, glyphcmds: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_composite_glyphs32<'c, 'input>( &'c self, op: PictOp, src: u32, dst: u32, mask_format: u32, glyphset: u32, src_x: i16, src_y: i16, glyphcmds: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_fill_rectangles<'c, 'input>( &'c self, op: PictOp, dst: u32, color: Color, rects: &'input [Rectangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_create_cursor( &self, cid: u32, source: u32, x: u16, y: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn render_set_picture_transform( &self, picture: u32, transform: Transform ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn render_query_filters( &self, drawable: u32 ) -> Result<Cookie<'_, Self, QueryFiltersReply>, ConnectionError>
fn render_set_picture_filter<'c, 'input>( &'c self, picture: u32, filter: &'input [u8], values: &'input [i32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_create_anim_cursor<'c, 'input>( &'c self, cid: u32, cursors: &'input [Animcursorelt] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_add_traps<'c, 'input>( &'c self, picture: u32, x_off: i16, y_off: i16, traps: &'input [Trap] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_create_solid_fill( &self, picture: u32, color: Color ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn render_create_linear_gradient<'c, 'input>( &'c self, picture: u32, p1: Pointfix, p2: Pointfix, stops: &'input [i32], colors: &'input [Color] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_create_radial_gradient<'c, 'input>( &'c self, picture: u32, inner: Pointfix, outer: Pointfix, inner_radius: i32, outer_radius: i32, stops: &'input [i32], colors: &'input [Color] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn render_create_conical_gradient<'c, 'input>( &'c self, picture: u32, center: Pointfix, angle: i32, stops: &'input [i32], colors: &'input [Color] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
fn xc_misc_get_version( &self, client_major_version: u16, client_minor_version: u16 ) -> Result<Cookie<'_, Self, GetVersionReply>, ConnectionError>
fn xc_misc_get_xid_range( &self ) -> Result<Cookie<'_, Self, GetXIDRangeReply>, ConnectionError>
fn xc_misc_get_xid_list( &self, count: u32 ) -> Result<Cookie<'_, Self, GetXIDListReply>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
fn ge_query_version( &self, client_major_version: u16, client_minor_version: u16 ) -> Result<Cookie<'_, Self, QueryVersionReply>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
§fn create_window<'c, 'input>(
&'c self,
depth: u8,
wid: u32,
parent: u32,
x: i16,
y: i16,
width: u16,
height: u16,
border_width: u16,
class: WindowClass,
visual: u32,
value_list: &'input CreateWindowAux
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn create_window<'c, 'input>( &'c self, depth: u8, wid: u32, parent: u32, x: i16, y: i16, width: u16, height: u16, border_width: u16, class: WindowClass, visual: u32, value_list: &'input CreateWindowAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn change_window_attributes<'c, 'input>(
&'c self,
window: u32,
value_list: &'input ChangeWindowAttributesAux
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn change_window_attributes<'c, 'input>( &'c self, window: u32, value_list: &'input ChangeWindowAttributesAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn get_window_attributes(
&self,
window: u32
) -> Result<Cookie<'_, Self, GetWindowAttributesReply>, ConnectionError>
fn get_window_attributes( &self, window: u32 ) -> Result<Cookie<'_, Self, GetWindowAttributesReply>, ConnectionError>
§fn destroy_window(
&self,
window: u32
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn destroy_window( &self, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn destroy_subwindows( &self, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn change_save_set(
&self,
mode: SetMode,
window: u32
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn change_save_set( &self, mode: SetMode, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn reparent_window(
&self,
window: u32,
parent: u32,
x: i16,
y: i16
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn reparent_window( &self, window: u32, parent: u32, x: i16, y: i16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn map_window(
&self,
window: u32
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn map_window( &self, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn map_subwindows( &self, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn unmap_window(
&self,
window: u32
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn unmap_window( &self, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn unmap_subwindows( &self, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn configure_window<'c, 'input>(
&'c self,
window: u32,
value_list: &'input ConfigureWindowAux
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn configure_window<'c, 'input>( &'c self, window: u32, value_list: &'input ConfigureWindowAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn circulate_window(
&self,
direction: Circulate,
window: u32
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn circulate_window( &self, direction: Circulate, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn get_geometry(
&self,
drawable: u32
) -> Result<Cookie<'_, Self, GetGeometryReply>, ConnectionError>
fn get_geometry( &self, drawable: u32 ) -> Result<Cookie<'_, Self, GetGeometryReply>, ConnectionError>
§fn query_tree(
&self,
window: u32
) -> Result<Cookie<'_, Self, QueryTreeReply>, ConnectionError>
fn query_tree( &self, window: u32 ) -> Result<Cookie<'_, Self, QueryTreeReply>, ConnectionError>
§fn intern_atom<'c, 'input>(
&'c self,
only_if_exists: bool,
name: &'input [u8]
) -> Result<Cookie<'c, Self, InternAtomReply>, ConnectionError>
fn intern_atom<'c, 'input>( &'c self, only_if_exists: bool, name: &'input [u8] ) -> Result<Cookie<'c, Self, InternAtomReply>, ConnectionError>
fn get_atom_name( &self, atom: u32 ) -> Result<Cookie<'_, Self, GetAtomNameReply>, ConnectionError>
§fn change_property<A, B, 'c, 'input>(
&'c self,
mode: PropMode,
window: u32,
property: A,
type_: B,
format: u8,
data_len: u32,
data: &'input [u8]
) -> Result<VoidCookie<'c, Self>, ConnectionError>where
A: Into<u32>,
B: Into<u32>,
fn change_property<A, B, 'c, 'input>( &'c self, mode: PropMode, window: u32, property: A, type_: B, format: u8, data_len: u32, data: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
fn delete_property( &self, window: u32, property: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn get_property<A, B>(
&self,
delete: bool,
window: u32,
property: A,
type_: B,
long_offset: u32,
long_length: u32
) -> Result<Cookie<'_, Self, GetPropertyReply>, ConnectionError>where
A: Into<u32>,
B: Into<u32>,
fn get_property<A, B>( &self, delete: bool, window: u32, property: A, type_: B, long_offset: u32, long_length: u32 ) -> Result<Cookie<'_, Self, GetPropertyReply>, ConnectionError>where A: Into<u32>, B: Into<u32>,
fn list_properties( &self, window: u32 ) -> Result<Cookie<'_, Self, ListPropertiesReply>, ConnectionError>
§fn set_selection_owner<A, B>(
&self,
owner: A,
selection: u32,
time: B
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
B: Into<u32>,
fn set_selection_owner<A, B>( &self, owner: A, selection: u32, time: B ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
§fn get_selection_owner(
&self,
selection: u32
) -> Result<Cookie<'_, Self, GetSelectionOwnerReply>, ConnectionError>
fn get_selection_owner( &self, selection: u32 ) -> Result<Cookie<'_, Self, GetSelectionOwnerReply>, ConnectionError>
fn convert_selection<A, B>( &self, requestor: u32, selection: u32, target: u32, property: A, time: B ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
§fn send_event<A, B>(
&self,
propagate: bool,
destination: A,
event_mask: EventMask,
event: B
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
B: Into<[u8; 32]>,
fn send_event<A, B>( &self, propagate: bool, destination: A, event_mask: EventMask, event: B ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<[u8; 32]>,
§fn grab_pointer<A, B, C>(
&self,
owner_events: bool,
grab_window: u32,
event_mask: EventMask,
pointer_mode: GrabMode,
keyboard_mode: GrabMode,
confine_to: A,
cursor: B,
time: C
) -> Result<Cookie<'_, Self, GrabPointerReply>, ConnectionError>where
A: Into<u32>,
B: Into<u32>,
C: Into<u32>,
fn grab_pointer<A, B, C>( &self, owner_events: bool, grab_window: u32, event_mask: EventMask, pointer_mode: GrabMode, keyboard_mode: GrabMode, confine_to: A, cursor: B, time: C ) -> Result<Cookie<'_, Self, GrabPointerReply>, ConnectionError>where A: Into<u32>, B: Into<u32>, C: Into<u32>,
§fn ungrab_pointer<A>(
&self,
time: A
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
fn ungrab_pointer<A>( &self, time: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn change_active_pointer_grab<A, B>( &self, cursor: A, time: B, event_mask: EventMask ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
§fn grab_keyboard<A>(
&self,
owner_events: bool,
grab_window: u32,
time: A,
pointer_mode: GrabMode,
keyboard_mode: GrabMode
) -> Result<Cookie<'_, Self, GrabKeyboardReply>, ConnectionError>where
A: Into<u32>,
fn grab_keyboard<A>( &self, owner_events: bool, grab_window: u32, time: A, pointer_mode: GrabMode, keyboard_mode: GrabMode ) -> Result<Cookie<'_, Self, GrabKeyboardReply>, ConnectionError>where A: Into<u32>,
fn ungrab_keyboard<A>( &self, time: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
§fn grab_key<A>(
&self,
owner_events: bool,
grab_window: u32,
modifiers: ModMask,
key: A,
pointer_mode: GrabMode,
keyboard_mode: GrabMode
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u8>,
fn grab_key<A>( &self, owner_events: bool, grab_window: u32, modifiers: ModMask, key: A, pointer_mode: GrabMode, keyboard_mode: GrabMode ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u8>,
§fn ungrab_key<A>(
&self,
key: A,
grab_window: u32,
modifiers: ModMask
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u8>,
fn ungrab_key<A>( &self, key: A, grab_window: u32, modifiers: ModMask ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u8>,
§fn allow_events<A>(
&self,
mode: Allow,
time: A
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
fn allow_events<A>( &self, mode: Allow, time: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn grab_server(&self) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn ungrab_server(&self) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn query_pointer(
&self,
window: u32
) -> Result<Cookie<'_, Self, QueryPointerReply>, ConnectionError>
fn query_pointer( &self, window: u32 ) -> Result<Cookie<'_, Self, QueryPointerReply>, ConnectionError>
fn get_motion_events<A, B>( &self, window: u32, start: A, stop: B ) -> Result<Cookie<'_, Self, GetMotionEventsReply>, ConnectionError>where A: Into<u32>, B: Into<u32>,
fn translate_coordinates( &self, src_window: u32, dst_window: u32, src_x: i16, src_y: i16 ) -> Result<Cookie<'_, Self, TranslateCoordinatesReply>, ConnectionError>
§fn warp_pointer<A, B>(
&self,
src_window: A,
dst_window: B,
src_x: i16,
src_y: i16,
src_width: u16,
src_height: u16,
dst_x: i16,
dst_y: i16
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
B: Into<u32>,
fn warp_pointer<A, B>( &self, src_window: A, dst_window: B, src_x: i16, src_y: i16, src_width: u16, src_height: u16, dst_x: i16, dst_y: i16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
§fn set_input_focus<A, B>(
&self,
revert_to: InputFocus,
focus: A,
time: B
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
B: Into<u32>,
fn set_input_focus<A, B>( &self, revert_to: InputFocus, focus: A, time: B ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>, B: Into<u32>,
fn get_input_focus( &self ) -> Result<Cookie<'_, Self, GetInputFocusReply>, ConnectionError>
fn query_keymap( &self ) -> Result<Cookie<'_, Self, QueryKeymapReply>, ConnectionError>
§fn open_font<'c, 'input>(
&'c self,
fid: u32,
name: &'input [u8]
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn open_font<'c, 'input>( &'c self, fid: u32, name: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn close_font(&self, font: u32) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn query_font(
&self,
font: u32
) -> Result<Cookie<'_, Self, QueryFontReply>, ConnectionError>
fn query_font( &self, font: u32 ) -> Result<Cookie<'_, Self, QueryFontReply>, ConnectionError>
§fn query_text_extents<'c, 'input>(
&'c self,
font: u32,
string: &'input [Char2b]
) -> Result<Cookie<'c, Self, QueryTextExtentsReply>, ConnectionError>
fn query_text_extents<'c, 'input>( &'c self, font: u32, string: &'input [Char2b] ) -> Result<Cookie<'c, Self, QueryTextExtentsReply>, ConnectionError>
§fn list_fonts<'c, 'input>(
&'c self,
max_names: u16,
pattern: &'input [u8]
) -> Result<Cookie<'c, Self, ListFontsReply>, ConnectionError>
fn list_fonts<'c, 'input>( &'c self, max_names: u16, pattern: &'input [u8] ) -> Result<Cookie<'c, Self, ListFontsReply>, ConnectionError>
§fn list_fonts_with_info<'c, 'input>(
&'c self,
max_names: u16,
pattern: &'input [u8]
) -> Result<ListFontsWithInfoCookie<'c, Self>, ConnectionError>
fn list_fonts_with_info<'c, 'input>( &'c self, max_names: u16, pattern: &'input [u8] ) -> Result<ListFontsWithInfoCookie<'c, Self>, ConnectionError>
fn set_font_path<'c, 'input>( &'c self, font: &'input [Str] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn get_font_path( &self ) -> Result<Cookie<'_, Self, GetFontPathReply>, ConnectionError>
§fn create_pixmap(
&self,
depth: u8,
pid: u32,
drawable: u32,
width: u16,
height: u16
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn create_pixmap( &self, depth: u8, pid: u32, drawable: u32, width: u16, height: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn free_pixmap(
&self,
pixmap: u32
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn free_pixmap( &self, pixmap: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn create_gc<'c, 'input>(
&'c self,
cid: u32,
drawable: u32,
value_list: &'input CreateGCAux
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn create_gc<'c, 'input>( &'c self, cid: u32, drawable: u32, value_list: &'input CreateGCAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn change_gc<'c, 'input>(
&'c self,
gc: u32,
value_list: &'input ChangeGCAux
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn change_gc<'c, 'input>( &'c self, gc: u32, value_list: &'input ChangeGCAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn copy_gc( &self, src_gc: u32, dst_gc: u32, value_mask: GC ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn set_dashes<'c, 'input>( &'c self, gc: u32, dash_offset: u16, dashes: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn set_clip_rectangles<'c, 'input>( &'c self, ordering: ClipOrdering, gc: u32, clip_x_origin: i16, clip_y_origin: i16, rectangles: &'input [Rectangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn free_gc(&self, gc: u32) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn free_gc(&self, gc: u32) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn clear_area( &self, exposures: bool, window: u32, x: i16, y: i16, width: u16, height: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn copy_area(
&self,
src_drawable: u32,
dst_drawable: u32,
gc: u32,
src_x: i16,
src_y: i16,
dst_x: i16,
dst_y: i16,
width: u16,
height: u16
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn copy_area( &self, src_drawable: u32, dst_drawable: u32, gc: u32, src_x: i16, src_y: i16, dst_x: i16, dst_y: i16, width: u16, height: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn copy_plane( &self, src_drawable: u32, dst_drawable: u32, gc: u32, src_x: i16, src_y: i16, dst_x: i16, dst_y: i16, width: u16, height: u16, bit_plane: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn poly_point<'c, 'input>( &'c self, coordinate_mode: CoordMode, drawable: u32, gc: u32, points: &'input [Point] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn poly_line<'c, 'input>(
&'c self,
coordinate_mode: CoordMode,
drawable: u32,
gc: u32,
points: &'input [Point]
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn poly_line<'c, 'input>( &'c self, coordinate_mode: CoordMode, drawable: u32, gc: u32, points: &'input [Point] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn poly_segment<'c, 'input>(
&'c self,
drawable: u32,
gc: u32,
segments: &'input [Segment]
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn poly_segment<'c, 'input>( &'c self, drawable: u32, gc: u32, segments: &'input [Segment] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn poly_rectangle<'c, 'input>( &'c self, drawable: u32, gc: u32, rectangles: &'input [Rectangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn poly_arc<'c, 'input>( &'c self, drawable: u32, gc: u32, arcs: &'input [Arc] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn fill_poly<'c, 'input>( &'c self, drawable: u32, gc: u32, shape: PolyShape, coordinate_mode: CoordMode, points: &'input [Point] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn poly_fill_rectangle<'c, 'input>(
&'c self,
drawable: u32,
gc: u32,
rectangles: &'input [Rectangle]
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn poly_fill_rectangle<'c, 'input>( &'c self, drawable: u32, gc: u32, rectangles: &'input [Rectangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn poly_fill_arc<'c, 'input>( &'c self, drawable: u32, gc: u32, arcs: &'input [Arc] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn put_image<'c, 'input>( &'c self, format: ImageFormat, drawable: u32, gc: u32, width: u16, height: u16, dst_x: i16, dst_y: i16, left_pad: u8, depth: u8, data: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn get_image( &self, format: ImageFormat, drawable: u32, x: i16, y: i16, width: u16, height: u16, plane_mask: u32 ) -> Result<Cookie<'_, Self, GetImageReply>, ConnectionError>
fn poly_text8<'c, 'input>( &'c self, drawable: u32, gc: u32, x: i16, y: i16, items: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn poly_text16<'c, 'input>( &'c self, drawable: u32, gc: u32, x: i16, y: i16, items: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn image_text8<'c, 'input>(
&'c self,
drawable: u32,
gc: u32,
x: i16,
y: i16,
string: &'input [u8]
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn image_text8<'c, 'input>( &'c self, drawable: u32, gc: u32, x: i16, y: i16, string: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
§fn image_text16<'c, 'input>(
&'c self,
drawable: u32,
gc: u32,
x: i16,
y: i16,
string: &'input [Char2b]
) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn image_text16<'c, 'input>( &'c self, drawable: u32, gc: u32, x: i16, y: i16, string: &'input [Char2b] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn create_colormap( &self, alloc: ColormapAlloc, mid: u32, window: u32, visual: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn free_colormap( &self, cmap: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn copy_colormap_and_free( &self, mid: u32, src_cmap: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn install_colormap( &self, cmap: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn uninstall_colormap( &self, cmap: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn list_installed_colormaps( &self, window: u32 ) -> Result<Cookie<'_, Self, ListInstalledColormapsReply>, ConnectionError>
§fn alloc_color(
&self,
cmap: u32,
red: u16,
green: u16,
blue: u16
) -> Result<Cookie<'_, Self, AllocColorReply>, ConnectionError>
fn alloc_color( &self, cmap: u32, red: u16, green: u16, blue: u16 ) -> Result<Cookie<'_, Self, AllocColorReply>, ConnectionError>
fn alloc_named_color<'c, 'input>( &'c self, cmap: u32, name: &'input [u8] ) -> Result<Cookie<'c, Self, AllocNamedColorReply>, ConnectionError>
fn alloc_color_cells( &self, contiguous: bool, cmap: u32, colors: u16, planes: u16 ) -> Result<Cookie<'_, Self, AllocColorCellsReply>, ConnectionError>
fn alloc_color_planes( &self, contiguous: bool, cmap: u32, colors: u16, reds: u16, greens: u16, blues: u16 ) -> Result<Cookie<'_, Self, AllocColorPlanesReply>, ConnectionError>
fn free_colors<'c, 'input>( &'c self, cmap: u32, plane_mask: u32, pixels: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn store_colors<'c, 'input>( &'c self, cmap: u32, items: &'input [Coloritem] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn store_named_color<'c, 'input>( &'c self, flags: ColorFlag, cmap: u32, pixel: u32, name: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn query_colors<'c, 'input>( &'c self, cmap: u32, pixels: &'input [u32] ) -> Result<Cookie<'c, Self, QueryColorsReply>, ConnectionError>
fn lookup_color<'c, 'input>( &'c self, cmap: u32, name: &'input [u8] ) -> Result<Cookie<'c, Self, LookupColorReply>, ConnectionError>
fn create_cursor<A>( &self, cid: u32, source: u32, mask: A, fore_red: u16, fore_green: u16, fore_blue: u16, back_red: u16, back_green: u16, back_blue: u16, x: u16, y: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
§fn create_glyph_cursor<A>(
&self,
cid: u32,
source_font: u32,
mask_font: A,
source_char: u16,
mask_char: u16,
fore_red: u16,
fore_green: u16,
fore_blue: u16,
back_red: u16,
back_green: u16,
back_blue: u16
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
fn create_glyph_cursor<A>( &self, cid: u32, source_font: u32, mask_font: A, source_char: u16, mask_char: u16, fore_red: u16, fore_green: u16, fore_blue: u16, back_red: u16, back_green: u16, back_blue: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
§fn free_cursor(
&self,
cursor: u32
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn free_cursor( &self, cursor: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn recolor_cursor( &self, cursor: u32, fore_red: u16, fore_green: u16, fore_blue: u16, back_red: u16, back_green: u16, back_blue: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn query_best_size( &self, class: QueryShapeOf, drawable: u32, width: u16, height: u16 ) -> Result<Cookie<'_, Self, QueryBestSizeReply>, ConnectionError>
§fn query_extension<'c, 'input>(
&'c self,
name: &'input [u8]
) -> Result<Cookie<'c, Self, QueryExtensionReply>, ConnectionError>
fn query_extension<'c, 'input>( &'c self, name: &'input [u8] ) -> Result<Cookie<'c, Self, QueryExtensionReply>, ConnectionError>
fn list_extensions( &self ) -> Result<Cookie<'_, Self, ListExtensionsReply>, ConnectionError>
fn change_keyboard_mapping<'c, 'input>( &'c self, keycode_count: u8, first_keycode: u8, keysyms_per_keycode: u8, keysyms: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn get_keyboard_mapping( &self, first_keycode: u8, count: u8 ) -> Result<Cookie<'_, Self, GetKeyboardMappingReply>, ConnectionError>
fn change_keyboard_control<'c, 'input>( &'c self, value_list: &'input ChangeKeyboardControlAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn get_keyboard_control( &self ) -> Result<Cookie<'_, Self, GetKeyboardControlReply>, ConnectionError>
fn bell(&self, percent: i8) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn change_pointer_control( &self, acceleration_numerator: i16, acceleration_denominator: i16, threshold: i16, do_acceleration: bool, do_threshold: bool ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn get_pointer_control( &self ) -> Result<Cookie<'_, Self, GetPointerControlReply>, ConnectionError>
fn set_screen_saver( &self, timeout: i16, interval: i16, prefer_blanking: Blanking, allow_exposures: Exposures ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn get_screen_saver( &self ) -> Result<Cookie<'_, Self, GetScreenSaverReply>, ConnectionError>
fn change_hosts<'c, 'input>( &'c self, mode: HostMode, family: Family, address: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn list_hosts( &self ) -> Result<Cookie<'_, Self, ListHostsReply>, ConnectionError>
fn set_access_control( &self, mode: AccessControl ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn set_close_down_mode( &self, mode: CloseDown ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn kill_client<A>(
&self,
resource: A
) -> Result<VoidCookie<'_, Self>, ConnectionError>where
A: Into<u32>,
fn kill_client<A>( &self, resource: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn rotate_properties<'c, 'input>( &'c self, window: u32, delta: i16, atoms: &'input [u32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn force_screen_saver( &self, mode: ScreenSaver ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn set_pointer_mapping<'c, 'input>( &'c self, map: &'input [u8] ) -> Result<Cookie<'c, Self, SetPointerMappingReply>, ConnectionError>
fn get_pointer_mapping( &self ) -> Result<Cookie<'_, Self, GetPointerMappingReply>, ConnectionError>
fn set_modifier_mapping<'c, 'input>( &'c self, keycodes: &'input [u8] ) -> Result<Cookie<'c, Self, SetModifierMappingReply>, ConnectionError>
fn get_modifier_mapping( &self ) -> Result<Cookie<'_, Self, GetModifierMappingReply>, ConnectionError>
fn no_operation(&self) -> Result<VoidCookie<'_, Self>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
fn xkb_use_extension( &self, wanted_major: u16, wanted_minor: u16 ) -> Result<Cookie<'_, Self, UseExtensionReply>, ConnectionError>
fn xkb_select_events<'c, 'input>( &'c self, device_spec: u16, clear: EventType, select_all: EventType, affect_map: MapPart, map: MapPart, details: &'input SelectEventsAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xkb_bell( &self, device_spec: u16, bell_class: u16, bell_id: u16, percent: i8, force_sound: bool, event_only: bool, pitch: i16, duration: i16, name: u32, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xkb_get_state( &self, device_spec: u16 ) -> Result<Cookie<'_, Self, GetStateReply>, ConnectionError>
fn xkb_latch_lock_state( &self, device_spec: u16, affect_mod_locks: ModMask, mod_locks: ModMask, lock_group: bool, group_lock: Group, affect_mod_latches: ModMask, latch_group: bool, group_latch: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xkb_get_controls( &self, device_spec: u16 ) -> Result<Cookie<'_, Self, GetControlsReply>, ConnectionError>
fn xkb_set_controls<'c, 'input>( &'c self, device_spec: u16, affect_internal_real_mods: ModMask, internal_real_mods: ModMask, affect_ignore_lock_real_mods: ModMask, ignore_lock_real_mods: ModMask, affect_internal_virtual_mods: VMod, internal_virtual_mods: VMod, affect_ignore_lock_virtual_mods: VMod, ignore_lock_virtual_mods: VMod, mouse_keys_dflt_btn: u8, groups_wrap: u8, access_x_options: AXOption, affect_enabled_controls: BoolCtrl, enabled_controls: BoolCtrl, change_controls: Control, repeat_delay: u16, repeat_interval: u16, slow_keys_delay: u16, debounce_delay: u16, mouse_keys_delay: u16, mouse_keys_interval: u16, mouse_keys_time_to_max: u16, mouse_keys_max_speed: u16, mouse_keys_curve: i16, access_x_timeout: u16, access_x_timeout_mask: BoolCtrl, access_x_timeout_values: BoolCtrl, access_x_timeout_options_mask: AXOption, access_x_timeout_options_values: AXOption, per_key_repeat: &'input [u8; 32] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xkb_get_map( &self, device_spec: u16, full: MapPart, partial: MapPart, first_type: u8, n_types: u8, first_key_sym: u8, n_key_syms: u8, first_key_action: u8, n_key_actions: u8, first_key_behavior: u8, n_key_behaviors: u8, virtual_mods: VMod, first_key_explicit: u8, n_key_explicit: u8, first_mod_map_key: u8, n_mod_map_keys: u8, first_v_mod_map_key: u8, n_v_mod_map_keys: u8 ) -> Result<Cookie<'_, Self, GetMapReply>, ConnectionError>
fn xkb_set_map<'c, 'input>( &'c self, device_spec: u16, flags: SetMapFlags, min_key_code: u8, max_key_code: u8, first_type: u8, n_types: u8, first_key_sym: u8, n_key_syms: u8, total_syms: u16, first_key_action: u8, n_key_actions: u8, total_actions: u16, first_key_behavior: u8, n_key_behaviors: u8, total_key_behaviors: u8, first_key_explicit: u8, n_key_explicit: u8, total_key_explicit: u8, first_mod_map_key: u8, n_mod_map_keys: u8, total_mod_map_keys: u8, first_v_mod_map_key: u8, n_v_mod_map_keys: u8, total_v_mod_map_keys: u8, virtual_mods: VMod, values: &'input SetMapAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xkb_get_compat_map( &self, device_spec: u16, groups: SetOfGroup, get_all_si: bool, first_si: u16, n_si: u16 ) -> Result<Cookie<'_, Self, GetCompatMapReply>, ConnectionError>
fn xkb_set_compat_map<'c, 'input>( &'c self, device_spec: u16, recompute_actions: bool, truncate_si: bool, groups: SetOfGroup, first_si: u16, si: &'input [SymInterpret], group_maps: &'input [ModDef] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xkb_get_indicator_state( &self, device_spec: u16 ) -> Result<Cookie<'_, Self, GetIndicatorStateReply>, ConnectionError>
fn xkb_get_indicator_map( &self, device_spec: u16, which: u32 ) -> Result<Cookie<'_, Self, GetIndicatorMapReply>, ConnectionError>
fn xkb_set_indicator_map<'c, 'input>( &'c self, device_spec: u16, which: u32, maps: &'input [IndicatorMap] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xkb_get_named_indicator<A>( &self, device_spec: u16, led_class: LedClass, led_id: A, indicator: u32 ) -> Result<Cookie<'_, Self, GetNamedIndicatorReply>, ConnectionError>where A: Into<u16>,
fn xkb_set_named_indicator<A>( &self, device_spec: u16, led_class: LedClass, led_id: A, indicator: u32, set_state: bool, on: bool, set_map: bool, create_map: bool, map_flags: IMFlag, map_which_groups: IMGroupsWhich, map_groups: SetOfGroups, map_which_mods: IMModsWhich, map_real_mods: ModMask, map_vmods: VMod, map_ctrls: BoolCtrl ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u16>,
fn xkb_get_names( &self, device_spec: u16, which: NameDetail ) -> Result<Cookie<'_, Self, GetNamesReply>, ConnectionError>
fn xkb_set_names<'c, 'input>( &'c self, device_spec: u16, virtual_mods: VMod, first_type: u8, n_types: u8, first_kt_levelt: u8, n_kt_levels: u8, indicators: u32, group_names: SetOfGroup, n_radio_groups: u8, first_key: u8, n_keys: u8, n_key_aliases: u8, total_kt_level_names: u16, values: &'input SetNamesAux ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xkb_per_client_flags( &self, device_spec: u16, change: PerClientFlag, value: PerClientFlag, ctrls_to_change: BoolCtrl, auto_ctrls: BoolCtrl, auto_ctrls_values: BoolCtrl ) -> Result<Cookie<'_, Self, PerClientFlagsReply>, ConnectionError>
fn xkb_list_components( &self, device_spec: u16, max_names: u16 ) -> Result<Cookie<'_, Self, ListComponentsReply>, ConnectionError>
fn xkb_get_kbd_by_name( &self, device_spec: u16, need: GBNDetail, want: GBNDetail, load: bool ) -> Result<Cookie<'_, Self, GetKbdByNameReply>, ConnectionError>
fn xkb_get_device_info<A>( &self, device_spec: u16, wanted: XIFeature, all_buttons: bool, first_button: u8, n_buttons: u8, led_class: LedClass, led_id: A ) -> Result<Cookie<'_, Self, GetDeviceInfoReply>, ConnectionError>where A: Into<u16>,
fn xkb_set_device_info<'c, 'input>( &'c self, device_spec: u16, first_btn: u8, change: XIFeature, btn_actions: &'input [Action], leds: &'input [DeviceLedInfo] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xkb_set_debugging_flags<'c, 'input>( &'c self, affect_flags: u32, flags: u32, affect_ctrls: u32, ctrls: u32, message: &'input [u8] ) -> Result<Cookie<'c, Self, SetDebuggingFlagsReply>, ConnectionError>
§impl<C> ConnectionExt for Cwhere
C: RequestConnection + ?Sized,
impl<C> ConnectionExt for Cwhere C: RequestConnection + ?Sized,
fn xfixes_query_version( &self, client_major_version: u32, client_minor_version: u32 ) -> Result<Cookie<'_, Self, QueryVersionReply>, ConnectionError>
fn xfixes_change_save_set( &self, mode: SaveSetMode, target: SaveSetTarget, map: SaveSetMapping, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_select_selection_input( &self, window: u32, selection: u32, event_mask: SelectionEventMask ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_select_cursor_input( &self, window: u32, event_mask: CursorNotifyMask ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_get_cursor_image( &self ) -> Result<Cookie<'_, Self, GetCursorImageReply>, ConnectionError>
fn xfixes_create_region<'c, 'input>( &'c self, region: u32, rectangles: &'input [Rectangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xfixes_create_region_from_bitmap( &self, region: u32, bitmap: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_create_region_from_window( &self, region: u32, window: u32, kind: SK ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_create_region_from_gc( &self, region: u32, gc: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_create_region_from_picture( &self, region: u32, picture: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_destroy_region( &self, region: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_set_region<'c, 'input>( &'c self, region: u32, rectangles: &'input [Rectangle] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xfixes_copy_region( &self, source: u32, destination: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_union_region( &self, source1: u32, source2: u32, destination: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_intersect_region( &self, source1: u32, source2: u32, destination: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_subtract_region( &self, source1: u32, source2: u32, destination: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_invert_region( &self, source: u32, bounds: Rectangle, destination: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_translate_region( &self, region: u32, dx: i16, dy: i16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_region_extents( &self, source: u32, destination: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_fetch_region( &self, region: u32 ) -> Result<Cookie<'_, Self, FetchRegionReply>, ConnectionError>
fn xfixes_set_gc_clip_region<A>( &self, gc: u32, region: A, x_origin: i16, y_origin: i16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn xfixes_set_window_shape_region<A>( &self, dest: u32, dest_kind: SK, x_offset: i16, y_offset: i16, region: A ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn xfixes_set_picture_clip_region<A>( &self, picture: u32, region: A, x_origin: i16, y_origin: i16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>where A: Into<u32>,
fn xfixes_set_cursor_name<'c, 'input>( &'c self, cursor: u32, name: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xfixes_get_cursor_name( &self, cursor: u32 ) -> Result<Cookie<'_, Self, GetCursorNameReply>, ConnectionError>
fn xfixes_get_cursor_image_and_name( &self ) -> Result<Cookie<'_, Self, GetCursorImageAndNameReply>, ConnectionError>
fn xfixes_change_cursor( &self, source: u32, destination: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_change_cursor_by_name<'c, 'input>( &'c self, src: u32, name: &'input [u8] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xfixes_expand_region( &self, source: u32, destination: u32, left: u16, right: u16, top: u16, bottom: u16 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_hide_cursor( &self, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_show_cursor( &self, window: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_create_pointer_barrier<'c, 'input>( &'c self, barrier: u32, window: u32, x1: u16, y1: u16, x2: u16, y2: u16, directions: BarrierDirections, devices: &'input [u16] ) -> Result<VoidCookie<'c, Self>, ConnectionError>
fn xfixes_delete_pointer_barrier( &self, barrier: u32 ) -> Result<VoidCookie<'_, Self>, ConnectionError>
§fn xfixes_set_client_disconnect_mode(
&self,
disconnect_mode: ClientDisconnectFlags
) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_set_client_disconnect_mode( &self, disconnect_mode: ClientDisconnectFlags ) -> Result<VoidCookie<'_, Self>, ConnectionError>
fn xfixes_get_client_disconnect_mode( &self ) -> Result<Cookie<'_, Self, GetClientDisconnectModeReply>, ConnectionError>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<'de, T> DynamicDeserialize<'de> for Twhere
T: Type + Deserialize<'de> + ?Sized,
impl<'de, T> DynamicDeserialize<'de> for Twhere T: Type + Deserialize<'de> + ?Sized,
§type Deserializer = PhantomData<T>
type Deserializer = PhantomData<T>
§impl<T> DynamicType for Twhere
T: Type + ?Sized,
impl<T> DynamicType for Twhere T: Type + ?Sized,
§fn dynamic_signature(&self) -> Signature<'_>
fn dynamic_signature(&self) -> Signature<'_>
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.source§impl<T> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere T: Spanned + ?Sized,
source§fn span(&self) -> Span
fn span(&self) -> Span
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.source§impl<T> ToHex for Twhere
T: AsRef<[u8]>,
impl<T> ToHex for Twhere T: AsRef<[u8]>,
source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere U: FromIterator<char>,
self
into the result. Lower case
letters are used (e.g. f9b4ca
)source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere U: FromIterator<char>,
self
into the result. Upper case
letters are used (e.g. F9B4CA
)