[Positioner] Use auto for iterators
Use the 'auto' keyword instead of declaring explicitly an iterator type, where possible.
This commit is contained in:
parent
17dd3ee6bf
commit
ea01f09b5e
|
@ -121,9 +121,8 @@ void AutocalibrationLine::sort_reference_cps()
|
||||||
const vector<CalibrationRequest*> &ref_cr = ref_rp.get_requests() ;
|
const vector<CalibrationRequest*> &ref_cr = ref_rp.get_requests() ;
|
||||||
/* Search for the first measurement made by RX in ref_rp */
|
/* Search for the first measurement made by RX in ref_rp */
|
||||||
const Measurement *rx_measurement = NULL ;
|
const Measurement *rx_measurement = NULL ;
|
||||||
vector<CalibrationRequest*>::const_iterator cr ;
|
|
||||||
const string &rx_mac = rx->second.get_mac_addr() ;
|
const string &rx_mac = rx->second.get_mac_addr() ;
|
||||||
for (cr = ref_cr.begin() ; cr != ref_cr.end() ; ++cr)
|
for (auto cr = ref_cr.begin() ; cr != ref_cr.end() ; ++cr)
|
||||||
{
|
{
|
||||||
rx_measurement = (*cr)->get_measurement(rx_mac) ;
|
rx_measurement = (*cr)->get_measurement(rx_mac) ;
|
||||||
if (rx_measurement)
|
if (rx_measurement)
|
||||||
|
|
|
@ -68,8 +68,7 @@ void AutocalibrationMesh::sort_reference_cps()
|
||||||
sorted_negative_angles.clear() ;
|
sorted_negative_angles.clear() ;
|
||||||
sorted_positive_angles.clear() ;
|
sorted_positive_angles.clear() ;
|
||||||
|
|
||||||
for (unordered_map<string, CapturePoint>::const_iterator
|
for (auto ref = Stock::cps.begin() ; ref != Stock::cps.end() ; ++ref)
|
||||||
ref = Stock::cps.begin() ; ref != Stock::cps.end() ; ++ref)
|
|
||||||
{
|
{
|
||||||
if (ref == rx)
|
if (ref == rx)
|
||||||
continue ;
|
continue ;
|
||||||
|
|
|
@ -33,14 +33,12 @@ using namespace std ;
|
||||||
Building::~Building()
|
Building::~Building()
|
||||||
{
|
{
|
||||||
// Empty Area list
|
// Empty Area list
|
||||||
for (unordered_map<string, Area*>::const_iterator i = areas.begin() ;
|
for (auto i = areas.begin() ; i != areas.end() ; ++i)
|
||||||
i != areas.end() ; ++i)
|
|
||||||
delete i->second ;
|
delete i->second ;
|
||||||
areas.clear() ;
|
areas.clear() ;
|
||||||
|
|
||||||
// Empty Waypoint list
|
// Empty Waypoint list
|
||||||
for (unordered_set<Waypoint*>::const_iterator i = waypoints.begin() ;
|
for (auto i = waypoints.begin() ; i != waypoints.end() ; ++i)
|
||||||
i != waypoints.end() ; ++i)
|
|
||||||
Stock::waypoint_remove_building(**i, this) ;
|
Stock::waypoint_remove_building(**i, this) ;
|
||||||
waypoints.clear() ;
|
waypoints.clear() ;
|
||||||
}
|
}
|
||||||
|
@ -65,8 +63,7 @@ void Building::add_area(Area *&area)
|
||||||
string area_name = area->get_name() ;
|
string area_name = area->get_name() ;
|
||||||
|
|
||||||
// Check if the area already exist in areas
|
// Check if the area already exist in areas
|
||||||
unordered_map<string, Area*>::const_iterator i =
|
auto i = areas.find(area_name) ;
|
||||||
areas.find(area_name) ;
|
|
||||||
if (i != areas.end())
|
if (i != areas.end())
|
||||||
{
|
{
|
||||||
// Do not delete if area points to the already stored Area
|
// Do not delete if area points to the already stored Area
|
||||||
|
|
|
@ -66,8 +66,7 @@ received_calibration_from_cp(const CapturePoint &trx) const
|
||||||
unsigned int
|
unsigned int
|
||||||
received_packets = 0,
|
received_packets = 0,
|
||||||
expected_packets = 0 ;
|
expected_packets = 0 ;
|
||||||
for (vector<CalibrationRequest*>::const_iterator cr =
|
for (auto cr = ref_requests.begin() ; cr != ref_requests.end() ; ++cr)
|
||||||
ref_requests.begin() ; cr != ref_requests.end() ; ++cr)
|
|
||||||
{
|
{
|
||||||
const Measurement *const measurement =
|
const Measurement *const measurement =
|
||||||
(*cr)->get_measurement(mac_addr) ;
|
(*cr)->get_measurement(mac_addr) ;
|
||||||
|
|
|
@ -85,8 +85,7 @@ value_exists_in_string_vector(const string &key, const string &value)
|
||||||
|
|
||||||
vector<string> key_values = configuration[key].as< vector<string> >() ;
|
vector<string> key_values = configuration[key].as< vector<string> >() ;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = key_values.begin() ;
|
for (auto i = key_values.begin() ; i != key_values.end() ; ++i)
|
||||||
i != key_values.end() ; ++i)
|
|
||||||
if (*i == value)
|
if (*i == value)
|
||||||
return true ;
|
return true ;
|
||||||
|
|
||||||
|
|
|
@ -77,8 +77,7 @@ bool CSVStringReader::read_timestamp(Timestamp &t)
|
||||||
|
|
||||||
tokenizer<escaped_list_separator<char> > tok(
|
tokenizer<escaped_list_separator<char> > tok(
|
||||||
timestamp_str, escaped_list_separator<char>('\\', '.', '\"')) ;
|
timestamp_str, escaped_list_separator<char>('\\', '.', '\"')) ;
|
||||||
tokenizer<escaped_list_separator<char> >::const_iterator tok_iter =
|
auto tok_iter = tok.begin() ;
|
||||||
tok.begin() ;
|
|
||||||
|
|
||||||
if (tok_iter == tok.end())
|
if (tok_iter == tok.end())
|
||||||
return false ;
|
return false ;
|
||||||
|
|
|
@ -43,8 +43,7 @@ Input::~Input()
|
||||||
{
|
{
|
||||||
delete medium ;
|
delete medium ;
|
||||||
|
|
||||||
for (vector<InputLogMedium*>::const_iterator i = log_media.begin() ;
|
for (auto i = log_media.begin() ; i != log_media.end() ; ++i)
|
||||||
i != log_media.end() ; ++i)
|
|
||||||
delete *i ;
|
delete *i ;
|
||||||
log_media.clear() ;
|
log_media.clear() ;
|
||||||
}
|
}
|
||||||
|
@ -98,8 +97,7 @@ void Input::initialise_log_media()
|
||||||
const vector<string> &media_names =
|
const vector<string> &media_names =
|
||||||
Configuration::string_vector_value("log.medium") ;
|
Configuration::string_vector_value("log.medium") ;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = media_names.begin() ;
|
for (auto i = media_names.begin() ; i != media_names.end() ; ++i)
|
||||||
i != media_names.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (*i == "CSV")
|
if (*i == "CSV")
|
||||||
initialise_log_csv() ;
|
initialise_log_csv() ;
|
||||||
|
@ -193,7 +191,6 @@ bool Input::eof() const
|
||||||
|
|
||||||
void Input::log_current_request() const
|
void Input::log_current_request() const
|
||||||
{
|
{
|
||||||
for (vector<InputLogMedium*>::const_iterator i = log_media.begin() ;
|
for (auto i = log_media.begin() ; i != log_media.end() ; ++i)
|
||||||
i != log_media.end() ; ++i)
|
|
||||||
(*i)->log_request(medium->get_current_request()) ;
|
(*i)->log_request(medium->get_current_request()) ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,8 +42,7 @@ InputDataReader::InputDataReader()
|
||||||
|
|
||||||
InputDataReader::~InputDataReader()
|
InputDataReader::~InputDataReader()
|
||||||
{
|
{
|
||||||
for (vector<InputMedium*>::const_iterator i =
|
for (auto i = reference_points_media.begin() ;
|
||||||
reference_points_media.begin() ;
|
|
||||||
i != reference_points_media.end() ; ++i)
|
i != reference_points_media.end() ; ++i)
|
||||||
delete *i ;
|
delete *i ;
|
||||||
reference_points_media.clear() ;
|
reference_points_media.clear() ;
|
||||||
|
@ -71,8 +70,7 @@ void InputDataReader::initialise_access_points_media()
|
||||||
const vector<string> &media_names =
|
const vector<string> &media_names =
|
||||||
Configuration::string_vector_value("data-input.cp-medium") ;
|
Configuration::string_vector_value("data-input.cp-medium") ;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = media_names.begin() ;
|
for (auto i = media_names.begin() ; i != media_names.end() ; ++i)
|
||||||
i != media_names.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (*i == "CSV")
|
if (*i == "CSV")
|
||||||
initialise_access_points_csv() ;
|
initialise_access_points_csv() ;
|
||||||
|
@ -116,8 +114,7 @@ void InputDataReader::initialise_mobiles_media()
|
||||||
const vector<string> &media_names =
|
const vector<string> &media_names =
|
||||||
Configuration::string_vector_value("data-input.mobile-medium") ;
|
Configuration::string_vector_value("data-input.mobile-medium") ;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = media_names.begin() ;
|
for (auto i = media_names.begin() ; i != media_names.end() ; ++i)
|
||||||
i != media_names.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (*i == "CSV")
|
if (*i == "CSV")
|
||||||
initialise_mobiles_csv() ;
|
initialise_mobiles_csv() ;
|
||||||
|
@ -165,8 +162,7 @@ void InputDataReader::initialise_topology_media()
|
||||||
const vector<string> &media_names =
|
const vector<string> &media_names =
|
||||||
Configuration::string_vector_value("data-input.topology-medium") ;
|
Configuration::string_vector_value("data-input.topology-medium") ;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = media_names.begin() ;
|
for (auto i = media_names.begin() ; i != media_names.end() ; ++i)
|
||||||
i != media_names.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (*i == "CSV")
|
if (*i == "CSV")
|
||||||
initialise_topology_csv() ;
|
initialise_topology_csv() ;
|
||||||
|
@ -220,8 +216,7 @@ void InputDataReader::initialise_reference_points_media()
|
||||||
const vector<string> &media_names =
|
const vector<string> &media_names =
|
||||||
Configuration::string_vector_value("data-input.reference-points-medium") ;
|
Configuration::string_vector_value("data-input.reference-points-medium") ;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = media_names.begin() ;
|
for (auto i = media_names.begin() ; i != media_names.end() ; ++i)
|
||||||
i != media_names.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (*i == "CSV")
|
if (*i == "CSV")
|
||||||
initialise_reference_points_csv() ;
|
initialise_reference_points_csv() ;
|
||||||
|
@ -247,8 +242,7 @@ void InputDataReader::initialise_reference_points_csv()
|
||||||
|
|
||||||
void InputDataReader::read_from_reference_points_media()
|
void InputDataReader::read_from_reference_points_media()
|
||||||
{
|
{
|
||||||
for (vector<InputMedium*>::const_iterator i =
|
for (auto i = reference_points_media.begin() ;
|
||||||
reference_points_media.begin() ;
|
|
||||||
i != reference_points_media.end() ; ++i)
|
i != reference_points_media.end() ; ++i)
|
||||||
{
|
{
|
||||||
while (! (*i)->eof())
|
while (! (*i)->eof())
|
||||||
|
|
|
@ -45,7 +45,7 @@ Measurement::~Measurement()
|
||||||
*/
|
*/
|
||||||
ss_t Measurement::get_ss(const pkt_id_t pkt_id) const
|
ss_t Measurement::get_ss(const pkt_id_t pkt_id) const
|
||||||
{
|
{
|
||||||
std::map<pkt_id_t, ss_t>::const_iterator ss = ss_list.find(pkt_id) ;
|
auto ss = ss_list.find(pkt_id) ;
|
||||||
if (ss == ss_list.end())
|
if (ss == ss_list.end())
|
||||||
return 0 ;
|
return 0 ;
|
||||||
return ss->second ;
|
return ss->second ;
|
||||||
|
@ -89,8 +89,7 @@ add_ss_list(const map<pkt_id_t, ss_t> &_ss_list)
|
||||||
{
|
{
|
||||||
// We cannot use insert() here because we want to overwrite the
|
// We cannot use insert() here because we want to overwrite the
|
||||||
// previous values with the same ID, if any.
|
// previous values with the same ID, if any.
|
||||||
for (map<pkt_id_t, ss_t>::const_iterator
|
for (auto i = _ss_list.begin() ; i != _ss_list.end() ; ++i)
|
||||||
i = _ss_list.begin() ; i != _ss_list.end() ; ++i)
|
|
||||||
ss_list[i->first] = i->second ;
|
ss_list[i->first] = i->second ;
|
||||||
|
|
||||||
recalculate_average() ;
|
recalculate_average() ;
|
||||||
|
@ -198,8 +197,8 @@ nb_in_interval(const Measurement &source, const float bound) const
|
||||||
{
|
{
|
||||||
unsigned int nb_values = 0 ;
|
unsigned int nb_values = 0 ;
|
||||||
|
|
||||||
for (map<pkt_id_t, ss_t>::const_iterator ss =
|
for (auto ss = source.ss_list.begin() ; ss != source.ss_list.end() ;
|
||||||
source.ss_list.begin() ; ss != source.ss_list.end() ; ++ss)
|
++ss)
|
||||||
if (PosUtil::is_in_interval(average_dbm, bound, ss->second))
|
if (PosUtil::is_in_interval(average_dbm, bound, ss->second))
|
||||||
++nb_values ;
|
++nb_values ;
|
||||||
|
|
||||||
|
@ -217,8 +216,7 @@ void Measurement::recalculate_average()
|
||||||
variance_dbm_m2 = 0 ;
|
variance_dbm_m2 = 0 ;
|
||||||
variance_size = 0 ;
|
variance_size = 0 ;
|
||||||
|
|
||||||
for (map<pkt_id_t, ss_t>::const_iterator
|
for (auto i = ss_list.begin() ; i != ss_list.end() ; ++i)
|
||||||
i = ss_list.begin() ; i != ss_list.end() ; ++i)
|
|
||||||
update_average(i->second) ;
|
update_average(i->second) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -294,8 +292,7 @@ const string Measurement::to_csv() const
|
||||||
if (cp)
|
if (cp)
|
||||||
mac_cp = cp->get_mac_addr() ;
|
mac_cp = cp->get_mac_addr() ;
|
||||||
|
|
||||||
for (map<pkt_id_t, ss_t>::const_iterator
|
for (auto i = ss_list.begin() ; i != ss_list.end() ; ++i)
|
||||||
i = ss_list.begin() ; i != ss_list.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (i != ss_list.begin())
|
if (i != ss_list.begin())
|
||||||
csv_line << ';' ;
|
csv_line << ';' ;
|
||||||
|
@ -321,8 +318,7 @@ ostream &operator<<(ostream &os, const Measurement &m)
|
||||||
if (m.ss_list.empty())
|
if (m.ss_list.empty())
|
||||||
os << "No values" ;
|
os << "No values" ;
|
||||||
else
|
else
|
||||||
for (map<pkt_id_t, ss_t>::const_iterator
|
for (auto i = m.ss_list.begin() ; i != m.ss_list.end() ; ++i)
|
||||||
i = m.ss_list.begin() ; i != m.ss_list.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (i != m.ss_list.begin())
|
if (i != m.ss_list.begin())
|
||||||
os << ';' ;
|
os << ';' ;
|
||||||
|
|
|
@ -38,8 +38,7 @@ Output::Output()
|
||||||
|
|
||||||
Output::~Output()
|
Output::~Output()
|
||||||
{
|
{
|
||||||
for (vector<OutputMedium*>::const_iterator i = output_media.begin() ;
|
for (auto i = output_media.begin() ; i != output_media.end() ; ++i)
|
||||||
i != output_media.end() ; ++i)
|
|
||||||
delete *i ;
|
delete *i ;
|
||||||
output_media.clear() ;
|
output_media.clear() ;
|
||||||
}
|
}
|
||||||
|
@ -60,8 +59,7 @@ void Output::initialise_output_media()
|
||||||
const vector<string> &media_names =
|
const vector<string> &media_names =
|
||||||
Configuration::string_vector_value("output.medium") ;
|
Configuration::string_vector_value("output.medium") ;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = media_names.begin() ;
|
for (auto i = media_names.begin() ; i != media_names.end() ; ++i)
|
||||||
i != media_names.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (*i == "Terminal")
|
if (*i == "Terminal")
|
||||||
initialise_output_terminal() ;
|
initialise_output_terminal() ;
|
||||||
|
@ -123,7 +121,6 @@ void Output::initialise_output_tcpevaal_socket()
|
||||||
|
|
||||||
void Output::write(const ResultList &results) const
|
void Output::write(const ResultList &results) const
|
||||||
{
|
{
|
||||||
for (vector<OutputMedium*>::const_iterator i = output_media.begin() ;
|
for (auto i = output_media.begin() ; i != output_media.end() ; ++i)
|
||||||
i != output_media.end() ; ++i)
|
|
||||||
(*i)->write(results) ;
|
(*i)->write(results) ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,8 +44,7 @@ Positioning::Positioning()
|
||||||
|
|
||||||
Positioning::~Positioning()
|
Positioning::~Positioning()
|
||||||
{
|
{
|
||||||
for (vector<PositioningAlgorithm*>::const_iterator i =
|
for (auto i = algorithms.begin() ; i != algorithms.end() ; ++i)
|
||||||
algorithms.begin() ; i != algorithms.end() ; ++i)
|
|
||||||
delete *i ;
|
delete *i ;
|
||||||
algorithms.clear() ;
|
algorithms.clear() ;
|
||||||
}
|
}
|
||||||
|
@ -68,13 +67,11 @@ void Positioning::initialise_algorithms()
|
||||||
// avoid multiple occurrences of the same algorithm:
|
// avoid multiple occurrences of the same algorithm:
|
||||||
unordered_set<string> stored_algos ;
|
unordered_set<string> stored_algos ;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = algo_names.begin() ;
|
for (auto i = algo_names.begin() ; i != algo_names.end() ; ++i)
|
||||||
i != algo_names.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
if (*i == "Real")
|
if (*i == "Real")
|
||||||
{
|
{
|
||||||
pair<unordered_set<string>::iterator, bool> stored =
|
auto stored = stored_algos.insert("Real") ;
|
||||||
stored_algos.insert("Real") ;
|
|
||||||
if (stored.second) // Check if there was no previous instance
|
if (stored.second) // Check if there was no previous instance
|
||||||
algorithms.insert(algorithms.begin(), new RealPosition) ;
|
algorithms.insert(algorithms.begin(), new RealPosition) ;
|
||||||
/* Note: in order to compute the errors of the other
|
/* Note: in order to compute the errors of the other
|
||||||
|
@ -84,8 +81,7 @@ void Positioning::initialise_algorithms()
|
||||||
|
|
||||||
else if (*i == "FBCM")
|
else if (*i == "FBCM")
|
||||||
{
|
{
|
||||||
pair<unordered_set<string>::iterator, bool> stored =
|
auto stored = stored_algos.insert("FBCM") ;
|
||||||
stored_algos.insert("FBCM") ;
|
|
||||||
if (stored.second) // Check if there was no previous instance
|
if (stored.second) // Check if there was no previous instance
|
||||||
{
|
{
|
||||||
/* Generate the Friis indexes only if the autocalibration
|
/* Generate the Friis indexes only if the autocalibration
|
||||||
|
@ -100,8 +96,7 @@ void Positioning::initialise_algorithms()
|
||||||
|
|
||||||
else if (*i == "FRBHMBasic")
|
else if (*i == "FRBHMBasic")
|
||||||
{
|
{
|
||||||
pair<unordered_set<string>::iterator, bool> stored =
|
auto stored = stored_algos.insert("FRBHMBasic") ;
|
||||||
stored_algos.insert("FRBHMBasic") ;
|
|
||||||
if (stored.second) // Check if there was no previous instance
|
if (stored.second) // Check if there was no previous instance
|
||||||
algorithms.push_back(new FRBHMBasic) ;
|
algorithms.push_back(new FRBHMBasic) ;
|
||||||
// TODO: Pre-compute all per-ReferencePoint friis indexes?
|
// TODO: Pre-compute all per-ReferencePoint friis indexes?
|
||||||
|
@ -109,16 +104,14 @@ void Positioning::initialise_algorithms()
|
||||||
|
|
||||||
else if (*i == "InterlinkNetworks")
|
else if (*i == "InterlinkNetworks")
|
||||||
{
|
{
|
||||||
pair<unordered_set<string>::iterator, bool> stored =
|
auto stored = stored_algos.insert("InterlinkNetworks") ;
|
||||||
stored_algos.insert("InterlinkNetworks") ;
|
|
||||||
if (stored.second) // Check if there was no previous instance
|
if (stored.second) // Check if there was no previous instance
|
||||||
algorithms.push_back(new InterlinkNetworks) ;
|
algorithms.push_back(new InterlinkNetworks) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (*i == "NSS")
|
else if (*i == "NSS")
|
||||||
{
|
{
|
||||||
pair<unordered_set<string>::iterator, bool> stored =
|
auto stored = stored_algos.insert("NSS") ;
|
||||||
stored_algos.insert("NSS") ;
|
|
||||||
if (stored.second) // Check if there was no previous instance
|
if (stored.second) // Check if there was no previous instance
|
||||||
algorithms.push_back(new NSS) ;
|
algorithms.push_back(new NSS) ;
|
||||||
}
|
}
|
||||||
|
@ -144,8 +137,7 @@ void Positioning::loop()
|
||||||
Point3D real_position ;
|
Point3D real_position ;
|
||||||
bool compute_error = false ;
|
bool compute_error = false ;
|
||||||
ResultList results(&request) ;
|
ResultList results(&request) ;
|
||||||
for (algo = algorithms.begin() ; algo != algorithms.end() ;
|
for (algo = algorithms.begin() ; algo != algorithms.end() ; ++algo)
|
||||||
++algo)
|
|
||||||
{
|
{
|
||||||
Result res ;
|
Result res ;
|
||||||
|
|
||||||
|
|
|
@ -63,16 +63,14 @@ void PosUtil::complete_with_dummy_measurements(
|
||||||
Measurement dummy ;
|
Measurement dummy ;
|
||||||
dummy.add_ss(1, Configuration::int_value("positioning.smallest-ss")) ;
|
dummy.add_ss(1, Configuration::int_value("positioning.smallest-ss")) ;
|
||||||
|
|
||||||
for (unordered_map<string, Measurement>::const_iterator i =
|
for (auto i = measurements1.begin() ; i != measurements1.end() ; ++i)
|
||||||
measurements1.begin() ; i != measurements1.end() ; ++i)
|
|
||||||
if (measurements2.find(i->first) == measurements2.end())
|
if (measurements2.find(i->first) == measurements2.end())
|
||||||
{
|
{
|
||||||
dummy.set_cp(&Stock::get_cp(i->first)) ;
|
dummy.set_cp(&Stock::get_cp(i->first)) ;
|
||||||
measurements2[i->first] = dummy ;
|
measurements2[i->first] = dummy ;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (unordered_map<string, Measurement>::const_iterator i =
|
for (auto i = measurements2.begin() ; i != measurements2.end() ; ++i)
|
||||||
measurements2.begin() ; i != measurements2.end() ; ++i)
|
|
||||||
if (measurements1.find(i->first) == measurements1.end())
|
if (measurements1.find(i->first) == measurements1.end())
|
||||||
{
|
{
|
||||||
dummy.set_cp(&Stock::get_cp(i->first)) ;
|
dummy.set_cp(&Stock::get_cp(i->first)) ;
|
||||||
|
@ -99,11 +97,9 @@ float PosUtil::similarity(
|
||||||
|
|
||||||
float similarity = 0 ;
|
float similarity = 0 ;
|
||||||
|
|
||||||
for (unordered_map<string, Measurement>::const_iterator i1 =
|
for (auto i1 = measurements1.begin() ; i1 != measurements1.end() ; ++i1)
|
||||||
measurements1.begin() ; i1 != measurements1.end() ; ++i1)
|
|
||||||
{
|
{
|
||||||
unordered_map<string, Measurement>::const_iterator i2 =
|
auto i2 = measurements2.find(i1->first) ;
|
||||||
measurements2.find(i1->first) ;
|
|
||||||
assert(i2 != measurements2.end()) ;
|
assert(i2 != measurements2.end()) ;
|
||||||
similarity += i1->second.similarity(i2->second) ;
|
similarity += i1->second.similarity(i2->second) ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,9 +45,7 @@ average_measurements(const std::string &mac_transmitter) const
|
||||||
double avg = 0 ;
|
double avg = 0 ;
|
||||||
int n_ss = 0 ;
|
int n_ss = 0 ;
|
||||||
|
|
||||||
for (unordered_map<string, Measurement>::const_iterator i =
|
for (auto i = measurements.begin() ; i != measurements.end() ; ++i)
|
||||||
measurements.begin() ;
|
|
||||||
i != measurements.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
avg += i->second.get_average_dbm() ;
|
avg += i->second.get_average_dbm() ;
|
||||||
++n_ss ;
|
++n_ss ;
|
||||||
|
@ -62,13 +60,11 @@ get_all_measurements() const
|
||||||
{
|
{
|
||||||
unordered_map<string, Measurement> all ;
|
unordered_map<string, Measurement> all ;
|
||||||
|
|
||||||
for (vector<CalibrationRequest*>::const_iterator i = requests.begin() ;
|
for (auto i = requests.begin() ; i != requests.end() ; ++i)
|
||||||
i != requests.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
unordered_map<string, Measurement> measurements =
|
unordered_map<string, Measurement> measurements =
|
||||||
(*i)->get_measurements() ;
|
(*i)->get_measurements() ;
|
||||||
for (unordered_map<string, Measurement>::const_iterator j =
|
for (auto j = measurements.begin() ; j != measurements.end() ; ++j)
|
||||||
measurements.begin() ; j != measurements.end() ; ++j)
|
|
||||||
if (! all.insert(*j).second)
|
if (! all.insert(*j).second)
|
||||||
all[j->first].merge(j->second) ;
|
all[j->first].merge(j->second) ;
|
||||||
}
|
}
|
||||||
|
@ -84,14 +80,11 @@ get_all_measurements(const string &mac_transmitter) const
|
||||||
vector<CalibrationRequest*> requests_trx(
|
vector<CalibrationRequest*> requests_trx(
|
||||||
get_requests(mac_transmitter)) ;
|
get_requests(mac_transmitter)) ;
|
||||||
|
|
||||||
for (vector<CalibrationRequest*>::const_iterator i =
|
for (auto i = requests_trx.begin() ; i != requests_trx.end() ; ++i)
|
||||||
requests_trx.begin() ;
|
|
||||||
i != requests_trx.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
unordered_map<string, Measurement> measurements =
|
unordered_map<string, Measurement> measurements =
|
||||||
(*i)->get_measurements() ;
|
(*i)->get_measurements() ;
|
||||||
for (unordered_map<string, Measurement>::const_iterator j =
|
for (auto j = measurements.begin() ; j != measurements.end() ; ++j)
|
||||||
measurements.begin() ; j != measurements.end() ; ++j)
|
|
||||||
if (! all.insert(*j).second)
|
if (! all.insert(*j).second)
|
||||||
all[j->first].merge(j->second) ;
|
all[j->first].merge(j->second) ;
|
||||||
}
|
}
|
||||||
|
@ -111,8 +104,7 @@ get_requests(const string &mac_transmitter) const
|
||||||
{
|
{
|
||||||
vector<CalibrationRequest*> res ;
|
vector<CalibrationRequest*> res ;
|
||||||
|
|
||||||
for (vector<CalibrationRequest*>::const_iterator i = requests.begin() ;
|
for (auto i = requests.begin() ; i != requests.end() ; ++i)
|
||||||
i != requests.end() ; ++i)
|
|
||||||
if ((*i)->get_mobile()->get_mac_addr() == mac_transmitter)
|
if ((*i)->get_mobile()->get_mac_addr() == mac_transmitter)
|
||||||
res.push_back(*i) ;
|
res.push_back(*i) ;
|
||||||
|
|
||||||
|
@ -126,8 +118,7 @@ get_requests(const string &mac_transmitter) const
|
||||||
|
|
||||||
void ReferencePoint::delete_request(const CalibrationRequest *const r)
|
void ReferencePoint::delete_request(const CalibrationRequest *const r)
|
||||||
{
|
{
|
||||||
for (vector<CalibrationRequest*>::iterator i = requests.begin() ;
|
for (auto i = requests.begin() ; i != requests.end() ; ++i)
|
||||||
i != requests.end() ; ++i)
|
|
||||||
if (*i == r)
|
if (*i == r)
|
||||||
{
|
{
|
||||||
requests.erase(i) ;
|
requests.erase(i) ;
|
||||||
|
@ -146,8 +137,7 @@ void ReferencePoint::delete_requests()
|
||||||
int stock_nb_requests = Stock::nb_calibration_requests() ;
|
int stock_nb_requests = Stock::nb_calibration_requests() ;
|
||||||
#endif // NDEBUG
|
#endif // NDEBUG
|
||||||
|
|
||||||
for (vector<CalibrationRequest*>::iterator r = requests.begin() ;
|
for (auto r = requests.begin() ; r != requests.end() ; ++r)
|
||||||
r != requests.end() ; ++r)
|
|
||||||
Stock::delete_calibration_request(**r) ;
|
Stock::delete_calibration_request(**r) ;
|
||||||
|
|
||||||
assert(Stock::nb_calibration_requests() ==
|
assert(Stock::nb_calibration_requests() ==
|
||||||
|
@ -167,7 +157,7 @@ void ReferencePoint::delete_requests()
|
||||||
bool ReferencePoint::delete_generated_requests(void)
|
bool ReferencePoint::delete_generated_requests(void)
|
||||||
{
|
{
|
||||||
unsigned int nb_requests = requests.size() ;
|
unsigned int nb_requests = requests.size() ;
|
||||||
vector<CalibrationRequest*>::iterator r = requests.begin() ;
|
auto r = requests.begin() ;
|
||||||
while (r != requests.end())
|
while (r != requests.end())
|
||||||
{
|
{
|
||||||
assert(*r) ;
|
assert(*r) ;
|
||||||
|
@ -278,13 +268,12 @@ friis_indexes_for_cp(const CapturePoint &cp,
|
||||||
* ReferencePoint. The Friis index for the CP is the average of all
|
* ReferencePoint. The Friis index for the CP is the average of all
|
||||||
* these indexes (we do not compute the average in this function).
|
* these indexes (we do not compute the average in this function).
|
||||||
*/
|
*/
|
||||||
for (vector<CalibrationRequest*>::const_iterator request =
|
for (auto request = requests.begin() ; request != requests.end() ;
|
||||||
requests.begin() ; request != requests.end() ; ++request)
|
++request)
|
||||||
{
|
{
|
||||||
const unordered_map<string, Measurement> &measurements =
|
const unordered_map<string, Measurement> &measurements =
|
||||||
(*request)->get_measurements() ;
|
(*request)->get_measurements() ;
|
||||||
unordered_map<string, Measurement>::const_iterator measurement =
|
auto measurement = measurements.find(cp_mac) ;
|
||||||
measurements.find(cp_mac) ;
|
|
||||||
if (measurement != measurements.end())
|
if (measurement != measurements.end())
|
||||||
{
|
{
|
||||||
float ss = measurement->second.get_average_dbm() ;
|
float ss = measurement->second.get_average_dbm() ;
|
||||||
|
@ -326,13 +315,12 @@ friis_index_for_cp(const string &cp_mac, const pkt_id_t pkt_id) const
|
||||||
float distance = this->distance(cp.get_coordinates()) ;
|
float distance = this->distance(cp.get_coordinates()) ;
|
||||||
float friis_idx = 0 ;
|
float friis_idx = 0 ;
|
||||||
|
|
||||||
for (vector<CalibrationRequest*>::const_iterator request =
|
for (auto request = requests.begin() ; request != requests.end() ;
|
||||||
requests.begin() ; request != requests.end() ; ++request)
|
++request)
|
||||||
{
|
{
|
||||||
const unordered_map<string, Measurement> &measurements =
|
const unordered_map<string, Measurement> &measurements =
|
||||||
(*request)->get_measurements() ;
|
(*request)->get_measurements() ;
|
||||||
unordered_map<string, Measurement>::const_iterator measurement =
|
auto measurement = measurements.find(cp_mac) ;
|
||||||
measurements.find(cp_mac) ;
|
|
||||||
if (measurement == measurements.end())
|
if (measurement == measurements.end())
|
||||||
continue ;
|
continue ;
|
||||||
ss_t ss = measurement->second.get_ss(pkt_id) ;
|
ss_t ss = measurement->second.get_ss(pkt_id) ;
|
||||||
|
@ -389,9 +377,7 @@ ostream &operator<<(ostream &os, const ReferencePoint &rp)
|
||||||
if (rp.requests.empty())
|
if (rp.requests.empty())
|
||||||
os << "\nNo request." << '\n' ;
|
os << "\nNo request." << '\n' ;
|
||||||
else
|
else
|
||||||
for (vector<CalibrationRequest*>::const_iterator
|
for (auto i = rp.requests.begin() ; i != rp.requests.end() ; ++i)
|
||||||
i = rp.requests.begin() ;
|
|
||||||
i != rp.requests.end() ; ++i)
|
|
||||||
os << '\n' << **i ;
|
os << '\n' << **i ;
|
||||||
|
|
||||||
return os ;
|
return os ;
|
||||||
|
|
|
@ -92,8 +92,7 @@ Request::~Request()
|
||||||
const Measurement*
|
const Measurement*
|
||||||
Request::get_measurement(const string &mac_receiver) const
|
Request::get_measurement(const string &mac_receiver) const
|
||||||
{
|
{
|
||||||
unordered_map<string, Measurement>::const_iterator m =
|
auto m = measurements.find(mac_receiver) ;
|
||||||
measurements.find(mac_receiver) ;
|
|
||||||
if (m != measurements.end())
|
if (m != measurements.end())
|
||||||
return &m->second ;
|
return &m->second ;
|
||||||
return NULL ;
|
return NULL ;
|
||||||
|
@ -242,8 +241,7 @@ const string Request::to_csv() const
|
||||||
<< static_cast<int>(calibration_request->get_direction()) ;
|
<< static_cast<int>(calibration_request->get_direction()) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (unordered_map<string, Measurement>::const_iterator i
|
for (auto i = measurements.begin() ; i != measurements.end() ; ++i)
|
||||||
= measurements.begin() ; i != measurements.end() ; ++i)
|
|
||||||
csv_line << ';' << i->second.to_csv() ;
|
csv_line << ';' << i->second.to_csv() ;
|
||||||
|
|
||||||
return csv_line.str() ;
|
return csv_line.str() ;
|
||||||
|
@ -271,8 +269,8 @@ ostream& operator<<(ostream &os, const Request &r)
|
||||||
if (r.measurements.empty())
|
if (r.measurements.empty())
|
||||||
os << " No values" ;
|
os << " No values" ;
|
||||||
else
|
else
|
||||||
for (unordered_map<string, Measurement>::const_iterator i
|
for (auto i = r.measurements.begin() ; i != r.measurements.end() ;
|
||||||
= r.measurements.begin() ; i != r.measurements.end() ; ++i)
|
++i)
|
||||||
os << '\n' << i->first << ": " << i->second ;
|
os << '\n' << i->first << ": " << i->second ;
|
||||||
|
|
||||||
return os ;
|
return os ;
|
||||||
|
|
|
@ -85,8 +85,7 @@ const string ResultList::to_csv() const
|
||||||
else
|
else
|
||||||
csv_line << ";;;" ;
|
csv_line << ";;;" ;
|
||||||
|
|
||||||
for (vector<Result>::const_iterator r = results.begin() ;
|
for (auto r = results.begin() ; r != results.end() ; ++r)
|
||||||
r != results.end() ; ++r)
|
|
||||||
csv_line << ';' << r->to_csv() ;
|
csv_line << ';' << r->to_csv() ;
|
||||||
|
|
||||||
return csv_line.str() ;
|
return csv_line.str() ;
|
||||||
|
@ -101,8 +100,7 @@ ostream& operator<<(ostream &os, const ResultList &r)
|
||||||
else
|
else
|
||||||
os << "For the following request: " << *(r.request) << '\n' ;
|
os << "For the following request: " << *(r.request) << '\n' ;
|
||||||
|
|
||||||
vector<Result>::const_iterator res ;
|
for (auto res = r.results.begin() ; res != r.results.end() ; ++res)
|
||||||
for (res = r.results.begin() ; res != r.results.end() ; ++res)
|
|
||||||
os << *res << '\n' ;
|
os << *res << '\n' ;
|
||||||
|
|
||||||
return os ;
|
return os ;
|
||||||
|
|
|
@ -66,8 +66,7 @@ void Stock::clear()
|
||||||
*/
|
*/
|
||||||
const Building& Stock::find_create_building(const string &name)
|
const Building& Stock::find_create_building(const string &name)
|
||||||
{
|
{
|
||||||
unordered_map<string, Building>::const_iterator i =
|
auto i = buildings.find(name) ;
|
||||||
buildings.find(name) ;
|
|
||||||
if (i != buildings.end())
|
if (i != buildings.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
|
|
||||||
|
@ -86,8 +85,7 @@ const Building& Stock::find_create_building(const string &name)
|
||||||
*/
|
*/
|
||||||
const Building& Stock::get_building(const string &name)
|
const Building& Stock::get_building(const string &name)
|
||||||
{
|
{
|
||||||
unordered_map<string, Building>::const_iterator i =
|
auto i = buildings.find(name) ;
|
||||||
buildings.find(name) ;
|
|
||||||
if (i != buildings.end())
|
if (i != buildings.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
throw element_not_found("No Building with name \"" + name + "\"!") ;
|
throw element_not_found("No Building with name \"" + name + "\"!") ;
|
||||||
|
@ -100,12 +98,10 @@ const Building& Stock::get_building(const string &name)
|
||||||
*/
|
*/
|
||||||
const Area* Stock::in_which_area_is(const Point3D &point)
|
const Area* Stock::in_which_area_is(const Point3D &point)
|
||||||
{
|
{
|
||||||
for (unordered_map<string, Building>::const_iterator
|
for (auto b = buildings.begin() ; b != buildings.end() ; ++b)
|
||||||
b = buildings.begin() ; b != buildings.end() ; ++b)
|
|
||||||
{
|
{
|
||||||
const unordered_map<string, Area*> &areas = b->second.get_areas() ;
|
const unordered_map<string, Area*> &areas = b->second.get_areas() ;
|
||||||
for (unordered_map<string, Area*>::const_iterator
|
for (auto a = areas.begin() ; a != areas.end() ; ++a)
|
||||||
a = areas.begin() ; a != areas.end() ; ++a)
|
|
||||||
if (a->second->contains_point(point))
|
if (a->second->contains_point(point))
|
||||||
return a->second ;
|
return a->second ;
|
||||||
}
|
}
|
||||||
|
@ -121,8 +117,7 @@ const Area* Stock::in_which_area_is(const Point3D &point)
|
||||||
const Waypoint& Stock::
|
const Waypoint& Stock::
|
||||||
find_create_waypoint(const Point3D &point)
|
find_create_waypoint(const Point3D &point)
|
||||||
{
|
{
|
||||||
unordered_map<Point3D, Waypoint>::const_iterator i =
|
auto i = waypoints.find(point) ;
|
||||||
waypoints.find(point) ;
|
|
||||||
if (i != waypoints.end())
|
if (i != waypoints.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
|
|
||||||
|
@ -135,8 +130,7 @@ find_create_waypoint(const Point3D &point)
|
||||||
void Stock::waypoint_remove_building(const Waypoint &point,
|
void Stock::waypoint_remove_building(const Waypoint &point,
|
||||||
Building *const building)
|
Building *const building)
|
||||||
{
|
{
|
||||||
unordered_map<Point3D, Waypoint>::iterator i =
|
auto i = waypoints.find(point) ;
|
||||||
waypoints.find(point) ;
|
|
||||||
|
|
||||||
Waypoint *waypoint = const_cast<Waypoint*>(&i->second) ;
|
Waypoint *waypoint = const_cast<Waypoint*>(&i->second) ;
|
||||||
waypoint->remove_building(building) ;
|
waypoint->remove_building(building) ;
|
||||||
|
@ -160,7 +154,7 @@ void Stock::waypoint_remove_building(const Waypoint &point,
|
||||||
*/
|
*/
|
||||||
bool Stock::mobile_exists(const std::string &mac)
|
bool Stock::mobile_exists(const std::string &mac)
|
||||||
{
|
{
|
||||||
unordered_map<string, Mobile>::const_iterator i = mobiles.find(mac) ;
|
auto i = mobiles.find(mac) ;
|
||||||
return i != mobiles.end() ;
|
return i != mobiles.end() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,7 +168,7 @@ bool Stock::mobile_exists(const std::string &mac)
|
||||||
*/
|
*/
|
||||||
const Mobile& Stock::get_mobile(const string &mac)
|
const Mobile& Stock::get_mobile(const string &mac)
|
||||||
{
|
{
|
||||||
unordered_map<string, Mobile>::const_iterator i = mobiles.find(mac) ;
|
auto i = mobiles.find(mac) ;
|
||||||
if (i != mobiles.end())
|
if (i != mobiles.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
throw element_not_found("No Mobile with MAC address \"" +
|
throw element_not_found("No Mobile with MAC address \"" +
|
||||||
|
@ -187,7 +181,7 @@ const Mobile& Stock::get_mobile(const string &mac)
|
||||||
*/
|
*/
|
||||||
const Mobile& Stock::find_create_mobile(const string &mac)
|
const Mobile& Stock::find_create_mobile(const string &mac)
|
||||||
{
|
{
|
||||||
unordered_map<string, Mobile>::const_iterator i = mobiles.find(mac) ;
|
auto i = mobiles.find(mac) ;
|
||||||
if (i != mobiles.end())
|
if (i != mobiles.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
|
|
||||||
|
@ -203,7 +197,7 @@ const Mobile& Stock::find_create_mobile(const string &mac)
|
||||||
const Mobile& Stock::find_create_mobile(const Mobile &source)
|
const Mobile& Stock::find_create_mobile(const Mobile &source)
|
||||||
{
|
{
|
||||||
const string &mac = source.get_mac_addr() ;
|
const string &mac = source.get_mac_addr() ;
|
||||||
unordered_map<string, Mobile>::const_iterator i = mobiles.find(mac) ;
|
auto i = mobiles.find(mac) ;
|
||||||
if (i != mobiles.end())
|
if (i != mobiles.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
|
|
||||||
|
@ -224,7 +218,7 @@ const Mobile& Stock::find_create_mobile(const Mobile &source)
|
||||||
*/
|
*/
|
||||||
bool Stock::cp_exists(const std::string &mac)
|
bool Stock::cp_exists(const std::string &mac)
|
||||||
{
|
{
|
||||||
unordered_map<string, CapturePoint>::const_iterator i = cps.find(mac) ;
|
auto i = cps.find(mac) ;
|
||||||
return i != cps.end() ;
|
return i != cps.end() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,7 +232,7 @@ bool Stock::cp_exists(const std::string &mac)
|
||||||
*/
|
*/
|
||||||
const CapturePoint& Stock::get_cp(const string &mac)
|
const CapturePoint& Stock::get_cp(const string &mac)
|
||||||
{
|
{
|
||||||
unordered_map<string, CapturePoint>::const_iterator i = cps.find(mac) ;
|
auto i = cps.find(mac) ;
|
||||||
if (i != cps.end())
|
if (i != cps.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
throw element_not_found("No CapturePoint with MAC address \"" +
|
throw element_not_found("No CapturePoint with MAC address \"" +
|
||||||
|
@ -251,7 +245,7 @@ const CapturePoint& Stock::get_cp(const string &mac)
|
||||||
*/
|
*/
|
||||||
const CapturePoint& Stock::find_create_cp(const string &mac)
|
const CapturePoint& Stock::find_create_cp(const string &mac)
|
||||||
{
|
{
|
||||||
unordered_map<string, CapturePoint>::const_iterator i = cps.find(mac) ;
|
auto i = cps.find(mac) ;
|
||||||
if (i != cps.end())
|
if (i != cps.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
|
|
||||||
|
@ -273,7 +267,7 @@ const CapturePoint& Stock::find_create_cp(const string &mac)
|
||||||
const CapturePoint& Stock::find_create_cp(const CapturePoint &source)
|
const CapturePoint& Stock::find_create_cp(const CapturePoint &source)
|
||||||
{
|
{
|
||||||
const string &mac = source.get_mac_addr() ;
|
const string &mac = source.get_mac_addr() ;
|
||||||
unordered_map<string, CapturePoint>::const_iterator i = cps.find(mac) ;
|
auto i = cps.find(mac) ;
|
||||||
if (i != cps.end())
|
if (i != cps.end())
|
||||||
return i->second ;
|
return i->second ;
|
||||||
|
|
||||||
|
@ -284,8 +278,7 @@ const CapturePoint& Stock::find_create_cp(const CapturePoint &source)
|
||||||
|
|
||||||
void Stock::update_all_friis_indexes()
|
void Stock::update_all_friis_indexes()
|
||||||
{
|
{
|
||||||
for (unordered_map<string, CapturePoint>::iterator cp = cps.begin() ;
|
for (auto cp = cps.begin() ; cp != cps.end() ; ++cp)
|
||||||
cp != cps.end() ; ++cp)
|
|
||||||
{
|
{
|
||||||
double friis_idx_sum = 0 ;
|
double friis_idx_sum = 0 ;
|
||||||
int nb_friis_idx = 0 ;
|
int nb_friis_idx = 0 ;
|
||||||
|
@ -297,9 +290,8 @@ void Stock::update_all_friis_indexes()
|
||||||
* Compute indexes for each ReferencePoint. The Friis index for an
|
* Compute indexes for each ReferencePoint. The Friis index for an
|
||||||
* CP is the average of all indexes in all ReferencePoint.
|
* CP is the average of all indexes in all ReferencePoint.
|
||||||
*/
|
*/
|
||||||
for (unordered_set<ReferencePoint>::const_iterator rp =
|
for (auto rp = reference_points.begin() ;
|
||||||
reference_points.begin() ; rp != reference_points.end() ;
|
rp != reference_points.end() ; ++rp)
|
||||||
++rp)
|
|
||||||
{
|
{
|
||||||
int nb_idx = 0 ;
|
int nb_idx = 0 ;
|
||||||
float cp_friis_idx_sum =
|
float cp_friis_idx_sum =
|
||||||
|
@ -348,8 +340,7 @@ const CapturePoint* Stock::is_cp_coordinate(const Point3D &coord)
|
||||||
|
|
||||||
bool Stock::reference_point_exists(const ReferencePoint &point)
|
bool Stock::reference_point_exists(const ReferencePoint &point)
|
||||||
{
|
{
|
||||||
unordered_set<ReferencePoint>::const_iterator i =
|
auto i = reference_points.find(point) ;
|
||||||
reference_points.find(point) ;
|
|
||||||
return i != reference_points.end() ;
|
return i != reference_points.end() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -363,8 +354,7 @@ bool Stock::reference_point_exists(const ReferencePoint &point)
|
||||||
const ReferencePoint& Stock::
|
const ReferencePoint& Stock::
|
||||||
get_reference_point(const ReferencePoint &point)
|
get_reference_point(const ReferencePoint &point)
|
||||||
{
|
{
|
||||||
unordered_set<ReferencePoint>::const_iterator i =
|
auto i = reference_points.find(point) ;
|
||||||
reference_points.find(point) ;
|
|
||||||
if (i != reference_points.end())
|
if (i != reference_points.end())
|
||||||
return *i ;
|
return *i ;
|
||||||
throw element_not_found("No ReferencePoint with coordinates " +
|
throw element_not_found("No ReferencePoint with coordinates " +
|
||||||
|
@ -377,8 +367,7 @@ find_create_reference_point(const ReferencePoint &point)
|
||||||
{
|
{
|
||||||
// unordered_set::insert() do all the job: see the documentation at
|
// unordered_set::insert() do all the job: see the documentation at
|
||||||
// http://en.cppreference.com/w/cpp/container/unordered_set/insert
|
// http://en.cppreference.com/w/cpp/container/unordered_set/insert
|
||||||
pair<unordered_set<ReferencePoint>::iterator, bool> ret =
|
auto ret = reference_points.insert(point) ;
|
||||||
reference_points.insert(point) ;
|
|
||||||
return *ret.first ;
|
return *ret.first ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,8 +382,7 @@ closest_reference_point(const Request &request)
|
||||||
|
|
||||||
bool ignore_cps = Configuration::bool_value(
|
bool ignore_cps = Configuration::bool_value(
|
||||||
"positioning.nss.ignore-cp-reference-points") ;
|
"positioning.nss.ignore-cp-reference-points") ;
|
||||||
unordered_set<ReferencePoint>::const_iterator i =
|
auto i = reference_points.begin() ;
|
||||||
reference_points.begin() ;
|
|
||||||
|
|
||||||
if (ignore_cps)
|
if (ignore_cps)
|
||||||
{
|
{
|
||||||
|
@ -409,7 +397,7 @@ closest_reference_point(const Request &request)
|
||||||
}
|
}
|
||||||
|
|
||||||
float similarity = i->similarity(request) ;
|
float similarity = i->similarity(request) ;
|
||||||
unordered_set<ReferencePoint>::const_iterator closest = i ;
|
auto closest = i ;
|
||||||
|
|
||||||
for (++i ; i != reference_points.end() ; ++i)
|
for (++i ; i != reference_points.end() ; ++i)
|
||||||
{
|
{
|
||||||
|
@ -703,8 +691,7 @@ void Stock::
|
||||||
delete_calibration_request(const CalibrationRequest &request)
|
delete_calibration_request(const CalibrationRequest &request)
|
||||||
{
|
{
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
unordered_set<CalibrationRequest>::const_iterator found =
|
auto found = calibration_requests.find(request) ;
|
||||||
calibration_requests.find(request) ;
|
|
||||||
if (found == calibration_requests.end())
|
if (found == calibration_requests.end())
|
||||||
{
|
{
|
||||||
cerr
|
cerr
|
||||||
|
@ -725,8 +712,7 @@ void Stock::delete_calibration_requests_older_than(const int timeout)
|
||||||
{
|
{
|
||||||
assert(timeout > 0) ;
|
assert(timeout > 0) ;
|
||||||
|
|
||||||
unordered_set<CalibrationRequest>::iterator cr =
|
auto cr = calibration_requests.begin() ;
|
||||||
calibration_requests.begin() ;
|
|
||||||
while (cr != calibration_requests.end())
|
while (cr != calibration_requests.end())
|
||||||
{
|
{
|
||||||
Timestamp request_time ;
|
Timestamp request_time ;
|
||||||
|
@ -756,8 +742,7 @@ void Stock::delete_calibration_requests_older_than(const int timeout)
|
||||||
const CalibrationRequest& Stock::
|
const CalibrationRequest& Stock::
|
||||||
find_create_calibration_request(const CalibrationRequest &request)
|
find_create_calibration_request(const CalibrationRequest &request)
|
||||||
{
|
{
|
||||||
pair<unordered_set<CalibrationRequest>::iterator, bool> ret =
|
auto ret = calibration_requests.insert(request) ;
|
||||||
calibration_requests.insert(request) ;
|
|
||||||
return *ret.first ;
|
return *ret.first ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -772,8 +757,7 @@ closest_calibration_request(const Request &request)
|
||||||
|
|
||||||
bool ignore_cps = Configuration::bool_value(
|
bool ignore_cps = Configuration::bool_value(
|
||||||
"positioning.nss.ignore-cp-reference-points") ;
|
"positioning.nss.ignore-cp-reference-points") ;
|
||||||
unordered_set<CalibrationRequest>::const_iterator i =
|
auto i = calibration_requests.begin() ;
|
||||||
calibration_requests.begin() ;
|
|
||||||
|
|
||||||
if (ignore_cps)
|
if (ignore_cps)
|
||||||
{
|
{
|
||||||
|
@ -792,7 +776,7 @@ closest_calibration_request(const Request &request)
|
||||||
}
|
}
|
||||||
|
|
||||||
float similarity = i->similarity(request) ;
|
float similarity = i->similarity(request) ;
|
||||||
unordered_set<CalibrationRequest>::const_iterator closest = i ;
|
auto closest = i ;
|
||||||
|
|
||||||
for (++i ; i != calibration_requests.end() ; ++i)
|
for (++i ; i != calibration_requests.end() ; ++i)
|
||||||
{
|
{
|
||||||
|
@ -815,7 +799,7 @@ closest_calibration_request(const Request &request)
|
||||||
|
|
||||||
void Stock::delete_non_cp_calibration_requests()
|
void Stock::delete_non_cp_calibration_requests()
|
||||||
{
|
{
|
||||||
unordered_set<ReferencePoint>::iterator rp = reference_points.begin() ;
|
auto rp = reference_points.begin() ;
|
||||||
while (rp != reference_points.end())
|
while (rp != reference_points.end())
|
||||||
{
|
{
|
||||||
ReferencePoint rp_copy(*rp) ;
|
ReferencePoint rp_copy(*rp) ;
|
||||||
|
|
|
@ -81,8 +81,7 @@ public:
|
||||||
|
|
||||||
for (auto i = TestUtil::aps.begin() ; i != TestUtil::aps.end() ; ++i)
|
for (auto i = TestUtil::aps.begin() ; i != TestUtil::aps.end() ; ++i)
|
||||||
{
|
{
|
||||||
std::unordered_map<std::string, Measurement>::const_iterator
|
auto measurement_it1 =
|
||||||
measurement_it1 =
|
|
||||||
request1.get_measurements().find(i->get_mac_addr()) ;
|
request1.get_measurements().find(i->get_mac_addr()) ;
|
||||||
TS_ASSERT(request1.get_measurements().end() != measurement_it1) ;
|
TS_ASSERT(request1.get_measurements().end() != measurement_it1) ;
|
||||||
|
|
||||||
|
@ -105,8 +104,7 @@ public:
|
||||||
|
|
||||||
for (auto i = TestUtil::aps.begin() ; i != TestUtil::aps.end() ; ++i)
|
for (auto i = TestUtil::aps.begin() ; i != TestUtil::aps.end() ; ++i)
|
||||||
{
|
{
|
||||||
std::unordered_map<std::string, Measurement>::const_iterator
|
auto measurement_it1 =
|
||||||
measurement_it1 =
|
|
||||||
request1.get_measurements().find(i->get_mac_addr()) ;
|
request1.get_measurements().find(i->get_mac_addr()) ;
|
||||||
TS_ASSERT(request1.get_measurements().end() != measurement_it1) ;
|
TS_ASSERT(request1.get_measurements().end() != measurement_it1) ;
|
||||||
}
|
}
|
||||||
|
@ -126,8 +124,7 @@ public:
|
||||||
|
|
||||||
for (auto i = TestUtil::aps.begin() ; i != TestUtil::aps.end() ; ++i)
|
for (auto i = TestUtil::aps.begin() ; i != TestUtil::aps.end() ; ++i)
|
||||||
{
|
{
|
||||||
std::unordered_map<std::string, Measurement>::const_iterator
|
auto measurement_it1 =
|
||||||
measurement_it1 =
|
|
||||||
request1.get_measurements().find(i->get_mac_addr()) ;
|
request1.get_measurements().find(i->get_mac_addr()) ;
|
||||||
TS_ASSERT(request1.get_measurements().end() != measurement_it1) ;
|
TS_ASSERT(request1.get_measurements().end() != measurement_it1) ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,8 +66,7 @@ public:
|
||||||
// instance in order to be able to close the file (and therefore
|
// instance in order to be able to close the file (and therefore
|
||||||
// flush the stream) before to read it with InputCSV
|
// flush the stream) before to read it with InputCSV
|
||||||
InputLogCSV *inputlogcsv1 = new InputLogCSV(log_file_name) ;
|
InputLogCSV *inputlogcsv1 = new InputLogCSV(log_file_name) ;
|
||||||
for (std::vector<Request*>::const_iterator i =
|
for (auto i = TestUtil::requests.begin() ;
|
||||||
TestUtil::requests.begin() ;
|
|
||||||
i != TestUtil::requests.end() ; ++i)
|
i != TestUtil::requests.end() ; ++i)
|
||||||
inputlogcsv1->log_request(**i) ;
|
inputlogcsv1->log_request(**i) ;
|
||||||
delete inputlogcsv1 ; // Close the output file
|
delete inputlogcsv1 ; // Close the output file
|
||||||
|
|
|
@ -39,8 +39,7 @@ void TestUtil::tear_down()
|
||||||
aps.clear() ;
|
aps.clear() ;
|
||||||
mobiles.clear() ;
|
mobiles.clear() ;
|
||||||
|
|
||||||
for (vector<Request*>::const_iterator i = requests.begin() ;
|
for (auto i = requests.begin() ; i != requests.end() ; ++i)
|
||||||
i != requests.end() ; ++i)
|
|
||||||
delete *i ;
|
delete *i ;
|
||||||
requests.clear() ;
|
requests.clear() ;
|
||||||
|
|
||||||
|
@ -158,8 +157,7 @@ void TestUtil::create_result_list()
|
||||||
{
|
{
|
||||||
RealPosition algo ;
|
RealPosition algo ;
|
||||||
|
|
||||||
for (vector<Request*>::const_iterator i = requests.begin() ;
|
for (auto i = requests.begin() ; i != requests.end() ; ++i)
|
||||||
i != requests.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
CalibrationRequest *calibration_request =
|
CalibrationRequest *calibration_request =
|
||||||
dynamic_cast<CalibrationRequest*>(*i) ;
|
dynamic_cast<CalibrationRequest*>(*i) ;
|
||||||
|
@ -203,8 +201,7 @@ void TestUtil::fill_file(const string &output_file_name,
|
||||||
+"` for creation!") ;
|
+"` for creation!") ;
|
||||||
|
|
||||||
// Write contents to the file
|
// Write contents to the file
|
||||||
for (std::vector<std::string>::const_iterator i = output_lines.begin() ;
|
for (auto i = output_lines.begin() ; i != output_lines.end() ; ++i)
|
||||||
i != output_lines.end() ; ++i)
|
|
||||||
output_file << *i ;
|
output_file << *i ;
|
||||||
|
|
||||||
output_file.close() ;
|
output_file.close() ;
|
||||||
|
@ -382,11 +379,9 @@ measurements_unordered_map_equals(
|
||||||
|
|
||||||
// For each element in 'first', we look for the same element
|
// For each element in 'first', we look for the same element
|
||||||
// in 'second'
|
// in 'second'
|
||||||
for (unordered_map<string,Measurement>::const_iterator i =
|
for (auto i = first.begin() ; i != first.end() ; ++i)
|
||||||
first.begin() ; i != first.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
unordered_map<string,Measurement>::const_iterator
|
auto second_measurement = second.find(i->first) ;
|
||||||
second_measurement = second.find(i->first) ;
|
|
||||||
if (second_measurement == second.end())
|
if (second_measurement == second.end())
|
||||||
return false ;
|
return false ;
|
||||||
if (! measurement_equals(i->second, second_measurement->second))
|
if (! measurement_equals(i->second, second_measurement->second))
|
||||||
|
|
|
@ -89,8 +89,7 @@ void TopologyReaderCSV::process_waypoint_line()
|
||||||
if (buildings.empty())
|
if (buildings.empty())
|
||||||
throw malformed_input_data("Cannot read building name!") ;
|
throw malformed_input_data("Cannot read building name!") ;
|
||||||
|
|
||||||
for (vector<Building*>::iterator i = buildings.begin() ;
|
for (auto i = buildings.begin() ; i != buildings.end() ; ++i)
|
||||||
i != buildings.end() ; ++i)
|
|
||||||
{
|
{
|
||||||
waypoint_ref.add_building(*i) ;
|
waypoint_ref.add_building(*i) ;
|
||||||
(*i)->add_waypoint(&waypoint_ref) ;
|
(*i)->add_waypoint(&waypoint_ref) ;
|
||||||
|
|
|
@ -90,7 +90,6 @@ void TrilaterationAlgorithm::compute_cp_distance_circles()
|
||||||
const unordered_map<string, Measurement> &measurements =
|
const unordered_map<string, Measurement> &measurements =
|
||||||
request->get_measurements() ;
|
request->get_measurements() ;
|
||||||
|
|
||||||
for (unordered_map<string, Measurement>::const_iterator i =
|
for (auto i = measurements.begin() ; i != measurements.end() ; ++i)
|
||||||
measurements.begin() ; i != measurements.end() ; ++i)
|
|
||||||
cp_distances[i->second.get_cp()] = estimate_distance(i->second) ;
|
cp_distances[i->second.get_cp()] = estimate_distance(i->second) ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,8 +94,7 @@ Waypoint::operator std::string() const
|
||||||
ostringstream csv ;
|
ostringstream csv ;
|
||||||
csv << (Point3D) *this ;
|
csv << (Point3D) *this ;
|
||||||
|
|
||||||
for (unordered_set<Building*>::const_iterator i = buildings.begin() ;
|
for (auto i = buildings.begin() ; i != buildings.end() ; ++i)
|
||||||
i != buildings.end() ; ++i)
|
|
||||||
csv << ';' << (*i)->get_name() ;
|
csv << ';' << (*i)->get_name() ;
|
||||||
|
|
||||||
return csv.str() ;
|
return csv.str() ;
|
||||||
|
@ -112,8 +111,7 @@ ostream &operator<<(ostream &os, const Waypoint &wp)
|
||||||
if (wp.buildings.empty())
|
if (wp.buildings.empty())
|
||||||
os << '\n' << "Belongs to no building!" ;
|
os << '\n' << "Belongs to no building!" ;
|
||||||
else
|
else
|
||||||
for (unordered_set<Building*>::const_iterator i =
|
for (auto i = wp.buildings.begin() ; i != wp.buildings.end() ; ++i)
|
||||||
wp.buildings.begin() ; i != wp.buildings.end() ; ++i)
|
|
||||||
os << '\n' << **i ;
|
os << '\n' << **i ;
|
||||||
|
|
||||||
return os ;
|
return os ;
|
||||||
|
|
Loading…
Reference in New Issue