[Positioning] Beautify code

In all classes:
- Read accessors return a const reference instead of a value.
- operator=() returns a const reference.
- Use '\n' instead of std::endl in all stream manipulations, when
  buffer flush is not required.
- Use pre-incrementing where possible, instead of post-incrementing.

- Point3D: Destructor must be virtual (thanks cppcheck!).
- Update TODO.
This commit is contained in:
Matteo Cypriani 2010-01-13 15:29:44 +01:00
parent cc31b5dcc6
commit ab3302ff28
22 changed files with 92 additions and 87 deletions

View File

@ -1,20 +1,22 @@
- Measurement & Request
Actuellement, l'AP associé à chaque Measurement (pointeur) n'est
pas initialisé lors de la lecture depuis un InputCSV. Les
Measurement sont créés par accès direct dans la table de hachage :
measurements[mac_ap].add_ss(ss)
C'est donc le constructeur par défaut Measurement() qui est utilisé
lors du premier accès.
- InputCSV
° Différencier une requête normale d'une requête de calibration, en
utilisant les champs de direction.
° Lire la direction en tant qu'entier plutôt que float ?
- '\n' vs. endl.
Utiliser '\n' plutôt que endl lorsque le vidage du tampon n'est pas
nécessaire.
- Commentaires doxygen
- Tests unitaires
- Affichage de debug
Garder (generaliser) ? Supprimer ?
- Réorganisation du dépôt ?
owlps-positioning/src
owlps-positioning/include
owlps-positioning/tests/src
owlps-positioning/tests/include
owlps-positioning/doc (générée par doxygen)
- Measurement
Vérifier le calcul de moyenne (a priori OK).
@ -25,14 +27,17 @@
° Compositions : devraient être représentées par des attributs
normaux.
- AccessPoint : attribut float friis_index ?
- Request
Constructeur par recopie, operator==(), etc.
- Mobile : attributs Viterbi ?
Cf. l'ancien clientinfo.hh.
- Area
operator=()
- Accesseurs par références ?
getref_mon_attribut() (cf. l'ancien clientinfo.hh)
> Accesseur en lecture : retourne une référence constante.
- AccessPoint
Attribut float friis_index ?
- Mobile
Attributs Viterbi ? (Cf. l'ancien clientinfo.hh.)
- C++ en action
Espaces de noms ? 109

View File

@ -8,7 +8,7 @@ using namespace std ;
/*** Opérateurs ***/
AccessPoint AccessPoint::operator=(const AccessPoint &ap)
const AccessPoint& AccessPoint::operator=(const AccessPoint &ap)
{
if (this == &ap)
return *this ;
@ -37,8 +37,8 @@ bool AccessPoint::operator==(const AccessPoint &ap) const
ostream &operator<<(ostream &os, const AccessPoint &ap)
{
os
<< "Coordinates: " << ap.coordinates << endl
<< "Frequency: " << ap.frequency << " Hz" << endl
<< "Coordinates: " << ap.coordinates << '\n'
<< "Frequency: " << ap.frequency << " Hz" << '\n'
<< (WifiDevice) ap ;
return os ;

View File

@ -33,13 +33,13 @@ public:
~AccessPoint() {}
Point3D get_coordinates(void) const ;
const Point3D& get_coordinates(void) const ;
unsigned int get_frequency(void) const ;
void set_coordinates(Point3D &_coordinates) ;
void set_frequency(unsigned int &_frequency) ;
AccessPoint operator=(const AccessPoint &ap) ;
const AccessPoint& operator=(const AccessPoint &ap) ;
bool operator==(const AccessPoint &ap) const ;
bool operator!=(const AccessPoint &ap) const ;
@ -51,7 +51,7 @@ public:
/*** Accesseurs lecture ***/
inline Point3D AccessPoint::get_coordinates() const
inline const Point3D& AccessPoint::get_coordinates() const
{
return coordinates ;
}

View File

@ -25,9 +25,9 @@ public:
~Area() {}
Building* get_building(void) const ;
std::string get_name(void) const ;
Point3D get_p_min(void) const ;
Point3D get_p_max(void) const ;
const std::string& get_name(void) const ;
const Point3D& get_p_min(void) const ;
const Point3D& get_p_max(void) const ;
void set_building(const Building *_building) ;
void set_name(const std::string &_name) ;
@ -59,19 +59,19 @@ inline Building* Area::get_building() const
}
inline std::string Area::get_name() const
inline const std::string& Area::get_name() const
{
return name ;
}
inline Point3D Area::get_p_min() const
inline const Point3D& Area::get_p_min() const
{
return p_min ;
}
inline Point3D Area::get_p_max() const
inline const Point3D& Area::get_p_max() const
{
return p_max ;
}

View File

@ -35,13 +35,13 @@ Building::Building(const Building &b)
Building::~Building()
{
// Empty Area list
for (vector<Area*>::iterator i = areas.begin() ; i != areas.end() ; i++)
for (vector<Area*>::iterator i = areas.begin() ; i != areas.end() ; ++i)
delete *i ;
areas.clear() ;
// Empty Waypoint list
for (vector<Waypoint*>::iterator i = waypoints.begin() ;
i != waypoints.end() ; i++)
i != waypoints.end() ; ++i)
{
// Delete current waypoint only if it is not linked to another building
if ((*i)->get_buildings().size() <= 1)
@ -55,7 +55,7 @@ Building::~Building()
/*** Opérateurs ***/
Building Building::operator=(const Building &b)
const Building& Building::operator=(const Building &b)
{
if (this == &b)
return *this ;

View File

@ -21,15 +21,15 @@ public :
~Building(void) ;
std::string get_name(void) const ;
std::vector<Area*> get_areas(void) const ;
std::vector<Waypoint*> get_waypoints(void) const ;
const std::string& get_name(void) const ;
const std::vector<Area*>& get_areas(void) const ;
const std::vector<Waypoint*>& 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) ;
const Building& operator=(const Building &p) ;
bool operator==(const Building &p) const ;
bool operator!=(const Building &p) const ;
@ -41,19 +41,19 @@ public :
/*** Accesseurs lecture ***/
inline std::string Building::get_name() const
inline const std::string& Building::get_name() const
{
return name ;
}
inline std::vector<Area*> Building::get_areas() const
inline const std::vector<Area*>& Building::get_areas() const
{
return areas ;
}
inline std::vector<Waypoint*> Building::get_waypoints() const
inline const std::vector<Waypoint*>& Building::get_waypoints() const
{
return waypoints ;
}

View File

@ -5,7 +5,7 @@
/*** Opérateurs ***/
CalibrationMeasurement
const CalibrationMeasurement&
CalibrationMeasurement::operator=(const CalibrationMeasurement &cm)
{
if (this == &cm)

View File

@ -26,7 +26,7 @@ public:
void set_reference_point(const ReferencePoint *_rp) ;
CalibrationMeasurement operator=(const CalibrationMeasurement &cm) ;
const CalibrationMeasurement& operator=(const CalibrationMeasurement &cm) ;
bool operator==(const CalibrationMeasurement &cm) ;
bool operator!=(const CalibrationMeasurement &cm) ;

View File

@ -45,7 +45,7 @@ void Measurement::update_average_ss()
average_ss = 0 ;
for (vector<int>::iterator i = ss_list.begin() ;
i != ss_list.end() ; i++)
i != ss_list.end() ; ++i)
{
float ss_mwatts =
pow(10, (float) *i / 10.0) +
@ -88,7 +88,7 @@ void Measurement::clear()
/*** Opérateurs ***/
Measurement Measurement::operator=(const Measurement &m)
const Measurement& Measurement::operator=(const Measurement &m)
{
if (this == &m)
return *this ;
@ -126,7 +126,7 @@ ostream &operator<<(ostream &os, const Measurement &m)
os << "No values" ;
else
for (vector<int>::const_iterator i = m.ss_list.begin() ;
i != m.ss_list.end() ; i++)
i != m.ss_list.end() ; ++i)
{
os << *i ;
if (i != m.ss_list.end() - 1)

View File

@ -24,7 +24,7 @@ public:
~Measurement() ;
AccessPoint* get_ap() const ;
std::vector<int> get_ss_list() const ;
const std::vector<int>& get_ss_list() const ;
float get_average_ss() const ;
//float get_ss_square_distance(const float &ss) const ;
@ -33,7 +33,7 @@ public:
void set_ss_list(const std::vector<int> &_ss_list) ;
void clear(void) ;
Measurement operator=(const Measurement &m) ;
const Measurement& operator=(const Measurement &m) ;
bool operator==(const Measurement &m) const ;
bool operator!=(const Measurement &m) const ;
operator bool(void) const ;
@ -52,7 +52,7 @@ inline AccessPoint* Measurement::get_ap() const
}
inline std::vector<int> Measurement::get_ss_list() const
inline const std::vector<int>& Measurement::get_ss_list() const
{
return ss_list ;
}

View File

@ -5,7 +5,7 @@
/*** Opérateurs ***/
Mobile Mobile::operator=(const Mobile &m)
const Mobile& Mobile::operator=(const Mobile &m)
{
if (this == &m)
return *this ;

View File

@ -22,7 +22,7 @@ public:
~Mobile() {}
Mobile operator=(const Mobile &m) ;
const Mobile& operator=(const Mobile &m) ;
bool operator==(const Mobile &m) const ;
bool operator!=(const Mobile &m) const ;

View File

@ -63,7 +63,7 @@ float Point3D::square_distance(const float &_x,
/*** Opérateurs ***/
Point3D Point3D::operator=(const Point3D &p)
const Point3D& Point3D::operator=(const Point3D &p)
{
if (this == &p)
return *this ;

View File

@ -16,7 +16,7 @@ public:
Point3D(const Point3D &p) ;
Point3D(const float c[3]) ;
~Point3D() {}
virtual ~Point3D(void) {}
float get_x(void) const ;
float get_y(void) const ;
@ -36,7 +36,7 @@ public:
const float &my,
const float &mz) const ;
Point3D operator=(const Point3D &p) ;
const Point3D& operator=(const Point3D &p) ;
bool operator==(const Point3D &p) const ;
bool operator!=(const Point3D &p) const ;
bool operator<(const Point3D &p) const ;

View File

@ -27,10 +27,10 @@ ReferencePoint::~ReferencePoint()
// new_meas.addSsValue(-95);
// /* Complete measurement vector with unexisting ap (from ref point) */
// for (i = 0 ; i < ref_m.size() ; i++)
// for (i = 0 ; i < ref_m.size() ; ++i)
// {
// found = false;
// for (j = 0 ; j < test_m.size() && !found ; j++)
// for (j = 0 ; j < test_m.size() && !found ; ++j)
// if (test_m[j].getMacAddr() == ref_m[i].getMacAddr())
// found = true;
// if (!found)
@ -41,10 +41,10 @@ ReferencePoint::~ReferencePoint()
// }
// /* Now, complete ref. point meas. */
// for (i = 0 ; i < test_m.size() ; i++)
// for (i = 0 ; i < test_m.size() ; ++i)
// {
// found = false;
// for (j = 0 ; j < ref_m.size() && !found ; j++)
// for (j = 0 ; j < ref_m.size() && !found ; ++j)
// if (test_m[i].getMacAddr() == ref_m[j].getMacAddr())
// found = true;
// if (!found)
@ -55,7 +55,7 @@ ReferencePoint::~ReferencePoint()
// }
// /* Now, compute SS distance */
// for (i = 0 ; i < test_m.size() ; i++)
// for (i = 0 ; i < test_m.size() ; ++i)
// {
// j = 0;
// found = false;
@ -66,7 +66,7 @@ ReferencePoint::~ReferencePoint()
// found = true;
// ret += ref_m[j].getSsSquareDistance(test_m[i].getAverage());
// }
// j++;
// ++j;
// }
// }
@ -83,7 +83,7 @@ ReferencePoint::~ReferencePoint()
// CalibrationMeasurement m;
// bool inserted = false;
// for (i = 0 ; i < measurements.size() ; i++)
// for (i = 0 ; i < measurements.size() ; ++i)
// if (measurements[i].getMacAddr() == mac_a)
// {
// measurements[i].addSsValue(value);
@ -110,7 +110,7 @@ ReferencePoint::~ReferencePoint()
// for (int j=0; j < length; ++j)
// str[j] = tolower(str[j]);
// for (i = 0 ; i < measurements.size() ; i++)
// for (i = 0 ; i < measurements.size() ; ++i)
// if (measurements[i].getMacAddr() == str)
// {
// *p = measurements[i].getAverage();
@ -125,7 +125,7 @@ ReferencePoint::~ReferencePoint()
/*** Opérateurs ***/
ReferencePoint ReferencePoint::operator=(const ReferencePoint &rp)
const ReferencePoint& ReferencePoint::operator=(const ReferencePoint &rp)
{
if (this == &rp)
return *this ;
@ -152,16 +152,16 @@ bool ReferencePoint::operator==(const ReferencePoint &rp) const
ostream &operator<<(ostream &os, const ReferencePoint &rp)
{
// Coordinates
os << (Point3D) rp << endl ;
os << (Point3D) rp << '\n' ;
// List of measurements
if (rp.measurements.size() == 0)
os << "No measurement." << endl ;
os << "No measurement." << '\n' ;
else
for (vector<CalibrationMeasurement*>::const_iterator
i = rp.measurements.begin() ;
i != rp.measurements.end() ; i++)
os << endl << *i ;
i != rp.measurements.end() ; ++i)
os << '\n' << *i ;
return os ;
}

View File

@ -22,13 +22,13 @@ public:
~ReferencePoint() ;
std::vector<CalibrationMeasurement*> get_measurements() const ;
const std::vector<CalibrationMeasurement*>& get_measurements(void) const ;
void add_measurement(const CalibrationMeasurement *cm) ;
// float get_ss_square_distance(const vector<CalibrationMeasurement> &m) const ;
// bool get_power_for_ap(const string &ap_mac, float *p) const ;
ReferencePoint operator=(const ReferencePoint &rp) ;
const ReferencePoint& operator=(const ReferencePoint &rp) ;
bool operator==(const ReferencePoint &rp) const ;
bool operator!=(const ReferencePoint &rp) const ;
@ -40,8 +40,8 @@ public:
/*** Accesseurs lecture ***/
inline
std::vector<CalibrationMeasurement*> ReferencePoint::get_measurements() const
inline const
std::vector<CalibrationMeasurement*>& ReferencePoint::get_measurements() const
{
return measurements ;
}

View File

@ -70,7 +70,7 @@ ostream &operator<<(ostream &os, const Request &r)
os << " No values" ;
else
for (unordered_map<string, Measurement>::const_iterator i
= r.measurements.begin() ; i != r.measurements.end() ; i++)
= r.measurements.begin() ; i != r.measurements.end() ; ++i)
{
os << '\n' << i->first << ": " << i->second ;
}

View File

@ -26,7 +26,7 @@ public:
const std::tr1::unordered_map<std::string, Measurement> &_measurements
= std::tr1::unordered_map<std::string, Measurement>()) ;
Mobile* get_mobile() const ;
Mobile* get_mobile(void) const ;
void set_mobile(const Mobile *_mobile) ;
void set_timestamp(const struct timespec &_timestamp) ;

View File

@ -32,7 +32,7 @@ Waypoint::~Waypoint()
/*** Opérateurs ***/
Waypoint Waypoint::operator=(const Waypoint &wp)
const Waypoint& Waypoint::operator=(const Waypoint &wp)
{
if (this == &wp)
return *this ;
@ -63,11 +63,11 @@ ostream &operator<<(ostream &os, const Waypoint &wp)
// List of buildings
if (wp.buildings.size() == 0)
os << endl << "Belongs to no building!" ;
os << '\n' << "Belongs to no building!" ;
else
for (vector<Building*>::const_iterator i = wp.buildings.begin() ;
i != wp.buildings.end() ; i++)
os << endl << *i ;
i != wp.buildings.end() ; ++i)
os << '\n' << *i ;
return os ;
}

View File

@ -24,11 +24,11 @@ public:
~Waypoint(void) ;
Building* get_1st_building(void) const ;
std::vector<Building*> get_buildings(void) const ;
const std::vector<Building*>& get_buildings(void) const ;
void add_building(const Building *_b) ;
Waypoint operator=(const Waypoint &wp) ;
const Waypoint& operator=(const Waypoint &wp) ;
bool operator==(const Waypoint &wp) const ;
bool operator!=(const Waypoint &wp) const ;
@ -53,7 +53,7 @@ inline Building* Waypoint::get_1st_building() const
}
inline std::vector<Building*> Waypoint::get_buildings() const
inline const std::vector<Building*>& Waypoint::get_buildings() const
{
return buildings ;
}

View File

@ -32,7 +32,7 @@ WifiDevice::WifiDevice(const WifiDevice &wd)
/*** Opérateurs ***/
WifiDevice WifiDevice::operator=(const WifiDevice &wd)
const WifiDevice& WifiDevice::operator=(const WifiDevice &wd)
{
if (this == &wd)
return *this ;
@ -63,9 +63,9 @@ bool WifiDevice::operator==(const WifiDevice &wd) const
ostream &operator<<(ostream &os, const WifiDevice &wd)
{
os
<< "IP address: " << wd.ip_addr << endl
<< "MAC address: " << wd.mac_addr << endl
<< "Antenna gain: " << wd.antenna_gain << "dBi" << endl
<< "IP address: " << wd.ip_addr << '\n'
<< "MAC address: " << wd.mac_addr << '\n'
<< "Antenna gain: " << wd.antenna_gain << "dBi" << '\n'
<< "Output power: " << wd.trx_power << "dBm" ;
return os ;

View File

@ -26,8 +26,8 @@ public:
~WifiDevice() {}
std::string get_ip_addr(void) const ;
std::string get_mac_addr(void) const ;
const std::string& get_ip_addr(void) const ;
const std::string& get_mac_addr(void) const ;
float get_antenna_gain(void) const ;
float get_trx_power(void) const ;
@ -36,7 +36,7 @@ public:
void set_antenna_gain(float &_antenna_gain) ;
void set_trx_power(float &_trx_power) ;
WifiDevice operator=(const WifiDevice &wd) ;
const WifiDevice& operator=(const WifiDevice &wd) ;
bool operator==(const WifiDevice &wd) const ;
bool operator!=(const WifiDevice &wl) const ;
@ -48,13 +48,13 @@ public:
/*** Accesseurs lecture ***/
inline std::string WifiDevice::get_ip_addr() const
inline const std::string& WifiDevice::get_ip_addr() const
{
return ip_addr ;
}
inline std::string WifiDevice::get_mac_addr() const
inline const std::string& WifiDevice::get_mac_addr() const
{
return mac_addr ;
}