egml_core/model/measures/volume.rs
1use crate::impl_measure_type;
2use crate::model::basic_types::Measure;
3
4/// A volume quantity with its unit of measure.
5///
6/// Corresponds to `gml:VolumeType` in ISO 19136 — a vacuous extension of
7/// `gml:MeasureType`. The unit referenced by `uom` should be suitable for a
8/// volume, such as cubic metres.
9///
10/// # Examples
11///
12/// ```rust
13/// use egml_core::model::measures::Volume;
14///
15/// let capacity = Volume::new(45.0, "m3");
16/// assert_eq!(capacity.value(), 45.0);
17/// ```
18#[derive(Debug, Clone, PartialEq, PartialOrd)]
19pub struct Volume(Measure);
20
21impl_measure_type!(Volume);