pub enum ClassSetItem {
Empty(Span),
Literal(Literal),
Range(ClassSetRange),
Ascii(ClassAscii),
Unicode(ClassUnicode),
Perl(ClassPerl),
Bracketed(Box<ClassBracketed>),
Union(ClassSetUnion),
}
Expand description
A single component of a character class set.
Variants§
Empty(Span)
An empty item.
Note that a bracketed character class cannot contain a single empty
item. Empty items can appear when using one of the binary operators.
For example, [&&]
is the intersection of two empty classes.
Literal(Literal)
A single literal.
Range(ClassSetRange)
A range between two literals.
Ascii(ClassAscii)
An ASCII character class, e.g., [:alnum:]
or [:punct:]
.
Unicode(ClassUnicode)
A Unicode character class, e.g., \pL
or \p{Greek}
.
Perl(ClassPerl)
A perl character class, e.g., \d
or \W
.
Bracketed(Box<ClassBracketed>)
A bracketed character class set, which may contain zero or more
character ranges and/or zero or more nested classes. e.g.,
[a-zA-Z\pL]
.
Union(ClassSetUnion)
A union of items.
Implementations§
Trait Implementations§
Source§impl Clone for ClassSetItem
impl Clone for ClassSetItem
Source§fn clone(&self) -> ClassSetItem
fn clone(&self) -> ClassSetItem
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ClassSetItem
impl Debug for ClassSetItem
Source§impl PartialEq for ClassSetItem
impl PartialEq for ClassSetItem
impl Eq for ClassSetItem
impl StructuralPartialEq for ClassSetItem
Auto Trait Implementations§
impl Freeze for ClassSetItem
impl RefUnwindSafe for ClassSetItem
impl Send for ClassSetItem
impl Sync for ClassSetItem
impl Unpin for ClassSetItem
impl UnwindSafe for ClassSetItem
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 160 bytes
Size for each variant:
Empty
: 48 bytesLiteral
: 56 bytesRange
: 160 bytesAscii
: 56 bytesUnicode
: 112 bytesPerl
: 56 bytesBracketed
: 8 bytesUnion
: 72 bytes