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 + 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>
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: PartialEq> PartialEq<Calc<V>> for Calc<V>
impl<V: PartialEq> PartialEq<Calc<V>> for Calc<V>
sourceimpl<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>
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
sourceimpl<V: TrySign> TrySign for Calc<V>
impl<V: TrySign> TrySign for Calc<V>
sourcefn is_sign_positive(&self) -> bool
fn is_sign_positive(&self) -> bool
Returns whether the value is positive. If not possible, returns false.
sourcefn is_sign_negative(&self) -> bool
fn is_sign_negative(&self) -> bool
Returns whether the value is negative. If not possible, returns false.
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
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
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