1 #ifndef _OPEN_CHAIN_HPP_ 2 #define _OPEN_CHAIN_HPP_ 10 #include <boost/concept_check.hpp> 11 #include <boost/range/concepts.hpp> 12 #include <boost/type_traits/remove_const.hpp> 14 #include <boost/geometry/core/access.hpp> 15 #include <boost/geometry/core/mutable_range.hpp> 16 #include <boost/geometry/core/point_type.hpp> 18 #include <boost/geometry/geometries/concepts/point_concept.hpp> 20 namespace grl {
namespace concept {
59 #ifndef DOXYGEN_NO_CONCEPT_MEMBERS 60 typedef typename boost::geometry::concept::point_type<Geometry>::type point_type;
62 BOOST_CONCEPT_ASSERT( (boost::geometry::concept::Point<point_type>) );
63 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<Geometry>) );
70 traits::clear<Geometry>::apply(*ls);
71 traits::resize<Geometry>::apply(*ls, 0);
72 point_type* point = 0;
73 traits::push_back<Geometry>::apply(*ls, *point);
79 #ifndef DOXYGEN_NO_CONCEPT_MEMBERS 80 typedef typename boost::geometry::concept::point_type<Geometry>::type point_type;
82 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<point_type>) );
85 BOOST_CONCEPT_ASSERT( (boost::ForwardRangeConcept<Geometry>) );
BOOST_CONCEPT_USAGE(Linestring)
BOOST_CONCEPT_USAGE(ConstLinestring)