The Segment Concept describes the requirements for a segment type. All algorithms in Boost.Geometry will check any geometry arguments against the concept requirements.
traits::point_typeto define the underlying point type (even if it does not consist of points, it should define this type, to indicate the points it can work with)
traits::indexed_access, per index and per dimension, with two functions:
getto get a coordinate value
setto set a coordinate value (this one is not checked for ConstSegment)
The segment concept is similar to the box concept, defining using another
tag. However, the box concept assumes the index as