Struct icu::plurals::rules::ast::Condition[][src]

pub struct Condition(pub Box<[AndCondition], Global>);

A complete AST representation of a plural rule’s condition. Comprises a vector of AndConditions.

Examples

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

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

assert_eq!(
    condition,
    parse_condition(b"i = 5 or v = 2")
         .expect("Parsing failed")
)

Trait Implementations

impl Clone for Condition[src]

impl Debug for Condition[src]

impl PartialEq<Condition> for Condition[src]

impl StructuralPartialEq for Condition[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

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.