// Boost.Geometry (aka GGL, Generic Geometry Library) // QuickBook Example // Copyright (c) 2011-2012 Barend Gehrels, Amsterdam, the Netherlands. // 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) //[ring_type //`Shows how to use the ring_type metafunction, as well as interior_type #include #include #include #include #include int main() { typedef boost::geometry::model::d2::point_xy point; typedef boost::geometry::model::polygon polygon; typedef boost::geometry::ring_type::type ring_type; typedef boost::geometry::interior_type::type int_type; std::cout << typeid(ring_type).name() << std::endl; std::cout << typeid(int_type).name() << std::endl; // So int_type defines a collection of rings, // which is a Boost.Range compatible range // The type of an element of the collection is the very same ring type again. // We show that. typedef boost::range_value::type int_ring_type; std::cout << std::boolalpha << boost::is_same::value << std::endl; return 0; } //] //[ring_type_output /*` Output (using gcc): [pre N5boost8geometry5model4ringINS1_2d28point_xyIdNS0_2cs9cartesianEEELb1ELb1ESt6vectorSaEE St6vectorIN5boost8geometry5model4ringINS2_2d28point_xyIdNS1_2cs9cartesianEEELb1ELb1ES_SaEESaIS9_EE true ] */ //]