Enum lightningcss::values::calc::Calc
source · pub enum Calc<V> {
Value(Box<V>),
Number(CSSNumber),
Sum(Box<Calc<V>>, Box<Calc<V>>),
Product(CSSNumber, Box<Calc<V>>),
Function(Box<MathFunction<V>>),
}
Expand description
A mathematical expression used within the calc()
function.
This type supports generic value types. Values such as Length, Percentage,
Time, and Angle support calc()
expressions.
Variants§
Value(Box<V>)
A literal value.
Number(CSSNumber)
A literal number.
Sum(Box<Calc<V>>, Box<Calc<V>>)
A sum of two calc expressions.
Product(CSSNumber, Box<Calc<V>>)
A product of a number and another calc expression.
Function(Box<MathFunction<V>>)
A math function, such as calc()
, min()
, or max()
.
Trait Implementations§
source§impl<D> From<Calc<DimensionPercentage<D>>> for DimensionPercentage<D>
impl<D> From<Calc<DimensionPercentage<D>>> for DimensionPercentage<D>
source§fn from(calc: Calc<DimensionPercentage<D>>) -> DimensionPercentage<D>
fn from(calc: Calc<DimensionPercentage<D>>) -> DimensionPercentage<D>
Converts to this type from the input type.
source§impl From<Calc<Percentage>> for Percentage
impl From<Calc<Percentage>> for Percentage
source§fn from(calc: Calc<Percentage>) -> Percentage
fn from(calc: Calc<Percentage>) -> Percentage
Converts to this type from the input type.
source§impl<D> Into<Calc<DimensionPercentage<D>>> for DimensionPercentage<D>
impl<D> Into<Calc<DimensionPercentage<D>>> for DimensionPercentage<D>
source§fn into(self) -> Calc<DimensionPercentage<D>>
fn into(self) -> Calc<DimensionPercentage<D>>
Converts this type into the (usually inferred) input type.
source§impl Into<Calc<Percentage>> for Percentage
impl Into<Calc<Percentage>> for Percentage
source§fn into(self) -> Calc<Percentage>
fn into(self) -> Calc<Percentage>
Converts this type into the (usually inferred) input type.
source§impl<'i, V: Parse<'i> + Mul<f32, Output = V> + AddInternal + TryOp + TryMap + TrySign + PartialOrd<V> + Into<Calc<V>> + From<Calc<V>> + TryFrom<Angle> + Clone + Debug> Parse<'i> for Calc<V>
impl<'i, V: Parse<'i> + Mul<f32, Output = V> + AddInternal + TryOp + TryMap + TrySign + PartialOrd<V> + Into<Calc<V>> + From<Calc<V>> + TryFrom<Angle> + Clone + Debug> Parse<'i> for Calc<V>
source§fn parse<'t>(
input: &mut Parser<'i, 't>
) -> Result<Self, ParseError<'i, ParserError<'i>>>
fn parse<'t>(
input: &mut Parser<'i, 't>
) -> Result<Self, ParseError<'i, ParserError<'i>>>
Parse a value of this type using an existing parser.
source§fn parse_string(input: &'i str) -> Result<Self, ParseError<'i, ParserError<'i>>>
fn parse_string(input: &'i str) -> Result<Self, ParseError<'i, ParserError<'i>>>
Parse a value from a string. Read more
source§impl<V: PartialEq> PartialEq<Calc<V>> for Calc<V>
impl<V: PartialEq> PartialEq<Calc<V>> for Calc<V>
source§impl<V: ToCss + Mul<f32, Output = V> + TrySign + Clone + Debug> ToCss for Calc<V>
impl<V: ToCss + Mul<f32, Output = V> + TrySign + Clone + Debug> ToCss for Calc<V>
source§fn to_css<W>(
&self,
dest: &mut Printer<'_, '_, '_, W>
) -> Result<(), PrinterError>where
W: Write,
fn to_css<W>(
&self,
dest: &mut Printer<'_, '_, '_, W>
) -> Result<(), PrinterError>where
W: Write,
Serialize
self
in CSS syntax, writing to dest
.source§fn to_css_string(
&self,
options: PrinterOptions<'_>
) -> Result<String, PrinterError>
fn to_css_string(
&self,
options: PrinterOptions<'_>
) -> Result<String, PrinterError>
Serialize
self
in CSS syntax and return a string. Read moresource§impl<V: TrySign> TrySign for Calc<V>
impl<V: TrySign> TrySign for Calc<V>
source§fn is_sign_positive(&self) -> bool
fn is_sign_positive(&self) -> bool
Returns whether the value is positive. If not possible, returns false.
source§fn is_sign_negative(&self) -> bool
fn is_sign_negative(&self) -> bool
Returns whether the value is negative. If not possible, returns false.
source§impl<'i, V, __T: Visit<'i, __T, __V>, __V: Visitor<'i, __T>> Visit<'i, __T, __V> for Calc<V>where
V: Visit<'i, __T, __V>,
impl<'i, V, __T: Visit<'i, __T, __V>, __V: Visitor<'i, __T>> Visit<'i, __T, __V> for Calc<V>where
V: Visit<'i, __T, __V>,
source§const CHILD_TYPES: VisitTypes = _
const CHILD_TYPES: VisitTypes = _
The types of values contained within this value and its children.
This is used to skip branches that don’t have any values requested
by the Visitor. Read more
source§fn visit_children(&mut self, visitor: &mut __V)
fn visit_children(&mut self, visitor: &mut __V)
Visit the children of this value.
impl<V> StructuralPartialEq for Calc<V>
Auto Trait Implementations§
impl<V> RefUnwindSafe for Calc<V>where
V: RefUnwindSafe,
impl<V> Send for Calc<V>where
V: Send,
impl<V> Sync for Calc<V>where
V: Sync,
impl<V> Unpin for Calc<V>
impl<V> UnwindSafe for Calc<V>where
V: UnwindSafe,
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer