/* Copyright 2008 Intel Corporation Use, modification and distribution are 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_RECTANGLE_TRAITS_HPP#define BOOST_POLYGON_RECTANGLE_TRAITS_HPPnamespaceboost{namespacepolygon{template<typenameT,typenameenable=gtl_yes>structrectangle_traits{};template<typenameT>structrectangle_traits<T,gtl_no>{};template<typenameT>structrectangle_traits<T,typenamegtl_same_type<typenameT::interval_type,typenameT::interval_type>::type>{typedeftypenameT::coordinate_typecoordinate_type;typedeftypenameT::interval_typeinterval_type;staticinlineinterval_typeget(constT&rectangle,orientation_2dorient){returnrectangle.get(orient);}};template<typenameT>structrectangle_mutable_traits{template<typenameT2>staticinlinevoidset(T&rectangle,orientation_2dorient,constT2&interval){rectangle.set(orient,interval);}template<typenameT2,typenameT3>staticinlineTconstruct(constT2&interval_horizontal,constT3&interval_vertical){returnT(interval_horizontal,interval_vertical);}};}}#endif