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<'de, V> Deserialize<'de> for Calc<V>where
V: Deserialize<'de>,
impl<'de, V> Deserialize<'de> for Calc<V>where V: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
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<V: JsonSchema> JsonSchema for Calc<V>
impl<V: JsonSchema> JsonSchema for Calc<V>
source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moresource§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 = _
Available on crate feature
visitor
only.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.
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
source§impl<'i, T> ParseWithOptions<'i> for Twhere
T: Parse<'i>,
impl<'i, T> ParseWithOptions<'i> for Twhere T: Parse<'i>,
source§fn parse_with_options<'t>(
input: &mut Parser<'i, 't>,
_options: &ParserOptions<'_, '_>
) -> Result<T, ParseError<'i, ParserError<'i>>>
fn parse_with_options<'t>( input: &mut Parser<'i, 't>, _options: &ParserOptions<'_, '_> ) -> Result<T, ParseError<'i, ParserError<'i>>>
Parse a value of this type with the given options.
source§fn parse_string_with_options(
input: &'i str,
options: ParserOptions<'_, 'i>
) -> Result<Self, ParseError<'i, ParserError<'i>>>
fn parse_string_with_options( input: &'i str, options: ParserOptions<'_, 'i> ) -> Result<Self, ParseError<'i, ParserError<'i>>>
Parse a value from a string with the given options.