rtz_core/geo/admin/shared.rs
1//! The `shared` module. Contains types and helpers pertinent to all admin implementations.
2
3use crate::geo::shared::{HasGeometry, HasProperties};
4
5// Types.
6
7// Traits.
8
9/// A trait for types that are an admin and have a [`Geometry`].
10///
11/// Helps abstract away this property so the helper methods can be generalized.
12pub trait IsAdmin: HasGeometry + HasProperties {
13 /// Get the `name` of the [`IsAdmin`].
14 fn name(&self) -> &str;
15}