Chris@16: // Boost.Geometry (aka GGL, Generic Geometry Library) Chris@16: Chris@16: // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. Chris@16: // Copyright (c) 2008-2012 Bruno Lalande, Paris, France. Chris@16: // Copyright (c) 2009-2012 Mateusz Loskot, London, UK. Chris@16: Chris@16: // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library Chris@16: // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. Chris@16: Chris@16: // Use, modification and distribution is subject to the Boost Software License, Chris@16: // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef BOOST_GEOMETRY_STRATEGIES_TRANSFORM_HPP Chris@16: #define BOOST_GEOMETRY_STRATEGIES_TRANSFORM_HPP Chris@16: Chris@16: #include Chris@16: Chris@16: #include Chris@16: Chris@16: #include Chris@16: Chris@16: namespace boost { namespace geometry Chris@16: { Chris@16: Chris@16: namespace strategy { namespace transform { namespace services Chris@16: { Chris@16: Chris@16: /*! Chris@16: \brief Traits class binding a transformation strategy to a coordinate system Chris@16: \ingroup transform Chris@16: \details Can be specialized Chris@16: - per coordinate system family (tag) Chris@16: - per coordinate system (or groups of them) Chris@16: - per dimension Chris@16: - per point type Chris@16: \tparam CoordinateSystemTag 1,2 coordinate system tags Chris@16: \tparam CoordinateSystem 1,2 coordinate system Chris@16: \tparam D 1, 2 dimension Chris@16: \tparam Point 1, 2 point type Chris@16: */ Chris@16: template Chris@16: < Chris@16: typename CoordinateSystemTag1, typename CoordinateSystemTag2, Chris@16: typename CoordinateSystem1, typename CoordinateSystem2, Chris@16: std::size_t Dimension1, std::size_t Dimension2, Chris@16: typename Point1, typename Point2 Chris@16: > Chris@16: struct default_strategy Chris@16: { Chris@16: BOOST_MPL_ASSERT_MSG Chris@16: ( Chris@16: false, NOT_IMPLEMENTED_FOR_THIS_POINT_TYPES Chris@16: , (types) Chris@16: ); Chris@16: }; Chris@16: Chris@16: }}} // namespace strategy::transform::services Chris@16: Chris@16: Chris@16: }} // namespace boost::geometry Chris@16: Chris@16: #endif // BOOST_GEOMETRY_STRATEGIES_TRANSFORM_HPP