1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//! Core data types for RF-Ham libraries.
//!
//! `rfham-core` provides foundational types shared across all crates in the `rust-rfham`
//! ecosystem: callsign parsing, frequency and power measurements, country codes, regulatory
//! agencies, and string-typed identifiers.
//!
//! # Type overview
//!
//! | Module | Key types | Purpose |
//! |--------|-----------|---------|
//! | [`callsign`] | [`callsign::CallSign`] | ITU-format amateur radio callsigns |
//! | [`frequency`] | [`Frequency`], [`frequency::Wavelength`], [`frequency::FrequencyRange`] | RF frequency values and ranges |
//! | [`power`] | [`Power`] | Transmit / receive power levels |
//! | [`country`] | [`CountryCode`] | ISO 3166-1 alpha-2 country codes |
//! | [`agency`] | [`Agency`] | Regulatory and standards bodies |
//! | [`id`] | [`Name`], [`id::DisplayName`], [`id::Tag`] | Validated string identifiers |
//! | [`fmt`] | [`fmt::Formatter`] | Custom formatting trait |
//! | [`conversions`] | [`conversions::LengthInFeet`] | Imperial length representation |
//!
//! # Quick start
//!
//! ```rust
//! use rfham_core::{
//! callsign::CallSign,
//! Frequency,
//! Power,
//! };
//!
//! let callsign: CallSign = "K7SKJ/M".parse().unwrap();
//! assert_eq!(callsign.prefix(), "K");
//! assert!(callsign.is_mobile());
//!
//! let freq = Frequency::megahertz(146.52);
//! let power = Power::watts(5.0);
//! println!("{callsign} on {freq} at {power}");
//! ```
//!
//! # Features
//!
//! - **`std`** *(default)*: enables `std`-backed dependencies (I/O errors, `LazyLock`, etc.).
//! Disable for `no_std` + `alloc` environments.
extern crate alloc;
// ------------------------------------------------------------------------------------------------
// Modules
// ------------------------------------------------------------------------------------------------
pub use Agency;
pub use CountryCode;
pub use Frequency;
pub use Name;
pub use Power;