Struct icu_list::ListFormatter
source · pub struct ListFormatter { /* private fields */ }
Expand description
A formatter that renders sequences of items in an i18n-friendly way. See the crate-level documentation for more details.
Implementations§
source§impl ListFormatter
impl ListFormatter
sourcepub fn try_new_and_with_length(
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_and_with_length( locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
Creates a new ListFormatter
that produces a and-type list using compiled data.
See the CLDR spec for an explanation of the different types.
✨ Enabled with the compiled_data
Cargo feature.
✨ Enabled with the compiled_data
Cargo feature.
sourcepub fn try_new_and_with_length_with_any_provider(
provider: &(impl AnyProvider + ?Sized),
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_and_with_length_with_any_provider( provider: &(impl AnyProvider + ?Sized), locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_and_with_length
that uses custom data provided by an AnyProvider
.
sourcepub fn try_new_and_with_length_with_buffer_provider(
provider: &(impl BufferProvider + ?Sized),
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_and_with_length_with_buffer_provider( provider: &(impl BufferProvider + ?Sized), locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_and_with_length
that uses custom data provided by a BufferProvider
.
✨ Enabled with the serde
feature.
sourcepub fn try_new_and_with_length_unstable(
provider: &(impl DataProvider<AndListV1Marker> + ?Sized),
locale: &DataLocale,
length: ListLength
) -> Result<Self, ListError>
pub fn try_new_and_with_length_unstable( provider: &(impl DataProvider<AndListV1Marker> + ?Sized), locale: &DataLocale, length: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_and_with_length
that uses custom data provided by a DataProvider
.
sourcepub fn try_new_or_with_length(
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_or_with_length( locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
Creates a new ListFormatter
that produces a or-type list using compiled data.
See the CLDR spec for an explanation of the different types.
✨ Enabled with the compiled_data
Cargo feature.
✨ Enabled with the compiled_data
Cargo feature.
sourcepub fn try_new_or_with_length_with_any_provider(
provider: &(impl AnyProvider + ?Sized),
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_or_with_length_with_any_provider( provider: &(impl AnyProvider + ?Sized), locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_or_with_length
that uses custom data provided by an AnyProvider
.
sourcepub fn try_new_or_with_length_with_buffer_provider(
provider: &(impl BufferProvider + ?Sized),
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_or_with_length_with_buffer_provider( provider: &(impl BufferProvider + ?Sized), locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_or_with_length
that uses custom data provided by a BufferProvider
.
✨ Enabled with the serde
feature.
sourcepub fn try_new_or_with_length_unstable(
provider: &(impl DataProvider<OrListV1Marker> + ?Sized),
locale: &DataLocale,
length: ListLength
) -> Result<Self, ListError>
pub fn try_new_or_with_length_unstable( provider: &(impl DataProvider<OrListV1Marker> + ?Sized), locale: &DataLocale, length: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_or_with_length
that uses custom data provided by a DataProvider
.
sourcepub fn try_new_unit_with_length(
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_unit_with_length( locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
Creates a new ListFormatter
that produces a unit-type list using compiled data.
See the CLDR spec for an explanation of the different types.
✨ Enabled with the compiled_data
Cargo feature.
✨ Enabled with the compiled_data
Cargo feature.
sourcepub fn try_new_unit_with_length_with_any_provider(
provider: &(impl AnyProvider + ?Sized),
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_unit_with_length_with_any_provider( provider: &(impl AnyProvider + ?Sized), locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_unit_with_length
that uses custom data provided by an AnyProvider
.
sourcepub fn try_new_unit_with_length_with_buffer_provider(
provider: &(impl BufferProvider + ?Sized),
locale: &DataLocale,
style: ListLength
) -> Result<Self, ListError>
pub fn try_new_unit_with_length_with_buffer_provider( provider: &(impl BufferProvider + ?Sized), locale: &DataLocale, style: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_unit_with_length
that uses custom data provided by a BufferProvider
.
✨ Enabled with the serde
feature.
sourcepub fn try_new_unit_with_length_unstable(
provider: &(impl DataProvider<UnitListV1Marker> + ?Sized),
locale: &DataLocale,
length: ListLength
) -> Result<Self, ListError>
pub fn try_new_unit_with_length_unstable( provider: &(impl DataProvider<UnitListV1Marker> + ?Sized), locale: &DataLocale, length: ListLength ) -> Result<Self, ListError>
A version of Self::try_new_unit_with_length
that uses custom data provided by a DataProvider
.
sourcepub fn format<'a, W: Writeable + 'a, I: Iterator<Item = W> + Clone + 'a>(
&'a self,
values: I
) -> FormattedList<'a, W, I>
pub fn format<'a, W: Writeable + 'a, I: Iterator<Item = W> + Clone + 'a>( &'a self, values: I ) -> FormattedList<'a, W, I>
Returns a Writeable
composed of the input Writeable
s and the language-dependent
formatting.
The Writeable
is annotated with parts::ELEMENT
for input elements,
and parts::LITERAL
for list literals.
§Example
use icu::list::*;
let formatteur = ListFormatter::try_new_and_with_length(
&locale!("fr").into(),
ListLength::Wide,
)
.unwrap();
let pays = ["Italie", "France", "Espagne", "Allemagne"];
assert_writeable_parts_eq!(
formatteur.format(pays.iter()),
"Italie, France, Espagne et Allemagne",
[
(0, 6, parts::ELEMENT),
(6, 8, parts::LITERAL),
(8, 14, parts::ELEMENT),
(14, 16, parts::LITERAL),
(16, 23, parts::ELEMENT),
(23, 27, parts::LITERAL),
(27, 36, parts::ELEMENT),
]
);