mod constants {
pub const ROCKET: char = '🚀';
pub const HELICOPTER: char = '🚁';
pub const STEAM_LOCOMOTIVE: char = '🚂';
pub const RAILWAY_CAR: char = '🚃';
pub const HIGH_DASH_SPEED_TRAIN: char = '🚄';
pub const HIGH_DASH_SPEED_TRAIN_WITH_BULLET_NOSE: char = '🚅';
pub const TRAIN: char = '🚆';
pub const METRO: char = '🚇';
pub const LIGHT_RAIL: char = '🚈';
pub const STATION: char = '🚉';
pub const TRAM: char = '🚊';
pub const TRAM_CAR: char = '🚋';
pub const BUS: char = '🚌';
pub const ONCOMING_BUS: char = '🚍';
pub const TROLLEYBUS: char = '🚎';
pub const BUS_STOP: char = '🚏';
pub const MINIBUS: char = '🚐';
pub const AMBULANCE: char = '🚑';
pub const FIRE_ENGINE: char = '🚒';
pub const POLICE_CAR: char = '🚓';
pub const ONCOMING_POLICE_CAR: char = '🚔';
pub const TAXI: char = '🚕';
pub const ONCOMING_TAXI: char = '🚖';
pub const AUTOMOBILE: char = '🚗';
pub const ONCOMING_AUTOMOBILE: char = '🚘';
pub const RECREATIONAL_VEHICLE: char = '🚙';
pub const DELIVERY_TRUCK: char = '🚚';
pub const ARTICULATED_LORRY: char = '🚛';
pub const TRACTOR: char = '🚜';
pub const MONORAIL: char = '🚝';
pub const MOUNTAIN_RAILWAY: char = '🚞';
pub const SUSPENSION_RAILWAY: char = '🚟';
pub const MOUNTAIN_CABLEWAY: char = '🚠';
pub const AERIAL_TRAMWAY: char = '🚡';
pub const SHIP: char = '🚢';
pub const ROWBOAT: char = '🚣';
pub const SPEEDBOAT: char = '🚤';
pub const HORIZONTAL_TRAFFIC_LIGHT: char = '🚥';
pub const VERTICAL_TRAFFIC_LIGHT: char = '🚦';
pub const CONSTRUCTION_SIGN: char = '🚧';
pub const POLICE_CARS_REVOLVING_LIGHT: char = '🚨';
pub const TRIANGULAR_FLAG_ON_POST: char = '🚩';
pub const DOOR: char = '🚪';
pub const NO_ENTRY_SIGN: char = '🚫';
pub const SMOKING_SYMBOL: char = '🚬';
pub const NO_SMOKING_SYMBOL: char = '🚭';
pub const PUT_LITTER_IN_ITS_PLACE_SYMBOL: char = '🚮';
pub const DO_NOT_LITTER_SYMBOL: char = '🚯';
pub const POTABLE_WATER_SYMBOL: char = '🚰';
pub const NON_DASH_POTABLE_WATER_SYMBOL: char = '🚱';
pub const BICYCLE: char = '🚲';
pub const NO_BICYCLES: char = '🚳';
pub const BICYCLIST: char = '🚴';
pub const MOUNTAIN_BICYCLIST: char = '🚵';
pub const PEDESTRIAN: char = '🚶';
pub const NO_PEDESTRIANS: char = '🚷';
pub const CHILDREN_CROSSING: char = '🚸';
pub const MENS_SYMBOL: char = '🚹';
pub const WOMENS_SYMBOL: char = '🚺';
pub const RESTROOM: char = '🚻';
pub const BABY_SYMBOL: char = '🚼';
pub const TOILET: char = '🚽';
pub const WATER_CLOSET: char = '🚾';
pub const SHOWER: char = '🚿';
pub const BATH: char = '🛀';
pub const BATHTUB: char = '🛁';
pub const PASSPORT_CONTROL: char = '🛂';
pub const CUSTOMS: char = '🛃';
pub const BAGGAGE_CLAIM: char = '🛄';
pub const LEFT_LUGGAGE: char = '🛅';
pub const TRIANGLE_WITH_ROUNDED_CORNERS: char = '🛆';
pub const PROHIBITED_SIGN: char = '🛇';
pub const CIRCLED_INFORMATION_SOURCE: char = '🛈';
pub const BOYS_SYMBOL: char = '🛉';
pub const GIRLS_SYMBOL: char = '🛊';
pub const COUCH_AND_LAMP: char = '🛋';
pub const SLEEPING_ACCOMMODATION: char = '🛌';
pub const SHOPPING_BAGS: char = '🛍';
pub const BELLHOP_BELL: char = '🛎';
pub const BED: char = '🛏';
pub const PLACE_OF_WORSHIP: char = '🛐';
pub const OCTAGONAL_SIGN: char = '🛑';
pub const SHOPPING_TROLLEY: char = '🛒';
pub const STUPA: char = '🛓';
pub const PAGODA: char = '🛔';
pub const HINDU_TEMPLE: char = '🛕';
pub const HAMMER_AND_WRENCH: char = '🛠';
pub const SHIELD: char = '🛡';
pub const OIL_DRUM: char = '🛢';
pub const MOTORWAY: char = '🛣';
pub const RAILWAY_TRACK: char = '🛤';
pub const MOTOR_BOAT: char = '🛥';
pub const UP_DASH_POINTING_MILITARY_AIRPLANE: char = '🛦';
pub const UP_DASH_POINTING_AIRPLANE: char = '🛧';
pub const UP_DASH_POINTING_SMALL_AIRPLANE: char = '🛨';
pub const SMALL_AIRPLANE: char = '🛩';
pub const NORTHEAST_DASH_POINTING_AIRPLANE: char = '🛪';
pub const AIRPLANE_DEPARTURE: char = '🛫';
pub const AIRPLANE_ARRIVING: char = '🛬';
pub const SATELLITE: char = '🛰';
pub const ONCOMING_FIRE_ENGINE: char = '🛱';
pub const DIESEL_LOCOMOTIVE: char = '🛲';
pub const PASSENGER_SHIP: char = '🛳';
pub const SCOOTER: char = '🛴';
pub const MOTOR_SCOOTER: char = '🛵';
pub const CANOE: char = '🛶';
pub const SLED: char = '🛷';
pub const FLYING_SAUCER: char = '🛸';
pub const SKATEBOARD: char = '🛹';
pub const AUTO_RICKSHAW: char = '🛺';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum TransportandMapSymbols {
Rocket,
Helicopter,
SteamLocomotive,
RailwayCar,
HighDashSpeedTrain,
HighDashSpeedTrainWithBulletNose,
Train,
Metro,
LightRail,
Station,
Tram,
TramCar,
Bus,
OncomingBus,
Trolleybus,
BusStop,
Minibus,
Ambulance,
FireEngine,
PoliceCar,
OncomingPoliceCar,
Taxi,
OncomingTaxi,
Automobile,
OncomingAutomobile,
RecreationalVehicle,
DeliveryTruck,
ArticulatedLorry,
Tractor,
Monorail,
MountainRailway,
SuspensionRailway,
MountainCableway,
AerialTramway,
Ship,
Rowboat,
Speedboat,
HorizontalTrafficLight,
VerticalTrafficLight,
ConstructionSign,
PoliceCarsRevolvingLight,
TriangularFlagOnPost,
Door,
NoEntrySign,
SmokingSymbol,
NoSmokingSymbol,
PutLitterInItsPlaceSymbol,
DoNotLitterSymbol,
PotableWaterSymbol,
NonDashPotableWaterSymbol,
Bicycle,
NoBicycles,
Bicyclist,
MountainBicyclist,
Pedestrian,
NoPedestrians,
ChildrenCrossing,
MensSymbol,
WomensSymbol,
Restroom,
BabySymbol,
Toilet,
WaterCloset,
Shower,
Bath,
Bathtub,
PassportControl,
Customs,
BaggageClaim,
LeftLuggage,
TriangleWithRoundedCorners,
ProhibitedSign,
CircledInformationSource,
BoysSymbol,
GirlsSymbol,
CouchAndLamp,
SleepingAccommodation,
ShoppingBags,
BellhopBell,
Bed,
PlaceOfWorship,
OctagonalSign,
ShoppingTrolley,
Stupa,
Pagoda,
HinduTemple,
HammerAndWrench,
Shield,
OilDrum,
Motorway,
RailwayTrack,
MotorBoat,
UpDashPointingMilitaryAirplane,
UpDashPointingAirplane,
UpDashPointingSmallAirplane,
SmallAirplane,
NortheastDashPointingAirplane,
AirplaneDeparture,
AirplaneArriving,
Satellite,
OncomingFireEngine,
DieselLocomotive,
PassengerShip,
Scooter,
MotorScooter,
Canoe,
Sled,
FlyingSaucer,
Skateboard,
AutoRickshaw,
}
impl Into<char> for TransportandMapSymbols {
fn into(self) -> char {
use constants::*;
match self {
TransportandMapSymbols::Rocket => ROCKET,
TransportandMapSymbols::Helicopter => HELICOPTER,
TransportandMapSymbols::SteamLocomotive => STEAM_LOCOMOTIVE,
TransportandMapSymbols::RailwayCar => RAILWAY_CAR,
TransportandMapSymbols::HighDashSpeedTrain => HIGH_DASH_SPEED_TRAIN,
TransportandMapSymbols::HighDashSpeedTrainWithBulletNose => HIGH_DASH_SPEED_TRAIN_WITH_BULLET_NOSE,
TransportandMapSymbols::Train => TRAIN,
TransportandMapSymbols::Metro => METRO,
TransportandMapSymbols::LightRail => LIGHT_RAIL,
TransportandMapSymbols::Station => STATION,
TransportandMapSymbols::Tram => TRAM,
TransportandMapSymbols::TramCar => TRAM_CAR,
TransportandMapSymbols::Bus => BUS,
TransportandMapSymbols::OncomingBus => ONCOMING_BUS,
TransportandMapSymbols::Trolleybus => TROLLEYBUS,
TransportandMapSymbols::BusStop => BUS_STOP,
TransportandMapSymbols::Minibus => MINIBUS,
TransportandMapSymbols::Ambulance => AMBULANCE,
TransportandMapSymbols::FireEngine => FIRE_ENGINE,
TransportandMapSymbols::PoliceCar => POLICE_CAR,
TransportandMapSymbols::OncomingPoliceCar => ONCOMING_POLICE_CAR,
TransportandMapSymbols::Taxi => TAXI,
TransportandMapSymbols::OncomingTaxi => ONCOMING_TAXI,
TransportandMapSymbols::Automobile => AUTOMOBILE,
TransportandMapSymbols::OncomingAutomobile => ONCOMING_AUTOMOBILE,
TransportandMapSymbols::RecreationalVehicle => RECREATIONAL_VEHICLE,
TransportandMapSymbols::DeliveryTruck => DELIVERY_TRUCK,
TransportandMapSymbols::ArticulatedLorry => ARTICULATED_LORRY,
TransportandMapSymbols::Tractor => TRACTOR,
TransportandMapSymbols::Monorail => MONORAIL,
TransportandMapSymbols::MountainRailway => MOUNTAIN_RAILWAY,
TransportandMapSymbols::SuspensionRailway => SUSPENSION_RAILWAY,
TransportandMapSymbols::MountainCableway => MOUNTAIN_CABLEWAY,
TransportandMapSymbols::AerialTramway => AERIAL_TRAMWAY,
TransportandMapSymbols::Ship => SHIP,
TransportandMapSymbols::Rowboat => ROWBOAT,
TransportandMapSymbols::Speedboat => SPEEDBOAT,
TransportandMapSymbols::HorizontalTrafficLight => HORIZONTAL_TRAFFIC_LIGHT,
TransportandMapSymbols::VerticalTrafficLight => VERTICAL_TRAFFIC_LIGHT,
TransportandMapSymbols::ConstructionSign => CONSTRUCTION_SIGN,
TransportandMapSymbols::PoliceCarsRevolvingLight => POLICE_CARS_REVOLVING_LIGHT,
TransportandMapSymbols::TriangularFlagOnPost => TRIANGULAR_FLAG_ON_POST,
TransportandMapSymbols::Door => DOOR,
TransportandMapSymbols::NoEntrySign => NO_ENTRY_SIGN,
TransportandMapSymbols::SmokingSymbol => SMOKING_SYMBOL,
TransportandMapSymbols::NoSmokingSymbol => NO_SMOKING_SYMBOL,
TransportandMapSymbols::PutLitterInItsPlaceSymbol => PUT_LITTER_IN_ITS_PLACE_SYMBOL,
TransportandMapSymbols::DoNotLitterSymbol => DO_NOT_LITTER_SYMBOL,
TransportandMapSymbols::PotableWaterSymbol => POTABLE_WATER_SYMBOL,
TransportandMapSymbols::NonDashPotableWaterSymbol => NON_DASH_POTABLE_WATER_SYMBOL,
TransportandMapSymbols::Bicycle => BICYCLE,
TransportandMapSymbols::NoBicycles => NO_BICYCLES,
TransportandMapSymbols::Bicyclist => BICYCLIST,
TransportandMapSymbols::MountainBicyclist => MOUNTAIN_BICYCLIST,
TransportandMapSymbols::Pedestrian => PEDESTRIAN,
TransportandMapSymbols::NoPedestrians => NO_PEDESTRIANS,
TransportandMapSymbols::ChildrenCrossing => CHILDREN_CROSSING,
TransportandMapSymbols::MensSymbol => MENS_SYMBOL,
TransportandMapSymbols::WomensSymbol => WOMENS_SYMBOL,
TransportandMapSymbols::Restroom => RESTROOM,
TransportandMapSymbols::BabySymbol => BABY_SYMBOL,
TransportandMapSymbols::Toilet => TOILET,
TransportandMapSymbols::WaterCloset => WATER_CLOSET,
TransportandMapSymbols::Shower => SHOWER,
TransportandMapSymbols::Bath => BATH,
TransportandMapSymbols::Bathtub => BATHTUB,
TransportandMapSymbols::PassportControl => PASSPORT_CONTROL,
TransportandMapSymbols::Customs => CUSTOMS,
TransportandMapSymbols::BaggageClaim => BAGGAGE_CLAIM,
TransportandMapSymbols::LeftLuggage => LEFT_LUGGAGE,
TransportandMapSymbols::TriangleWithRoundedCorners => TRIANGLE_WITH_ROUNDED_CORNERS,
TransportandMapSymbols::ProhibitedSign => PROHIBITED_SIGN,
TransportandMapSymbols::CircledInformationSource => CIRCLED_INFORMATION_SOURCE,
TransportandMapSymbols::BoysSymbol => BOYS_SYMBOL,
TransportandMapSymbols::GirlsSymbol => GIRLS_SYMBOL,
TransportandMapSymbols::CouchAndLamp => COUCH_AND_LAMP,
TransportandMapSymbols::SleepingAccommodation => SLEEPING_ACCOMMODATION,
TransportandMapSymbols::ShoppingBags => SHOPPING_BAGS,
TransportandMapSymbols::BellhopBell => BELLHOP_BELL,
TransportandMapSymbols::Bed => BED,
TransportandMapSymbols::PlaceOfWorship => PLACE_OF_WORSHIP,
TransportandMapSymbols::OctagonalSign => OCTAGONAL_SIGN,
TransportandMapSymbols::ShoppingTrolley => SHOPPING_TROLLEY,
TransportandMapSymbols::Stupa => STUPA,
TransportandMapSymbols::Pagoda => PAGODA,
TransportandMapSymbols::HinduTemple => HINDU_TEMPLE,
TransportandMapSymbols::HammerAndWrench => HAMMER_AND_WRENCH,
TransportandMapSymbols::Shield => SHIELD,
TransportandMapSymbols::OilDrum => OIL_DRUM,
TransportandMapSymbols::Motorway => MOTORWAY,
TransportandMapSymbols::RailwayTrack => RAILWAY_TRACK,
TransportandMapSymbols::MotorBoat => MOTOR_BOAT,
TransportandMapSymbols::UpDashPointingMilitaryAirplane => UP_DASH_POINTING_MILITARY_AIRPLANE,
TransportandMapSymbols::UpDashPointingAirplane => UP_DASH_POINTING_AIRPLANE,
TransportandMapSymbols::UpDashPointingSmallAirplane => UP_DASH_POINTING_SMALL_AIRPLANE,
TransportandMapSymbols::SmallAirplane => SMALL_AIRPLANE,
TransportandMapSymbols::NortheastDashPointingAirplane => NORTHEAST_DASH_POINTING_AIRPLANE,
TransportandMapSymbols::AirplaneDeparture => AIRPLANE_DEPARTURE,
TransportandMapSymbols::AirplaneArriving => AIRPLANE_ARRIVING,
TransportandMapSymbols::Satellite => SATELLITE,
TransportandMapSymbols::OncomingFireEngine => ONCOMING_FIRE_ENGINE,
TransportandMapSymbols::DieselLocomotive => DIESEL_LOCOMOTIVE,
TransportandMapSymbols::PassengerShip => PASSENGER_SHIP,
TransportandMapSymbols::Scooter => SCOOTER,
TransportandMapSymbols::MotorScooter => MOTOR_SCOOTER,
TransportandMapSymbols::Canoe => CANOE,
TransportandMapSymbols::Sled => SLED,
TransportandMapSymbols::FlyingSaucer => FLYING_SAUCER,
TransportandMapSymbols::Skateboard => SKATEBOARD,
TransportandMapSymbols::AutoRickshaw => AUTO_RICKSHAW,
}
}
}
impl std::convert::TryFrom<char> for TransportandMapSymbols {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
ROCKET => Ok(TransportandMapSymbols::Rocket),
HELICOPTER => Ok(TransportandMapSymbols::Helicopter),
STEAM_LOCOMOTIVE => Ok(TransportandMapSymbols::SteamLocomotive),
RAILWAY_CAR => Ok(TransportandMapSymbols::RailwayCar),
HIGH_DASH_SPEED_TRAIN => Ok(TransportandMapSymbols::HighDashSpeedTrain),
HIGH_DASH_SPEED_TRAIN_WITH_BULLET_NOSE => Ok(TransportandMapSymbols::HighDashSpeedTrainWithBulletNose),
TRAIN => Ok(TransportandMapSymbols::Train),
METRO => Ok(TransportandMapSymbols::Metro),
LIGHT_RAIL => Ok(TransportandMapSymbols::LightRail),
STATION => Ok(TransportandMapSymbols::Station),
TRAM => Ok(TransportandMapSymbols::Tram),
TRAM_CAR => Ok(TransportandMapSymbols::TramCar),
BUS => Ok(TransportandMapSymbols::Bus),
ONCOMING_BUS => Ok(TransportandMapSymbols::OncomingBus),
TROLLEYBUS => Ok(TransportandMapSymbols::Trolleybus),
BUS_STOP => Ok(TransportandMapSymbols::BusStop),
MINIBUS => Ok(TransportandMapSymbols::Minibus),
AMBULANCE => Ok(TransportandMapSymbols::Ambulance),
FIRE_ENGINE => Ok(TransportandMapSymbols::FireEngine),
POLICE_CAR => Ok(TransportandMapSymbols::PoliceCar),
ONCOMING_POLICE_CAR => Ok(TransportandMapSymbols::OncomingPoliceCar),
TAXI => Ok(TransportandMapSymbols::Taxi),
ONCOMING_TAXI => Ok(TransportandMapSymbols::OncomingTaxi),
AUTOMOBILE => Ok(TransportandMapSymbols::Automobile),
ONCOMING_AUTOMOBILE => Ok(TransportandMapSymbols::OncomingAutomobile),
RECREATIONAL_VEHICLE => Ok(TransportandMapSymbols::RecreationalVehicle),
DELIVERY_TRUCK => Ok(TransportandMapSymbols::DeliveryTruck),
ARTICULATED_LORRY => Ok(TransportandMapSymbols::ArticulatedLorry),
TRACTOR => Ok(TransportandMapSymbols::Tractor),
MONORAIL => Ok(TransportandMapSymbols::Monorail),
MOUNTAIN_RAILWAY => Ok(TransportandMapSymbols::MountainRailway),
SUSPENSION_RAILWAY => Ok(TransportandMapSymbols::SuspensionRailway),
MOUNTAIN_CABLEWAY => Ok(TransportandMapSymbols::MountainCableway),
AERIAL_TRAMWAY => Ok(TransportandMapSymbols::AerialTramway),
SHIP => Ok(TransportandMapSymbols::Ship),
ROWBOAT => Ok(TransportandMapSymbols::Rowboat),
SPEEDBOAT => Ok(TransportandMapSymbols::Speedboat),
HORIZONTAL_TRAFFIC_LIGHT => Ok(TransportandMapSymbols::HorizontalTrafficLight),
VERTICAL_TRAFFIC_LIGHT => Ok(TransportandMapSymbols::VerticalTrafficLight),
CONSTRUCTION_SIGN => Ok(TransportandMapSymbols::ConstructionSign),
POLICE_CARS_REVOLVING_LIGHT => Ok(TransportandMapSymbols::PoliceCarsRevolvingLight),
TRIANGULAR_FLAG_ON_POST => Ok(TransportandMapSymbols::TriangularFlagOnPost),
DOOR => Ok(TransportandMapSymbols::Door),
NO_ENTRY_SIGN => Ok(TransportandMapSymbols::NoEntrySign),
SMOKING_SYMBOL => Ok(TransportandMapSymbols::SmokingSymbol),
NO_SMOKING_SYMBOL => Ok(TransportandMapSymbols::NoSmokingSymbol),
PUT_LITTER_IN_ITS_PLACE_SYMBOL => Ok(TransportandMapSymbols::PutLitterInItsPlaceSymbol),
DO_NOT_LITTER_SYMBOL => Ok(TransportandMapSymbols::DoNotLitterSymbol),
POTABLE_WATER_SYMBOL => Ok(TransportandMapSymbols::PotableWaterSymbol),
NON_DASH_POTABLE_WATER_SYMBOL => Ok(TransportandMapSymbols::NonDashPotableWaterSymbol),
BICYCLE => Ok(TransportandMapSymbols::Bicycle),
NO_BICYCLES => Ok(TransportandMapSymbols::NoBicycles),
BICYCLIST => Ok(TransportandMapSymbols::Bicyclist),
MOUNTAIN_BICYCLIST => Ok(TransportandMapSymbols::MountainBicyclist),
PEDESTRIAN => Ok(TransportandMapSymbols::Pedestrian),
NO_PEDESTRIANS => Ok(TransportandMapSymbols::NoPedestrians),
CHILDREN_CROSSING => Ok(TransportandMapSymbols::ChildrenCrossing),
MENS_SYMBOL => Ok(TransportandMapSymbols::MensSymbol),
WOMENS_SYMBOL => Ok(TransportandMapSymbols::WomensSymbol),
RESTROOM => Ok(TransportandMapSymbols::Restroom),
BABY_SYMBOL => Ok(TransportandMapSymbols::BabySymbol),
TOILET => Ok(TransportandMapSymbols::Toilet),
WATER_CLOSET => Ok(TransportandMapSymbols::WaterCloset),
SHOWER => Ok(TransportandMapSymbols::Shower),
BATH => Ok(TransportandMapSymbols::Bath),
BATHTUB => Ok(TransportandMapSymbols::Bathtub),
PASSPORT_CONTROL => Ok(TransportandMapSymbols::PassportControl),
CUSTOMS => Ok(TransportandMapSymbols::Customs),
BAGGAGE_CLAIM => Ok(TransportandMapSymbols::BaggageClaim),
LEFT_LUGGAGE => Ok(TransportandMapSymbols::LeftLuggage),
TRIANGLE_WITH_ROUNDED_CORNERS => Ok(TransportandMapSymbols::TriangleWithRoundedCorners),
PROHIBITED_SIGN => Ok(TransportandMapSymbols::ProhibitedSign),
CIRCLED_INFORMATION_SOURCE => Ok(TransportandMapSymbols::CircledInformationSource),
BOYS_SYMBOL => Ok(TransportandMapSymbols::BoysSymbol),
GIRLS_SYMBOL => Ok(TransportandMapSymbols::GirlsSymbol),
COUCH_AND_LAMP => Ok(TransportandMapSymbols::CouchAndLamp),
SLEEPING_ACCOMMODATION => Ok(TransportandMapSymbols::SleepingAccommodation),
SHOPPING_BAGS => Ok(TransportandMapSymbols::ShoppingBags),
BELLHOP_BELL => Ok(TransportandMapSymbols::BellhopBell),
BED => Ok(TransportandMapSymbols::Bed),
PLACE_OF_WORSHIP => Ok(TransportandMapSymbols::PlaceOfWorship),
OCTAGONAL_SIGN => Ok(TransportandMapSymbols::OctagonalSign),
SHOPPING_TROLLEY => Ok(TransportandMapSymbols::ShoppingTrolley),
STUPA => Ok(TransportandMapSymbols::Stupa),
PAGODA => Ok(TransportandMapSymbols::Pagoda),
HINDU_TEMPLE => Ok(TransportandMapSymbols::HinduTemple),
HAMMER_AND_WRENCH => Ok(TransportandMapSymbols::HammerAndWrench),
SHIELD => Ok(TransportandMapSymbols::Shield),
OIL_DRUM => Ok(TransportandMapSymbols::OilDrum),
MOTORWAY => Ok(TransportandMapSymbols::Motorway),
RAILWAY_TRACK => Ok(TransportandMapSymbols::RailwayTrack),
MOTOR_BOAT => Ok(TransportandMapSymbols::MotorBoat),
UP_DASH_POINTING_MILITARY_AIRPLANE => Ok(TransportandMapSymbols::UpDashPointingMilitaryAirplane),
UP_DASH_POINTING_AIRPLANE => Ok(TransportandMapSymbols::UpDashPointingAirplane),
UP_DASH_POINTING_SMALL_AIRPLANE => Ok(TransportandMapSymbols::UpDashPointingSmallAirplane),
SMALL_AIRPLANE => Ok(TransportandMapSymbols::SmallAirplane),
NORTHEAST_DASH_POINTING_AIRPLANE => Ok(TransportandMapSymbols::NortheastDashPointingAirplane),
AIRPLANE_DEPARTURE => Ok(TransportandMapSymbols::AirplaneDeparture),
AIRPLANE_ARRIVING => Ok(TransportandMapSymbols::AirplaneArriving),
SATELLITE => Ok(TransportandMapSymbols::Satellite),
ONCOMING_FIRE_ENGINE => Ok(TransportandMapSymbols::OncomingFireEngine),
DIESEL_LOCOMOTIVE => Ok(TransportandMapSymbols::DieselLocomotive),
PASSENGER_SHIP => Ok(TransportandMapSymbols::PassengerShip),
SCOOTER => Ok(TransportandMapSymbols::Scooter),
MOTOR_SCOOTER => Ok(TransportandMapSymbols::MotorScooter),
CANOE => Ok(TransportandMapSymbols::Canoe),
SLED => Ok(TransportandMapSymbols::Sled),
FLYING_SAUCER => Ok(TransportandMapSymbols::FlyingSaucer),
SKATEBOARD => Ok(TransportandMapSymbols::Skateboard),
AUTO_RICKSHAW => Ok(TransportandMapSymbols::AutoRickshaw),
_ => Err(()),
}
}
}
impl Into<u32> for TransportandMapSymbols {
fn into(self) -> u32 {
let c: char = self.into();
let hex = c
.escape_unicode()
.to_string()
.replace("\\u{", "")
.replace("}", "");
u32::from_str_radix(&hex, 16).unwrap()
}
}
impl std::convert::TryFrom<u32> for TransportandMapSymbols {
type Error = ();
fn try_from(u: u32) -> Result<Self, Self::Error> {
if let Ok(c) = char::try_from(u) {
Self::try_from(c)
} else {
Err(())
}
}
}
impl Iterator for TransportandMapSymbols {
type Item = Self;
fn next(&mut self) -> Option<Self> {
let index: u32 = (*self).into();
use std::convert::TryFrom;
Self::try_from(index + 1).ok()
}
}
impl TransportandMapSymbols {
pub fn new() -> Self {
TransportandMapSymbols::Rocket
}
pub fn name(&self) -> &str {
match self {
TransportandMapSymbols::Rocket => "rocket",
TransportandMapSymbols::Helicopter => "helicopter",
TransportandMapSymbols::SteamLocomotive => "steam locomotive",
TransportandMapSymbols::RailwayCar => "railway car",
TransportandMapSymbols::HighDashSpeedTrain => "high-speed train",
TransportandMapSymbols::HighDashSpeedTrainWithBulletNose => "high-speed train with bullet nose",
TransportandMapSymbols::Train => "train",
TransportandMapSymbols::Metro => "metro",
TransportandMapSymbols::LightRail => "light rail",
TransportandMapSymbols::Station => "station",
TransportandMapSymbols::Tram => "tram",
TransportandMapSymbols::TramCar => "tram car",
TransportandMapSymbols::Bus => "bus",
TransportandMapSymbols::OncomingBus => "oncoming bus",
TransportandMapSymbols::Trolleybus => "trolleybus",
TransportandMapSymbols::BusStop => "bus stop",
TransportandMapSymbols::Minibus => "minibus",
TransportandMapSymbols::Ambulance => "ambulance",
TransportandMapSymbols::FireEngine => "fire engine",
TransportandMapSymbols::PoliceCar => "police car",
TransportandMapSymbols::OncomingPoliceCar => "oncoming police car",
TransportandMapSymbols::Taxi => "taxi",
TransportandMapSymbols::OncomingTaxi => "oncoming taxi",
TransportandMapSymbols::Automobile => "automobile",
TransportandMapSymbols::OncomingAutomobile => "oncoming automobile",
TransportandMapSymbols::RecreationalVehicle => "recreational vehicle",
TransportandMapSymbols::DeliveryTruck => "delivery truck",
TransportandMapSymbols::ArticulatedLorry => "articulated lorry",
TransportandMapSymbols::Tractor => "tractor",
TransportandMapSymbols::Monorail => "monorail",
TransportandMapSymbols::MountainRailway => "mountain railway",
TransportandMapSymbols::SuspensionRailway => "suspension railway",
TransportandMapSymbols::MountainCableway => "mountain cableway",
TransportandMapSymbols::AerialTramway => "aerial tramway",
TransportandMapSymbols::Ship => "ship",
TransportandMapSymbols::Rowboat => "rowboat",
TransportandMapSymbols::Speedboat => "speedboat",
TransportandMapSymbols::HorizontalTrafficLight => "horizontal traffic light",
TransportandMapSymbols::VerticalTrafficLight => "vertical traffic light",
TransportandMapSymbols::ConstructionSign => "construction sign",
TransportandMapSymbols::PoliceCarsRevolvingLight => "police cars revolving light",
TransportandMapSymbols::TriangularFlagOnPost => "triangular flag on post",
TransportandMapSymbols::Door => "door",
TransportandMapSymbols::NoEntrySign => "no entry sign",
TransportandMapSymbols::SmokingSymbol => "smoking symbol",
TransportandMapSymbols::NoSmokingSymbol => "no smoking symbol",
TransportandMapSymbols::PutLitterInItsPlaceSymbol => "put litter in its place symbol",
TransportandMapSymbols::DoNotLitterSymbol => "do not litter symbol",
TransportandMapSymbols::PotableWaterSymbol => "potable water symbol",
TransportandMapSymbols::NonDashPotableWaterSymbol => "non-potable water symbol",
TransportandMapSymbols::Bicycle => "bicycle",
TransportandMapSymbols::NoBicycles => "no bicycles",
TransportandMapSymbols::Bicyclist => "bicyclist",
TransportandMapSymbols::MountainBicyclist => "mountain bicyclist",
TransportandMapSymbols::Pedestrian => "pedestrian",
TransportandMapSymbols::NoPedestrians => "no pedestrians",
TransportandMapSymbols::ChildrenCrossing => "children crossing",
TransportandMapSymbols::MensSymbol => "mens symbol",
TransportandMapSymbols::WomensSymbol => "womens symbol",
TransportandMapSymbols::Restroom => "restroom",
TransportandMapSymbols::BabySymbol => "baby symbol",
TransportandMapSymbols::Toilet => "toilet",
TransportandMapSymbols::WaterCloset => "water closet",
TransportandMapSymbols::Shower => "shower",
TransportandMapSymbols::Bath => "bath",
TransportandMapSymbols::Bathtub => "bathtub",
TransportandMapSymbols::PassportControl => "passport control",
TransportandMapSymbols::Customs => "customs",
TransportandMapSymbols::BaggageClaim => "baggage claim",
TransportandMapSymbols::LeftLuggage => "left luggage",
TransportandMapSymbols::TriangleWithRoundedCorners => "triangle with rounded corners",
TransportandMapSymbols::ProhibitedSign => "prohibited sign",
TransportandMapSymbols::CircledInformationSource => "circled information source",
TransportandMapSymbols::BoysSymbol => "boys symbol",
TransportandMapSymbols::GirlsSymbol => "girls symbol",
TransportandMapSymbols::CouchAndLamp => "couch and lamp",
TransportandMapSymbols::SleepingAccommodation => "sleeping accommodation",
TransportandMapSymbols::ShoppingBags => "shopping bags",
TransportandMapSymbols::BellhopBell => "bellhop bell",
TransportandMapSymbols::Bed => "bed",
TransportandMapSymbols::PlaceOfWorship => "place of worship",
TransportandMapSymbols::OctagonalSign => "octagonal sign",
TransportandMapSymbols::ShoppingTrolley => "shopping trolley",
TransportandMapSymbols::Stupa => "stupa",
TransportandMapSymbols::Pagoda => "pagoda",
TransportandMapSymbols::HinduTemple => "hindu temple",
TransportandMapSymbols::HammerAndWrench => "hammer and wrench",
TransportandMapSymbols::Shield => "shield",
TransportandMapSymbols::OilDrum => "oil drum",
TransportandMapSymbols::Motorway => "motorway",
TransportandMapSymbols::RailwayTrack => "railway track",
TransportandMapSymbols::MotorBoat => "motor boat",
TransportandMapSymbols::UpDashPointingMilitaryAirplane => "up-pointing military airplane",
TransportandMapSymbols::UpDashPointingAirplane => "up-pointing airplane",
TransportandMapSymbols::UpDashPointingSmallAirplane => "up-pointing small airplane",
TransportandMapSymbols::SmallAirplane => "small airplane",
TransportandMapSymbols::NortheastDashPointingAirplane => "northeast-pointing airplane",
TransportandMapSymbols::AirplaneDeparture => "airplane departure",
TransportandMapSymbols::AirplaneArriving => "airplane arriving",
TransportandMapSymbols::Satellite => "satellite",
TransportandMapSymbols::OncomingFireEngine => "oncoming fire engine",
TransportandMapSymbols::DieselLocomotive => "diesel locomotive",
TransportandMapSymbols::PassengerShip => "passenger ship",
TransportandMapSymbols::Scooter => "scooter",
TransportandMapSymbols::MotorScooter => "motor scooter",
TransportandMapSymbols::Canoe => "canoe",
TransportandMapSymbols::Sled => "sled",
TransportandMapSymbols::FlyingSaucer => "flying saucer",
TransportandMapSymbols::Skateboard => "skateboard",
TransportandMapSymbols::AutoRickshaw => "auto rickshaw",
}
}
}