[][src]Trait intl_pluralrules::operands::IntoPluralOperands

pub trait IntoPluralOperands {
    fn into_plural(self) -> Result<PluralOperands, &'static str>;
}

A trait that can be implemented on any type to allow it for passing to select. This trait is made public for implementations of custom types. If you are using generic types, you should use from.

Example

use intl_pluralrules::operands::*;
use intl_pluralrules::{IntlPluralRules, PluralRuleType, PluralCategory};

struct MyType {
    value: isize
}

impl IntoPluralOperands for MyType {
    fn into_plural(self) -> Result<PluralOperands, &'static str> {
        Ok(PluralOperands {
            n: self.value as f64,
            i: self.value as isize,
            v: 0,
            w: 0,
            f: 0,
            t: 0,
        })
    }
}

let pr = IntlPluralRules::create("en", PluralRuleType::CARDINAL).unwrap();
let v = MyType { value: 5 };

assert_eq!(pr.select(v), Ok(PluralCategory::OTHER));

Required methods

fn into_plural(self) -> Result<PluralOperands, &'static str>

Loading content...

Implementations on Foreign Types

impl<'a> IntoPluralOperands for &'a str[src]

impl IntoPluralOperands for u8[src]

impl IntoPluralOperands for u16[src]

impl IntoPluralOperands for u32[src]

impl IntoPluralOperands for u64[src]

impl IntoPluralOperands for usize[src]

impl IntoPluralOperands for i8[src]

impl IntoPluralOperands for i16[src]

impl IntoPluralOperands for i32[src]

impl IntoPluralOperands for i64[src]

impl IntoPluralOperands for isize[src]

impl IntoPluralOperands for f32[src]

impl IntoPluralOperands for f64[src]

impl IntoPluralOperands for String[src]

Loading content...

Implementors

Loading content...