pub struct AssociatedWhitespaceRules { /* private fields */ }
Expand description
A bitmask representing rules around the whitespace surrounding a Kind::Delim token.
A Token with Kind::Delim or one of the other single character tokens (such as Kind::LeftCurly will store this data internal to the token. Using Token::associated_whitespace() will return this bitmask, depending on what rules are set for this token. By default the Lexer will produce tokens with AssociatedWhitespaceRules::None, but new tokens can be created which can be accompanied with a different set of rules.
use css_lexer::*;
let mut lexer = Lexer::new(&EmptyAtomSet::ATOMS, ".");
{
// This token will be a Delim of `.`
let token = lexer.advance();
assert_eq!(token, Kind::Delim);
assert_eq!(token, AssociatedWhitespaceRules::None);
}
Implementations§
Source§impl AssociatedWhitespaceRules
impl AssociatedWhitespaceRules
pub const None: AssociatedWhitespaceRules
Sourcepub const EnforceBefore: AssociatedWhitespaceRules
pub const EnforceBefore: AssociatedWhitespaceRules
If the token before this one is not whitespace, then whitespace must be placed before this token.
Sourcepub const EnforceAfter: AssociatedWhitespaceRules
pub const EnforceAfter: AssociatedWhitespaceRules
The token must produce a whitespace token to separate it and the next token (if the next token is not already whitespace).
Sourcepub const BanAfter: AssociatedWhitespaceRules
pub const BanAfter: AssociatedWhitespaceRules
The token after this one must not be whitespace, doing so would result in breaking a higher level association with
the adjacent token (for example a pseudo class such as :hover
).
Sourcepub const fn all_bits() -> AssociatedWhitespaceRules
pub const fn all_bits() -> AssociatedWhitespaceRules
Returns a bitmask that contains all values.
This will include bits that do not have any flags.
Use ::all_flags()
if you only want to use flags.
Sourcepub const fn all_flags() -> AssociatedWhitespaceRules
pub const fn all_flags() -> AssociatedWhitespaceRules
Returns a bitmask that contains all flags.
Sourcepub const fn is_all_bits(&self) -> bool
pub const fn is_all_bits(&self) -> bool
Returns true
if the bitmask contains all values.
This will check for bits == !0
,
use .is_all_flags()
if you only want to check for all flags
Sourcepub const fn is_all_flags(&self) -> bool
pub const fn is_all_flags(&self) -> bool
Returns true
if the bitmask contains all flags.
This will fail if any unused bit is set,
consider using .truncate()
first.
Sourcepub const fn all() -> AssociatedWhitespaceRules
👎Deprecated: Please use the ::all_bits()
constructor
pub const fn all() -> AssociatedWhitespaceRules
::all_bits()
constructorReturns a bitmask that contains all values.
This will include bits that do not have any flags.
Use ::all_flags()
if you only want to use flags.
Sourcepub const fn is_all(&self) -> bool
👎Deprecated: Please use the .is_all_bits()
method
pub const fn is_all(&self) -> bool
.is_all_bits()
methodReturns true
if the bitmask contains all values.
This will check for bits == !0
,
use .is_all_flags()
if you only want to check for all flags
Sourcepub const fn full() -> AssociatedWhitespaceRules
👎Deprecated: Please use the ::all_flags()
constructor
pub const fn full() -> AssociatedWhitespaceRules
::all_flags()
constructorReturns a bitmask that contains all flags.
Sourcepub const fn is_full(&self) -> bool
👎Deprecated: Please use the .is_all_flags()
method
pub const fn is_full(&self) -> bool
.is_all_flags()
methodReturns true
if the bitmask contains all flags.
This will fail if any unused bit is set,
consider using .truncate()
first.
Sourcepub const fn none() -> AssociatedWhitespaceRules
pub const fn none() -> AssociatedWhitespaceRules
Returns a bitmask that does not contain any values.
Sourcepub const fn truncate(&self) -> AssociatedWhitespaceRules
pub const fn truncate(&self) -> AssociatedWhitespaceRules
Returns a bitmask that only has bits corresponding to flags
Sourcepub const fn intersects(&self, other: AssociatedWhitespaceRules) -> bool
pub const fn intersects(&self, other: AssociatedWhitespaceRules) -> bool
Returns true
if self
intersects with any value in other
,
or if other
does not contain any values.
This is equivalent to (self & other) != 0 || other == 0
.
Sourcepub const fn contains(&self, other: AssociatedWhitespaceRules) -> bool
pub const fn contains(&self, other: AssociatedWhitespaceRules) -> bool
Returns true
if self
contains all values of other
.
This is equivalent to (self & other) == other
.
Sourcepub const fn not(self) -> AssociatedWhitespaceRules
pub const fn not(self) -> AssociatedWhitespaceRules
Returns the bitwise NOT of the bitmask.
Sourcepub const fn and(
self,
other: AssociatedWhitespaceRules,
) -> AssociatedWhitespaceRules
pub const fn and( self, other: AssociatedWhitespaceRules, ) -> AssociatedWhitespaceRules
Returns the bitwise AND of the bitmask.
Sourcepub const fn or(
self,
other: AssociatedWhitespaceRules,
) -> AssociatedWhitespaceRules
pub const fn or( self, other: AssociatedWhitespaceRules, ) -> AssociatedWhitespaceRules
Returns the bitwise OR of the bitmask.
Sourcepub const fn xor(
self,
other: AssociatedWhitespaceRules,
) -> AssociatedWhitespaceRules
pub const fn xor( self, other: AssociatedWhitespaceRules, ) -> AssociatedWhitespaceRules
Returns the bitwise XOR of the bitmask.
Trait Implementations§
Source§impl Binary for AssociatedWhitespaceRules
impl Binary for AssociatedWhitespaceRules
Source§impl BitAnd for AssociatedWhitespaceRules
impl BitAnd for AssociatedWhitespaceRules
Source§type Output = AssociatedWhitespaceRules
type Output = AssociatedWhitespaceRules
&
operator.Source§fn bitand(
self,
rhs: AssociatedWhitespaceRules,
) -> <AssociatedWhitespaceRules as BitAnd>::Output
fn bitand( self, rhs: AssociatedWhitespaceRules, ) -> <AssociatedWhitespaceRules as BitAnd>::Output
&
operation. Read moreSource§impl BitAndAssign for AssociatedWhitespaceRules
impl BitAndAssign for AssociatedWhitespaceRules
Source§fn bitand_assign(&mut self, rhs: AssociatedWhitespaceRules)
fn bitand_assign(&mut self, rhs: AssociatedWhitespaceRules)
&=
operation. Read moreSource§impl BitOr for AssociatedWhitespaceRules
impl BitOr for AssociatedWhitespaceRules
Source§type Output = AssociatedWhitespaceRules
type Output = AssociatedWhitespaceRules
|
operator.Source§fn bitor(
self,
rhs: AssociatedWhitespaceRules,
) -> <AssociatedWhitespaceRules as BitOr>::Output
fn bitor( self, rhs: AssociatedWhitespaceRules, ) -> <AssociatedWhitespaceRules as BitOr>::Output
|
operation. Read moreSource§impl BitOrAssign for AssociatedWhitespaceRules
impl BitOrAssign for AssociatedWhitespaceRules
Source§fn bitor_assign(&mut self, rhs: AssociatedWhitespaceRules)
fn bitor_assign(&mut self, rhs: AssociatedWhitespaceRules)
|=
operation. Read moreSource§impl BitXor for AssociatedWhitespaceRules
impl BitXor for AssociatedWhitespaceRules
Source§type Output = AssociatedWhitespaceRules
type Output = AssociatedWhitespaceRules
^
operator.Source§fn bitxor(
self,
rhs: AssociatedWhitespaceRules,
) -> <AssociatedWhitespaceRules as BitXor>::Output
fn bitxor( self, rhs: AssociatedWhitespaceRules, ) -> <AssociatedWhitespaceRules as BitXor>::Output
^
operation. Read moreSource§impl BitXorAssign for AssociatedWhitespaceRules
impl BitXorAssign for AssociatedWhitespaceRules
Source§fn bitxor_assign(&mut self, rhs: AssociatedWhitespaceRules)
fn bitxor_assign(&mut self, rhs: AssociatedWhitespaceRules)
^=
operation. Read moreSource§impl Clone for AssociatedWhitespaceRules
impl Clone for AssociatedWhitespaceRules
Source§fn clone(&self) -> AssociatedWhitespaceRules
fn clone(&self) -> AssociatedWhitespaceRules
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more