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
sourceimpl<D> From<Calc<DimensionPercentage<D>>> for DimensionPercentage<D>
impl<D> From<Calc<DimensionPercentage<D>>> for DimensionPercentage<D>
sourcefn from(calc: Calc<DimensionPercentage<D>>) -> DimensionPercentage<D>
fn from(calc: Calc<DimensionPercentage<D>>) -> DimensionPercentage<D>
Converts to this type from the input type.
sourceimpl From<Calc<Percentage>> for Percentage
impl From<Calc<Percentage>> for Percentage
sourcefn from(calc: Calc<Percentage>) -> Percentage
fn from(calc: Calc<Percentage>) -> Percentage
Converts to this type from the input type.
sourceimpl<D> Into<Calc<DimensionPercentage<D>>> for DimensionPercentage<D>
impl<D> Into<Calc<DimensionPercentage<D>>> for DimensionPercentage<D>
sourcefn into(self) -> Calc<DimensionPercentage<D>>
fn into(self) -> Calc<DimensionPercentage<D>>
Converts this type into the (usually inferred) input type.
sourceimpl Into<Calc<Percentage>> for Percentage
impl Into<Calc<Percentage>> for Percentage
sourcefn into(self) -> Calc<Percentage>
fn into(self) -> Calc<Percentage>
Converts this type into the (usually inferred) input type.
sourceimpl<'i, V: Parse<'i> + Mul<f32, Output = V> + AddInternal + PartialOrd<V> + Into<Calc<V>> + From<Calc<V>> + Debug> Parse<'i> for Calc<V>
impl<'i, V: Parse<'i> + Mul<f32, Output = V> + AddInternal + PartialOrd<V> + Into<Calc<V>> + From<Calc<V>> + Debug> Parse<'i> for Calc<V>
sourcefn 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.
sourcefn 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
sourceimpl<V: PartialOrd<f32>> PartialOrd<f32> for Calc<V>
impl<V: PartialOrd<f32>> PartialOrd<f32> for Calc<V>
sourcefn partial_cmp(&self, other: &f32) -> Option<Ordering>
fn partial_cmp(&self, other: &f32) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<V: ToCss + PartialOrd<f32> + Mul<f32, Output = V> + Clone + Debug> ToCss for Calc<V>
impl<V: ToCss + PartialOrd<f32> + Mul<f32, Output = V> + Clone + Debug> ToCss for Calc<V>
sourcefn 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
.
sourcefn 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 more
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.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more