spar.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // Boost.Geometry
  2. // Unit Test
  3. // Copyright (c) 2018, Oracle and/or its affiliates.
  4. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
  5. // Use, modification and distribution is subject to the Boost Software License,
  6. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  7. // http://www.boost.org/LICENSE_1_0.txt)
  8. #include <geometry_test_common.hpp>
  9. #include <boost/core/ignore_unused.hpp>
  10. #include <boost/geometry/srs/projection.hpp>
  11. namespace srs = bg::srs;
  12. namespace par = bg::srs::spar;
  13. int test_main(int, char* [])
  14. {
  15. typedef par::proj_aea proj;
  16. typedef par::ellps_clrk80 ellps;
  17. typedef par::datum_ire65 datum;
  18. typedef par::o_proj<par::proj_tmerc> o_proj;
  19. typedef par::guam guam;
  20. BOOST_MPL_ASSERT_MSG((par::detail::is_param_tr<par::detail::proj_traits>::pred<proj>::value),
  21. PROJ, (proj));
  22. BOOST_MPL_ASSERT_MSG((!par::detail::is_param_tr<par::detail::proj_traits>::pred<int>::value),
  23. NOT_PROJ, (int));
  24. BOOST_MPL_ASSERT_MSG((par::detail::is_param_tr<par::detail::ellps_traits>::pred<ellps>::value),
  25. ELLPS, (ellps));
  26. BOOST_MPL_ASSERT_MSG((!par::detail::is_param_tr<par::detail::ellps_traits>::pred<int>::value),
  27. NOT_ELLPS, (int));
  28. BOOST_MPL_ASSERT_MSG((par::detail::is_param_tr<par::detail::datum_traits>::pred<datum>::value),
  29. DATUM, (datum));
  30. BOOST_MPL_ASSERT_MSG((!par::detail::is_param_tr<par::detail::datum_traits>::pred<int>::value),
  31. NOT_DATUM, (int));
  32. BOOST_MPL_ASSERT_MSG((par::detail::is_param_t<par::o_proj>::pred<o_proj>::value),
  33. O_PROJ, (o_proj));
  34. BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t<par::o_proj>::pred<int>::value),
  35. NOT_O_PROJ, (int));
  36. BOOST_MPL_ASSERT_MSG((par::detail::is_param<par::guam>::pred<guam>::value),
  37. GUAM, (guam));
  38. BOOST_MPL_ASSERT_MSG((!par::detail::is_param<par::guam>::pred<int>::value),
  39. NOT_GUAM, (int));
  40. typedef par::parameters<proj, ellps, datum, o_proj, guam> params;
  41. typedef par::parameters<proj, ellps> params_e;
  42. typedef par::parameters<proj, datum> params_d;
  43. typedef par::parameters<proj> params_0;
  44. boost::ignore_unused<params, params_e, params_d, params_0>();
  45. return 0;
  46. }