Struct CaseInsensitiveKeywordSet
pub struct CaseInsensitiveKeywordSet(/* private fields */);Available on crate feature
unstable-wgpu-27 only.Expand description
A case-insensitive, ASCII-only set of strings,
for use with Namer to avoid collisions with keywords and other reserved
identifiers.
This is currently implemented as a hash table. Future versions of Naga may change the implementation based on speed and code size considerations.
Implementations§
§impl CaseInsensitiveKeywordSet
impl CaseInsensitiveKeywordSet
pub fn new() -> CaseInsensitiveKeywordSet
pub fn new() -> CaseInsensitiveKeywordSet
Returns a new mutable empty set.
pub fn empty() -> &'static CaseInsensitiveKeywordSet
pub fn empty() -> &'static CaseInsensitiveKeywordSet
Returns a reference to the empty set.
pub fn contains(&self, identifier: &str) -> bool
pub fn contains(&self, identifier: &str) -> bool
Returns whether the set contains the given string, with comparison
by str::eq_ignore_ascii_case().
Trait Implementations§
§impl Clone for CaseInsensitiveKeywordSet
impl Clone for CaseInsensitiveKeywordSet
§fn clone(&self) -> CaseInsensitiveKeywordSet
fn clone(&self) -> CaseInsensitiveKeywordSet
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for CaseInsensitiveKeywordSet
impl Debug for CaseInsensitiveKeywordSet
§impl Default for &'static CaseInsensitiveKeywordSet
impl Default for &'static CaseInsensitiveKeywordSet
§fn default() -> &'static CaseInsensitiveKeywordSet
fn default() -> &'static CaseInsensitiveKeywordSet
Returns the “default value” for a type. Read more
§impl Default for CaseInsensitiveKeywordSet
impl Default for CaseInsensitiveKeywordSet
§fn default() -> CaseInsensitiveKeywordSet
fn default() -> CaseInsensitiveKeywordSet
Returns the “default value” for a type. Read more
§impl<'a> Extend<&'a &'static str> for CaseInsensitiveKeywordSet
Accepts double references so that .extend(&["foo"]) works.
impl<'a> Extend<&'a &'static str> for CaseInsensitiveKeywordSet
Accepts double references so that .extend(&["foo"]) works.
§fn extend<T>(&mut self, iter: T)where
T: IntoIterator<Item = &'a &'static str>,
fn extend<T>(&mut self, iter: T)where
T: IntoIterator<Item = &'a &'static str>,
Extends a collection with the contents of an iterator. Read more
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one)Extends a collection with exactly one element.
Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one)Reserves capacity in a collection for the given number of additional elements. Read more
§impl Extend<&'static str> for CaseInsensitiveKeywordSet
impl Extend<&'static str> for CaseInsensitiveKeywordSet
§fn extend<T>(&mut self, iter: T)where
T: IntoIterator<Item = &'static str>,
fn extend<T>(&mut self, iter: T)where
T: IntoIterator<Item = &'static str>,
Extends a collection with the contents of an iterator. Read more
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one)Extends a collection with exactly one element.
Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one)Reserves capacity in a collection for the given number of additional elements. Read more
§impl<'a> FromIterator<&'a &'static str> for CaseInsensitiveKeywordSet
Accepts double references so that CaseInsensitiveKeywordSet::from_iter(&["foo"]) works.
impl<'a> FromIterator<&'a &'static str> for CaseInsensitiveKeywordSet
Accepts double references so that CaseInsensitiveKeywordSet::from_iter(&["foo"]) works.
§fn from_iter<T>(iter: T) -> CaseInsensitiveKeywordSetwhere
T: IntoIterator<Item = &'a &'static str>,
fn from_iter<T>(iter: T) -> CaseInsensitiveKeywordSetwhere
T: IntoIterator<Item = &'a &'static str>,
Creates a value from an iterator. Read more
§impl FromIterator<&'static str> for CaseInsensitiveKeywordSet
impl FromIterator<&'static str> for CaseInsensitiveKeywordSet
§fn from_iter<T>(iter: T) -> CaseInsensitiveKeywordSetwhere
T: IntoIterator<Item = &'static str>,
fn from_iter<T>(iter: T) -> CaseInsensitiveKeywordSetwhere
T: IntoIterator<Item = &'static str>,
Creates a value from an iterator. Read more
§impl PartialEq for CaseInsensitiveKeywordSet
impl PartialEq for CaseInsensitiveKeywordSet
impl Eq for CaseInsensitiveKeywordSet
impl StructuralPartialEq for CaseInsensitiveKeywordSet
Auto Trait Implementations§
impl Freeze for CaseInsensitiveKeywordSet
impl RefUnwindSafe for CaseInsensitiveKeywordSet
impl Send for CaseInsensitiveKeywordSet
impl Sync for CaseInsensitiveKeywordSet
impl Unpin for CaseInsensitiveKeywordSet
impl UnwindSafe for CaseInsensitiveKeywordSet
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§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>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§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
The none-equivalent value.
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.