unic_char_property/lib.rs
1// Copyright 2017 The UNIC Project Developers.
2//
3// See the COPYRIGHT file at the top-level directory of this distribution.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11#![no_std]
12#![warn(
13 bad_style,
14 missing_debug_implementations,
15 missing_docs,
16 unconditional_recursion
17)]
18#![forbid(unsafe_code)]
19
20//! # UNIC — Unicode Character Tools — Character Property
21//!
22//! A component of [`unic`: Unicode and Internationalization Crates for Rust](/unic/).
23//!
24//! Character Property taxonomy, contracts and build macros.
25//!
26//! ## References
27//!
28//! * [Unicode UTR #23: The Unicode Character Property Model](http://unicode.org/reports/tr23/).
29//!
30//! * [Unicode UAX #44: Unicode Character Database](http://unicode.org/reports/tr44/).
31//!
32//! * [PropertyAliases.txt](https://www.unicode.org/Public/UCD/latest/ucd/PropertyAliases.txt).
33
34#[macro_use]
35extern crate unic_char_range;
36
37mod pkg_info;
38pub use crate::pkg_info::{PKG_DESCRIPTION, PKG_NAME, PKG_VERSION};
39
40mod property;
41pub use self::property::{CharProperty, PartialCharProperty, TotalCharProperty};
42
43mod range_types;
44pub use crate::range_types::{
45 BinaryCharProperty,
46 CustomCharProperty,
47 EnumeratedCharProperty,
48 NumericCharProperty,
49 NumericCharPropertyValue,
50};
51
52mod macros;
53
54// pub because is used in macros, called from macro call-site.
55pub mod tables;
56
57// Used in macros
58#[doc(hidden)]
59pub use core::{fmt as __fmt, str as __str};