// 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_EPSG_HPP #define BOOST_GEOMETRY_SRS_EPSG_HPP #include #include #include #include namespace boost { namespace geometry { namespace projections { template struct dynamic_parameters { static inline projections::parameters apply(srs::epsg const& params) { return projections::detail::pj_init_plus( srs::dynamic(), projections::detail::epsg_to_string(params.code), false); } }; template class proj_wrapper, CT> : public static_proj_wrapper_base < typename projections::detail::epsg_traits::static_parameters_type, CT > { typedef projections::detail::epsg_traits epsg_traits; typedef typename epsg_traits::static_parameters_type static_parameters_type; typedef static_proj_wrapper_base base_t; public: proj_wrapper() : base_t(epsg_traits::s_par(), epsg_traits::par()) {} }; } // namespace projections namespace srs { template class projection, CT> : public projections::projection, CT> { typedef projections::projection, CT> base_t; public: projection() {} }; } // namespace srs }} // namespace boost::geometry #endif // BOOST_GEOMETRY_SRS_EPSG_HPP