Struct icu_plurals::rules::ast::AndCondition[][src]

pub struct AndCondition(pub Box<[Relation]>);

An incomplete AST representation of a plural rule. Comprises a vector of Relations.

Examples

All AST nodes can be built explicitly, as seen in the example. However, due to its complexity, it is preferred to build the AST using the parse() function.

"i = 3 and v = 0"

Can be represented by the AST:

use icu::plurals::rules::ast::*;

AndCondition(Box::new([
    Relation {
        expression: Expression {
            operand: Operand::I,
            modulus: None,
        },
        operator: Operator::Eq,
        range_list: RangeList(Box::new([RangeListItem::Value(Value(5))])),
    },
    Relation {
        expression: Expression {
            operand: Operand::V,
            modulus: None,
        },
        operator: Operator::NotEq,
        range_list: RangeList(Box::new([RangeListItem::Value(Value(2))])),
    },
]));

Trait Implementations

impl Clone for AndCondition[src]

impl Debug for AndCondition[src]

impl PartialEq<AndCondition> for AndCondition[src]

impl StructuralPartialEq for AndCondition[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> ErasedDataStruct for T where
    T: Clone + Debug + Any
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.