rust_icu_ustring

Macro buffered_uchar_method_with_retry

Source
macro_rules! buffered_uchar_method_with_retry {
    ($method_name:ident, $buffer_capacity:expr,
     [$($before_arg:ident: $before_arg_type:ty,)*],
     [$($after_arg:ident: $after_arg_type:ty,)*]) => { ... };
}
Expand description

Same as rust_icu_common::buffered_string_method_with_retry, but for unicode strings.

Example use:

Declares an internal function select_impl with a templatized type signature, which is then called in subsequent code.

pub fn select_ustring(&self, number: f64) -> Result<ustring::UChar, common::Error> {
    const BUFFER_CAPACITY: usize = 20;
    buffered_uchar_method_with_retry!(
        select_impl,
        BUFFER_CAPACITY,
        [rep: *const sys::UPluralRules, number: f64,],
        []
    );

    select_impl(
        versioned_function!(uplrules_select),
        self.rep.as_ptr(),
        number,
    )
}