lomiri-location-service
..
An aggregating location service providing positioning and geocoding capabilities to applications.
accuracy.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2012-2013 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3,
6
* as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by: Thomas Voß <thomas.voss@canonical.com>
17
*/
18
#ifndef LOCATION_SERVICE_COM_LOMIRI_LOCATION_ACCURACY_H_
19
#define LOCATION_SERVICE_COM_LOMIRI_LOCATION_ACCURACY_H_
20
21
#include <ostream>
22
23
namespace
com
24
{
25
namespace
lomiri
26
{
27
namespace
location
28
{
29
enum class
AccuracyLevel
30
{
31
country
,
32
region
,
33
locality
,
34
postalcode
,
35
street
,
36
detailed
,
37
38
best
=
detailed
,
39
worst
=
country
40
};
41
42
template
<
typename
T>
43
struct
AccuracyTraits
44
{
45
static
AccuracyLevel
classify
(
const
T& instance);
46
static
T
best
();
47
static
T
worst
();
48
};
49
50
template
<
typename
T>
51
struct
Accuracy
52
{
53
typedef
typename
T::Unit
Unit
;
54
typedef
typename
T::Quantity
Quantity
;
55
56
static
Accuracy<T>
best
() {
return
AccuracyTraits<T>::best
(); }
57
static
Accuracy<T>
worst
() {
return
AccuracyTraits<T>::worst
(); }
58
59
AccuracyLevel
classify
()
const
60
{
61
return
AccuracyTraits<T>::classify
(
value
);
62
}
63
64
T
value
;
65
};
66
67
template
<
typename
T>
68
inline
std::ostream&
operator<<
(std::ostream& out,
const
Accuracy<T>
& update)
69
{
70
out <<
"Accuracy("
<< update.
value
<<
")"
;
71
return
out;
72
}
73
74
}
75
}
76
}
77
78
#endif // LOCATION_SERVICE_COM_LOMIRI_LOCATION_ACCURACY_H_
com::lomiri::location::Accuracy::Unit
T::Unit Unit
Definition:
accuracy.h:53
com::lomiri::location::Accuracy::Quantity
T::Quantity Quantity
Definition:
accuracy.h:54
find_package
find_package(Doxygen) if(DOXYGEN_FOUND) configure_file($
Definition:
CMakeLists.txt:17
com::lomiri::location::AccuracyTraits::best
static T best()
com::lomiri::location::Accuracy::classify
AccuracyLevel classify() const
Definition:
accuracy.h:59
com::lomiri::location::Accuracy
Definition:
accuracy.h:51
com::lomiri::location::AccuracyLevel::locality
@ locality
com::lomiri::location::AccuracyTraits
Definition:
accuracy.h:43
com::lomiri::location::AccuracyLevel::street
@ street
com::lomiri::location::Accuracy::best
static Accuracy< T > best()
Definition:
accuracy.h:56
com::lomiri::location::units::Quantity
boost::units::quantity< Unit, double > Quantity
Definition:
units.h:60
com::lomiri::location::AccuracyLevel
AccuracyLevel
Definition:
accuracy.h:29
com::lomiri::location::operator<<
std::ostream & operator<<(std::ostream &out, const Accuracy< T > &update)
Definition:
accuracy.h:68
com::lomiri::location::AccuracyLevel::country
@ country
com::lomiri::location::Accuracy::value
T value
Definition:
accuracy.h:64
com::lomiri::location::AccuracyLevel::worst
@ worst
com::lomiri::location::AccuracyTraits::classify
static AccuracyLevel classify(const T &instance)
com
Definition:
accuracy.h:23
com::lomiri::location::AccuracyTraits::worst
static T worst()
com::lomiri::location::AccuracyLevel::postalcode
@ postalcode
com::lomiri::location::AccuracyLevel::region
@ region
com::lomiri::location::AccuracyLevel::detailed
@ detailed
com::lomiri::location::AccuracyLevel::best
@ best
com::lomiri::location::Accuracy::worst
static Accuracy< T > worst()
Definition:
accuracy.h:57
include
location_service
com
lomiri
location
accuracy.h
Generated on Sun Aug 20 2023 08:07:02 for lomiri-location-service by
1.8.17