]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/geometry/test/srs/par4.cpp
4 // Copyright (c) 2018, Oracle and/or its affiliates.
5 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
7 // Use, modification and distribution is subject to the Boost Software License,
8 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
9 // http://www.boost.org/LICENSE_1_0.txt)
12 #include <geometry_test_common.hpp>
14 #include <boost/geometry/srs/projection.hpp>
17 namespace srs
= bg::srs
;
18 namespace par
= bg::srs::par4
;
21 int test_main(int, char* [])
23 typedef par::proj
<par::aea
> proj
;
24 typedef par::ellps
<par::clrk80
> ellps
;
25 typedef par::datum
<par::ire65
> datum
;
26 typedef par::o_proj
<par::tmerc
> o_proj
;
27 typedef par::guam guam
;
29 /*BOOST_MPL_ASSERT_MSG((par::detail::is_proj<proj>::value),
31 BOOST_MPL_ASSERT_MSG((!par::detail::is_proj<int>::value),
34 BOOST_MPL_ASSERT_MSG((par::detail::is_ellps<ellps>::value),
36 BOOST_MPL_ASSERT_MSG((!par::detail::is_ellps<int>::value),
39 BOOST_MPL_ASSERT_MSG((par::detail::is_datum<datum>::value),
41 BOOST_MPL_ASSERT_MSG((!par::detail::is_datum<int>::value),
44 BOOST_MPL_ASSERT_MSG((par::detail::is_o_proj<o_proj>::value),
46 BOOST_MPL_ASSERT_MSG((!par::detail::is_o_proj<int>::value),
49 BOOST_MPL_ASSERT_MSG((par::detail::is_guam<guam>::value),
51 BOOST_MPL_ASSERT_MSG((!par::detail::is_guam<int>::value),
54 BOOST_MPL_ASSERT_MSG((par::detail::is_param_t
<par::proj
>::pred
<proj
>::value
),
56 BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t
<par::proj
>::pred
<int>::value
),
59 BOOST_MPL_ASSERT_MSG((par::detail::is_param_t
<par::ellps
>::pred
<ellps
>::value
),
61 BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t
<par::ellps
>::pred
<int>::value
),
64 BOOST_MPL_ASSERT_MSG((par::detail::is_param_t
<par::datum
>::pred
<datum
>::value
),
66 BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t
<par::datum
>::pred
<int>::value
),
69 BOOST_MPL_ASSERT_MSG((par::detail::is_param_t
<par::o_proj
>::pred
<o_proj
>::value
),
71 BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t
<par::o_proj
>::pred
<int>::value
),
74 BOOST_MPL_ASSERT_MSG((par::detail::is_param
<par::guam
>::pred
<guam
>::value
),
76 BOOST_MPL_ASSERT_MSG((!par::detail::is_param
<par::guam
>::pred
<int>::value
),
79 typedef srs::static_proj4
<proj
, ellps
, datum
, o_proj
, guam
> params
;
80 typedef srs::static_proj4
<proj
, ellps
> params_e
;
81 typedef srs::static_proj4
<proj
, datum
> params_d
;
82 typedef srs::static_proj4
<proj
> params_0
;
84 BOOST_MPL_ASSERT_MSG((boost::is_same
<par::detail::pick_proj_tag
<params
>::type
, par::aea
>::value
),
86 BOOST_MPL_ASSERT_MSG((boost::is_same
<par::detail::pick_ellps
<params
>::type::type
, par::clrk80
>::value
),
87 PICK_ELLPS
, (params
));
88 BOOST_MPL_ASSERT_MSG((boost::is_same
<par::detail::pick_o_proj_tag
<params
>::type
, par::tmerc
>::value
),
89 PICK_O_PROJ
, (params
));
90 BOOST_MPL_ASSERT_MSG((boost::is_same
<par::detail::pick_ellps
<params_e
>::type::type
, par::clrk80
>::value
),
91 PICK_ELLPS_E
, (params_e
));
92 BOOST_MPL_ASSERT_MSG((boost::is_same
<par::detail::pick_ellps
<params_d
>::type::type
, par::mod_airy
>::value
),
93 PICK_ELLPS_D
, (params_d
));
95 BOOST_MPL_ASSERT_MSG((boost::is_same
<par::detail::pick_ellps
<params_0
>::type::type
, par::WGS84
>::value
),
96 PICK_NO_ELLPS
, (params_0
));