13 FacPlace* FacPlace::_instance = NULL;
16 FacPlace::FacPlace() {
20 FacPlace::FacPlace (
const FacPlace&) {
31 if (_instance == NULL) {
33 assert (_instance != NULL);
42 Place* oPlace_ptr = NULL;
44 oPlace_ptr =
new Place();
45 assert (oPlace_ptr != NULL);
48 _pool.push_back (oPlace_ptr);
55 Place* oPlace_ptr = NULL;
57 oPlace_ptr =
new Place (iLocationKey);
58 assert (oPlace_ptr != NULL);
61 _pool.push_back (oPlace_ptr);
68 Place* oPlace_ptr = NULL;
70 oPlace_ptr =
new Place (iLocation);
71 assert (oPlace_ptr != NULL);
74 _pool.push_back (oPlace_ptr);
81 Place* oPlace_ptr = NULL;
83 oPlace_ptr =
new Place (iPlace);
84 assert (oPlace_ptr != NULL);
87 _pool.push_back (oPlace_ptr);
94 Place& ioExtraPlace) {
96 ioExtraPlace._mainPlace = &ioMainPlace;
100 ioMainPlace._extraPlaceList.push_back (&ioExtraPlace);
105 Place& ioAlternatePlace) {
107 ioAlternatePlace._mainPlace = &ioMainPlace;
111 ioMainPlace._alternatePlaceList.push_back (&ioAlternatePlace);
Class modelling the primary key of a location/POR (point of reference).
static FacSupervisor & instance()
static FacPlace & instance()
static void initLinkWithAlternatePlace(Place &, Place &)
Structure modelling a (geographical) location.
void registerBomFactory(FacBomAbstract *)
static void initLinkWithExtraPlace(Place &, Place &)
Place & clone(const Place &)
Class modelling a place/POR (point of reference).