refs #403 extern templates

This commit is contained in:
Roland Winklmeier
2015-04-10 23:34:33 +02:00
parent 38b00e06b3
commit f75c81010d
10 changed files with 161 additions and 32 deletions

View File

@@ -26,6 +26,10 @@ namespace BlackMisc
namespace Geo
{
class CLatitude;
class CLongitude;
/*!
* Base class for latitude / longitude
*/
@@ -134,6 +138,10 @@ namespace BlackMisc
//! Easy access to derived class (CRTP template parameter)
LATorLON *derived() { return static_cast<LATorLON *>(this); }
};
extern template class CEarthAngle<CLatitude>;
extern template class CEarthAngle<CLongitude>;
}
}

View File

@@ -18,6 +18,22 @@
namespace BlackMisc
{
namespace Aviation
{
class CAtcStation;
class CAtcStationList;
class CAircraft;
class CAircraftList;
class CAirport;
class CAirportList;
}
namespace Simulation
{
class CSimulatedAircraft;
class CSimulatedAircraftList;
}
namespace Geo
{
//! List of objects with geo coordinates.
@@ -45,6 +61,11 @@ namespace BlackMisc
CONTAINER &container();
};
extern template class IGeoObjectList<BlackMisc::Aviation::CAtcStation, BlackMisc::Aviation::CAtcStationList>;
extern template class IGeoObjectList<BlackMisc::Aviation::CAircraft, BlackMisc::Aviation::CAircraftList>;
extern template class IGeoObjectList<BlackMisc::Aviation::CAirport, BlackMisc::Aviation::CAirportList>;
extern template class IGeoObjectList<BlackMisc::Simulation::CSimulatedAircraft, BlackMisc::Simulation::CSimulatedAircraftList>;
//! List of objects with geo coordinates.
template<class OBJ, class CONTAINER>
class IGeoObjectWithRelativePositionList : public IGeoObjectList<OBJ, CONTAINER>
@@ -71,6 +92,11 @@ namespace BlackMisc
};
extern template class IGeoObjectWithRelativePositionList<BlackMisc::Aviation::CAtcStation, BlackMisc::Aviation::CAtcStationList>;
extern template class IGeoObjectWithRelativePositionList<BlackMisc::Aviation::CAircraft, BlackMisc::Aviation::CAircraftList>;
extern template class IGeoObjectWithRelativePositionList<BlackMisc::Aviation::CAirport, BlackMisc::Aviation::CAirportList>;
extern template class IGeoObjectWithRelativePositionList<BlackMisc::Simulation::CSimulatedAircraft, BlackMisc::Simulation::CSimulatedAircraftList>;
} //namespace
} // namespace