| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- // Boost.Geometry
- // Copyright (c) 2017, Oracle and/or its affiliates.
- // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
- // Use, modification and distribution is subject to the Boost Software License,
- // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- #ifndef BOOST_GEOMETRY_SRS_PROJECTIONS_PROJ4_HPP
- #define BOOST_GEOMETRY_SRS_PROJECTIONS_PROJ4_HPP
- #include <string>
- #include <boost/tuple/tuple.hpp>
- namespace boost { namespace geometry { namespace srs
- {
- struct dynamic {};
- struct proj4
- {
- explicit proj4(const char* s)
- : str(s)
- {}
- explicit proj4(std::string const& s)
- : str(s)
- {}
- std::string str;
- };
- template
- <
- // null_type -> void?
- typename P0 = boost::tuples::null_type,
- typename P1 = boost::tuples::null_type,
- typename P2 = boost::tuples::null_type,
- typename P3 = boost::tuples::null_type,
- typename P4 = boost::tuples::null_type,
- typename P5 = boost::tuples::null_type,
- typename P6 = boost::tuples::null_type,
- typename P7 = boost::tuples::null_type,
- typename P8 = boost::tuples::null_type,
- typename P9 = boost::tuples::null_type
- >
- struct static_proj4
- : boost::tuple<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9>
- {
- typedef boost::tuple<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9> base_type;
- static_proj4()
- {}
- explicit static_proj4(P0 const& p0)
- : base_type(p0)
- {}
- static_proj4(P0 const& p0, P1 const& p1)
- : base_type(p0, p1)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2)
- : base_type(p0, p1, p2)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3)
- : base_type(p0, p1, p2, p3)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4)
- : base_type(p0, p1, p2, p3, p4)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5)
- : base_type(p0, p1, p2, p3, p4, p5)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6)
- : base_type(p0, p1, p2, p3, p4, p5, p6)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7)
- : base_type(p0, p1, p2, p3, p4, p5, p6, p7)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8)
- : base_type(p0, p1, p2, p3, p4, p5, p6, p7, p8)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8, P9 const& p9)
- : base_type(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)
- {}
- };
- #define BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX \
- typename P0, typename P1, typename P2, typename P3, typename P4, \
- typename P5, typename P6, typename P7, typename P8, typename P9
- #define BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX \
- P0, P1, P2, P3, P4, P5, P6, P7, P8, P9
- }}} // namespace boost::geometry::srs
- #ifndef DOXYGEN_NO_DETAIL
- namespace boost { namespace geometry { namespace projections { namespace detail
- {
- template<typename R> struct function_argument_type;
- template<typename R, typename A> struct function_argument_type<R(A)> { typedef A type; };
- }}}} // namespace boost::geometry::projections::detail
- #endif // DOXYGEN_NO_DETAIL
- #endif // BOOST_GEOMETRY_SRS_PROJECTIONS_PROJ4_HPP
|