boost::geometry::model::referring_segment
segment.hpp
typename ConstOrNonConstPoint
ConstOrNonConstPoint typedef ConstOrNonConstPoint boost::geometry::model::referring_segment< ConstOrNonConstPoint >::point_type point_type
point_type & point_type& boost::geometry::model::referring_segment< ConstOrNonConstPoint >::first first
point_type & point_type& boost::geometry::model::referring_segment< ConstOrNonConstPoint >::second second
boost::geometry::model::referring_segment< ConstOrNonConstPoint >::BOOST_CONCEPT_ASSERT
((typename boost::mpl::if_< boost::is_const< ConstOrNonConstPoint >, concept::Point< ConstOrNonConstPoint >, concept::ConstPoint< ConstOrNonConstPoint > >))
BOOST_CONCEPT_ASSERT
(typename boost::mpl::if_< boost::is_const< ConstOrNonConstPoint >, concept::Point< ConstOrNonConstPoint >, concept::ConstPoint< ConstOrNonConstPoint > >)
boost::geometry::model::referring_segment< ConstOrNonConstPoint >::referring_segment
(point_type &p1, point_type &p2)
referring_segment
point_type & p1
point_type & p2

Constructor taking the first and the second point.

Class segment: small class containing two (templatized) point references.

From Wikipedia: In geometry, a line segment is a part of a line that is bounded by two distinct end points, and contains every point on the line between its end points.

The structure is like std::pair, and can often be used interchangeable. Difference is that it refers to points, does not have points.

Like std::pair, points are public available.

type is const or non const, so geometry::segment<P> or geometry::segment<P const>

We cannot derive from std::pair<P&, P&> because of reference assignments.

ConstOrNonConstPoint

point type of the segment, maybe a point or a const point

- boost::geometry::model::referring_segment
  BOOST_CONCEPT_ASSERT
- boost::geometry::model::referring_segment
  first
- boost::geometry::model::referring_segment
  point_type
- boost::geometry::model::referring_segment
  referring_segment
- boost::geometry::model::referring_segment
  second