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: Chris@16: #ifndef BOOST_GEOMETRY_GEOMETRIES_REGISTER_RING_HPP Chris@16: #define BOOST_GEOMETRY_GEOMETRIES_REGISTER_RING_HPP Chris@16: Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: /*! Chris@16: \brief \brief_macro{ring} Chris@16: \ingroup register Chris@101: \details \details_macro{BOOST_GEOMETRY_REGISTER_RING, ring} The Chris@16: ring may contain template parameters, which must be specified then. Chris@16: \param Ring \param_macro_type{ring} Chris@16: Chris@16: \qbk{ Chris@16: [heading Example] Chris@16: [register_ring] Chris@16: [register_ring_output] Chris@16: } Chris@16: */ Chris@16: #define BOOST_GEOMETRY_REGISTER_RING(Ring) \ Chris@16: namespace boost { namespace geometry { namespace traits { \ Chris@16: template<> struct tag { typedef ring_tag type; }; \ Chris@16: }}} Chris@16: Chris@16: Chris@16: /*! Chris@16: \brief \brief_macro{templated ring} Chris@16: \ingroup register Chris@101: \details \details_macro{BOOST_GEOMETRY_REGISTER_RING_TEMPLATED, templated ring} Chris@16: \details_macro_templated{ring, point} Chris@16: \param Ring \param_macro_type{ring (without template parameters)} Chris@16: Chris@16: \qbk{ Chris@16: [heading Example] Chris@16: [register_ring_templated] Chris@16: [register_ring_templated_output] Chris@16: } Chris@16: */ Chris@16: #define BOOST_GEOMETRY_REGISTER_RING_TEMPLATED(Ring) \ Chris@16: namespace boost { namespace geometry { namespace traits { \ Chris@16: template struct tag< Ring

> { typedef ring_tag type; }; \ Chris@16: }}} Chris@16: Chris@16: Chris@16: #endif // BOOST_GEOMETRY_GEOMETRIES_REGISTER_RING_HPP