#ifndef _OWLPS_POSITIONING_REFERENCEPOINT_HH_ #define _OWLPS_POSITIONING_REFERENCEPOINT_HH_ class Area ; class Waypoint ; #include #include class Building { protected: std::string name ; std::vector areas ; std::vector waypoints ; public : Building(const std::string &_name = "Unnamed building") ; Building(const Building &b) ; ~Building(void) ; std::string get_name(void) const ; std::vector get_areas(void) const ; std::vector get_waypoints(void) const ; void set_name(const std::string &_name) ; void add_area(const Area *a) ; void add_waypoint(const Waypoint *wp) ; Building operator=(const Building &p) ; bool operator==(const Building &p) const ; bool operator!=(const Building &p) const ; friend std::ostream& operator<<(std::ostream &os, const Building &b) ; } ; /*** Accesseurs lecture ***/ inline std::string Building::get_name() const { return name ; } inline std::vector Building::get_areas() const { return areas ; } inline std::vector Building::get_waypoints() const { return waypoints ; } /*** Accesseurs écriture ***/ inline void Building::set_name(const std::string &_name) { name = _name ; } inline void Building::add_area(const Area *a) { areas.push_back((Area *) a) ; } inline void Building::add_waypoint(const Waypoint *wp) { waypoints.push_back((Waypoint *) wp) ; } /*** Opérateurs ***/ inline bool Building::operator!=(const Building &b) const { return !(*this == b) ; } #endif // _OWLPS_POSITIONING_REFERENCEPOINT_HH_