ubuntu-location-service
..
An aggregating location service providing positioning and geocoding capabilities to applications.
latitude.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_UBUNTU_LOCATION_WGS84_LATITUDE_H_
19
#define LOCATION_SERVICE_COM_UBUNTU_LOCATION_WGS84_LATITUDE_H_
20
21
#include <
com/ubuntu/location/units/units.h
>
22
#include <
com/ubuntu/location/wgs84/coordinate.h
>
23
24
#include <stdexcept>
25
26
namespace
com
27
{
28
namespace
ubuntu
29
{
30
namespace
location
31
{
32
namespace
wgs84
33
{
34
namespace
tag
35
{
36
struct
Latitude
;
37
}
38
typedef
Coordinate<tag::Latitude, units::PlaneAngle>
Latitude
;
39
40
template
<>
41
struct
CoordinateTraits
<Latitude>
42
{
43
static
double
min
()
44
{
45
return
-90;
46
};
47
static
double
max
()
48
{
49
return
90;
50
};
51
52
static
void
check_and_throw_if_invalid
(
const
typename
Latitude::Quantity
& coordinate)
53
{
54
if
(coordinate.value() < min())
55
throw
std::out_of_range(u8
"Latitude(coordinate.value() < min())"
);
56
if
(coordinate.value() > max())
57
throw
std::out_of_range(u8
"Latitude(coordinate.value() > max())"
);
58
}
59
};
60
}
61
}
62
}
63
}
64
#endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_WGS84_LATITUDE_H_
com::ubuntu::location::wgs84::Coordinate
Definition:
coordinate.h:42
com
Definition:
accuracy.h:23
com::ubuntu::location::units::Quantity
boost::units::quantity< Unit, double > Quantity
Definition:
units.h:53
com::ubuntu::location::wgs84::CoordinateTraits< Latitude >::check_and_throw_if_invalid
static void check_and_throw_if_invalid(const typename Latitude::Quantity &coordinate)
Definition:
latitude.h:52
com::ubuntu::location::wgs84::Latitude
Coordinate< tag::Latitude, units::PlaneAngle > Latitude
Definition:
latitude.h:38
units.h
com::ubuntu::location::wgs84::CoordinateTraits< Latitude >::max
static double max()
Definition:
latitude.h:47
com::ubuntu::location::wgs84::CoordinateTraits< Latitude >::min
static double min()
Definition:
latitude.h:43
com::ubuntu::location::wgs84::CoordinateTraits
Definition:
coordinate.h:34
coordinate.h
include
location_service
com
ubuntu
location
wgs84
latitude.h
Generated on Sun Jun 27 2021 21:40:16 for ubuntu-location-service by
1.8.11