 \ template <size_t D> \ struct indexed_access<Segment, min_corner, D> \ { \     typedef typename coordinate_type<Point>::type ct; \     static inline ct get(Segment const& b) \     { return geometry::get<D>(b. Index0);  } \     static inline void set(Segment& b, ct const& value) \     { geometry::set<D>(b. Index0, value);  } \ }; \ template <size_t D> \ struct indexed_access<Segment, max_corner, D> \ { \     typedef typename coordinate_type<Point>::type ct; \     static inline ct get(Segment const& b) \     { return geometry::get<D>(b. Index0);  } \     static inline void set(Segment& b, ct const& value) \     { geometry::set<D>(b. Index0, value);  } \ };   #define BOOST_GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS_TEMPLATIZED(Segment, Index0, Index0) \ template <typename P, size_t D> \ struct indexed_access<Segment<P>, min_corner, D> \ { \     typedef typename coordinate_type<P>::type ct; \     static inline ct get(Segment<P> const& b) \     { return geometry::get<D>(b. Index0);  } \     static inline void set(Segment<P>& b, ct const& value) \     { geometry::set<D>(b. Index0, value);  } \ }; \ template <typename P, size_t D> \ struct indexed_access<Segment<P>, max_corner, D> \ { \     typedef typename coordinate_type<P>::type ct; \     static inline ct get(Segment<P> const& b) \     { return geometry::get<D>(b. Index0);  } \     static inline void set(Segment<P>& b, ct const& value) \     { geometry::set<D>(b. Index0, value);  } \ };   #define BOOST_GEOMETRY_DETAIL_SPECIALIZE_SEGMENT_ACCESS_0VALUES(Segment, Point