| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | // Boost.Polygon library point_traits.hpp header file// Copyright (c) Intel Corporation 2008.// Copyright (c) 2008-2012 Simonson Lucanus.// Copyright (c) 2012-2012 Andrii Sydorchuk.// See http://www.boost.org for updates, documentation, and revision history.// 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)#ifndef BOOST_POLYGON_POINT_TRAITS_HPP#define BOOST_POLYGON_POINT_TRAITS_HPP#include "isotropy.hpp"namespace boost {namespace polygon {template <typename PointType>struct point_traits {  typedef PointType point_type;  typedef typename point_type::coordinate_type coordinate_type;  static coordinate_type get(      const point_type& point, orientation_2d orient) {    return point.get(orient);  }};template <typename PointType>struct point_mutable_traits {  typedef PointType point_type;  typedef typename point_type::coordinate_type coordinate_type;  static void set(      point_type& point, orientation_2d orient, coordinate_type value) {    point.set(orient, value);  }  static point_type construct(coordinate_type x, coordinate_type y) {    return point_type(x, y);  }};}  // polygon}  // boost#endif  // BOOST_POLYGON_POINT_TRAITS_HPP
 |