| 255 | |
| 256 | template<typename TVisitor> |
| 257 | static auto visitObject(const ObjectType type, Object& obj, TVisitor&& visitor) |
| 258 | { |
| 259 | switch (type) |
| 260 | { |
| 261 | case ObjectType::interfaceSkin: |
| 262 | return visitor(reinterpret_cast<InterfaceSkinObject*>(&obj)); |
| 263 | case ObjectType::sound: |
| 264 | return visitor(reinterpret_cast<SoundObject*>(&obj)); |
| 265 | case ObjectType::currency: |
| 266 | return visitor(reinterpret_cast<CurrencyObject*>(&obj)); |
| 267 | case ObjectType::steam: |
| 268 | return visitor(reinterpret_cast<SteamObject*>(&obj)); |
| 269 | case ObjectType::cliffEdge: |
| 270 | return visitor(reinterpret_cast<CliffEdgeObject*>(&obj)); |
| 271 | case ObjectType::water: |
| 272 | return visitor(reinterpret_cast<WaterObject*>(&obj)); |
| 273 | case ObjectType::land: |
| 274 | return visitor(reinterpret_cast<LandObject*>(&obj)); |
| 275 | case ObjectType::townNames: |
| 276 | return visitor(reinterpret_cast<TownNamesObject*>(&obj)); |
| 277 | case ObjectType::cargo: |
| 278 | return visitor(reinterpret_cast<CargoObject*>(&obj)); |
| 279 | case ObjectType::wall: |
| 280 | return visitor(reinterpret_cast<WallObject*>(&obj)); |
| 281 | case ObjectType::trackSignal: |
| 282 | return visitor(reinterpret_cast<TrainSignalObject*>(&obj)); |
| 283 | case ObjectType::levelCrossing: |
| 284 | return visitor(reinterpret_cast<LevelCrossingObject*>(&obj)); |
| 285 | case ObjectType::streetLight: |
| 286 | return visitor(reinterpret_cast<StreetLightObject*>(&obj)); |
| 287 | case ObjectType::tunnel: |
| 288 | return visitor(reinterpret_cast<TunnelObject*>(&obj)); |
| 289 | case ObjectType::bridge: |
| 290 | return visitor(reinterpret_cast<BridgeObject*>(&obj)); |
| 291 | case ObjectType::trainStation: |
| 292 | return visitor(reinterpret_cast<TrainStationObject*>(&obj)); |
| 293 | case ObjectType::trackExtra: |
| 294 | return visitor(reinterpret_cast<TrackExtraObject*>(&obj)); |
| 295 | case ObjectType::track: |
| 296 | return visitor(reinterpret_cast<TrackObject*>(&obj)); |
| 297 | case ObjectType::roadStation: |
| 298 | return visitor(reinterpret_cast<RoadStationObject*>(&obj)); |
| 299 | case ObjectType::roadExtra: |
| 300 | return visitor(reinterpret_cast<RoadExtraObject*>(&obj)); |
| 301 | case ObjectType::road: |
| 302 | return visitor(reinterpret_cast<RoadObject*>(&obj)); |
| 303 | case ObjectType::airport: |
| 304 | return visitor(reinterpret_cast<AirportObject*>(&obj)); |
| 305 | case ObjectType::dock: |
| 306 | return visitor(reinterpret_cast<DockObject*>(&obj)); |
| 307 | case ObjectType::vehicle: |
| 308 | return visitor(reinterpret_cast<VehicleObject*>(&obj)); |
| 309 | case ObjectType::tree: |
| 310 | return visitor(reinterpret_cast<TreeObject*>(&obj)); |
| 311 | case ObjectType::snow: |
| 312 | return visitor(reinterpret_cast<SnowObject*>(&obj)); |
| 313 | case ObjectType::climate: |
| 314 | return visitor(reinterpret_cast<ClimateObject*>(&obj)); |
no outgoing calls
no test coverage detected