world_region/
abbreviation.rs1crate::ix!();
3
4impl Abbreviation for WorldRegion {
6 fn abbreviation(&self) -> &'static str {
7 match self {
8 WorldRegion::NorthAmerica(r) => r.abbreviation(),
9 WorldRegion::CentralAmerica(r) => r.abbreviation(),
10 WorldRegion::SouthAmerica(r) => r.abbreviation(),
11 WorldRegion::Europe(r) => r.abbreviation(),
12 WorldRegion::Africa(r) => r.abbreviation(),
13 WorldRegion::Asia(r) => r.abbreviation(),
14 WorldRegion::AustraliaOceaniaAntarctica(r) => r.abbreviation(),
15 }
16 }
17}
18
19impl TryFromAbbreviation for WorldRegion {
20
21 type Error = TryFromAbbreviationError;
22
23 fn try_from_abbreviation(abbr: &str) -> Result<Self, Self::Error> {
24
25 if let Ok(x) = NorthAmericaRegion::try_from_abbreviation(abbr) { return Ok(WorldRegion::NorthAmerica(x)); }
26 if let Ok(x) = CentralAmericaRegion::try_from_abbreviation(abbr) { return Ok(WorldRegion::CentralAmerica(x)); }
27 if let Ok(x) = SouthAmericaRegion::try_from_abbreviation(abbr) { return Ok(WorldRegion::SouthAmerica(x)); }
28 if let Ok(x) = EuropeRegion::try_from_abbreviation(abbr) { return Ok(WorldRegion::Europe(x)); }
29 if let Ok(x) = AfricaRegion::try_from_abbreviation(abbr) { return Ok(WorldRegion::Africa(x)); }
30 if let Ok(x) = AsiaRegion::try_from_abbreviation(abbr) { return Ok(WorldRegion::Asia(x)); }
31 if let Ok(x) = AustraliaOceaniaAntarcticaRegion::try_from_abbreviation(abbr) { return Ok(WorldRegion::AustraliaOceaniaAntarctica(x)); }
32
33 Err(TryFromAbbreviationError::InvalidAbbreviation)
34 }
35}