icu_provider_blob/
lib.rs

1// This file is part of ICU4X. For terms of use, please see the file
2// called LICENSE at the top level of the ICU4X source tree
3// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
4
5//! `icu_provider_blob` contains [`BlobDataProvider`], a [`BufferProvider`] implementation that
6//! supports loading data from a single serialized blob.
7//!
8//! To build blob data, use the `--format blob` option of [`icu_provider_export`]:
9//!
10//! ```bash
11//! $ icu4x-datagen --markers all --locales full --format blob --out data.postcard
12//! ```
13//!
14//! [`ICU4X`]: ../icu/index.html
15//! [`BufferProvider`]: icu_provider::buf::BufferProvider
16//! [`icu_provider_export`]: ../icu_provider_export/index.html
17
18// https://github.com/unicode-org/icu4x/blob/main/documents/process/boilerplate.md#library-annotations
19#![cfg_attr(not(any(test, feature = "export")), no_std)]
20#![cfg_attr(
21    not(test),
22    deny(
23        clippy::indexing_slicing,
24        clippy::unwrap_used,
25        clippy::expect_used,
26        clippy::panic,
27        clippy::exhaustive_structs,
28        clippy::exhaustive_enums,
29        clippy::trivially_copy_pass_by_ref,
30        missing_debug_implementations,
31    )
32)]
33#![warn(missing_docs)]
34
35#[cfg(feature = "alloc")]
36extern crate alloc;
37
38mod blob_data_provider;
39mod blob_schema;
40
41#[cfg(feature = "export")]
42pub mod export;
43
44pub use blob_data_provider::BlobDataProvider;