circular kernel 2 result_of to decltype

This commit is contained in:
Dmitry Anisimov 2020-07-22 15:13:09 +02:00
parent eb2f7e5b90
commit 059bc6062d
5 changed files with 17 additions and 22 deletions

View File

@ -22,7 +22,6 @@
#include <CGAL/config.h> #include <CGAL/config.h>
#include <CGAL/result_of.h>
#include <CGAL/Bbox_2.h> #include <CGAL/Bbox_2.h>
#include <CGAL/enum.h> #include <CGAL/enum.h>
namespace CGAL { namespace CGAL {
@ -107,25 +106,25 @@ public:
{} {}
typename cpp11::result_of<typename R::Construct_circular_source_vertex_2(Circular_arc_2)>::type decltype(auto)
source() const source() const
{ {
return typename R::Construct_circular_source_vertex_2()(*this); return typename R::Construct_circular_source_vertex_2()(*this);
} }
typename cpp11::result_of<typename R::Construct_circular_target_vertex_2(Circular_arc_2)>::type decltype(auto)
target() const target() const
{ {
return typename R::Construct_circular_target_vertex_2()(*this); return typename R::Construct_circular_target_vertex_2()(*this);
} }
typename cpp11::result_of<typename R::Construct_circular_min_vertex_2(Circular_arc_2)>::type decltype(auto)
left() const left() const
{ {
return typename R::Construct_circular_min_vertex_2()(*this); return typename R::Construct_circular_min_vertex_2()(*this);
} }
typename cpp11::result_of<typename R::Construct_circular_max_vertex_2(Circular_arc_2)>::type decltype(auto)
right() const right() const
{ {
return typename R::Construct_circular_max_vertex_2()(*this); return typename R::Construct_circular_max_vertex_2()(*this);
@ -141,19 +140,19 @@ public:
return typename R::Is_y_monotone_2()(*this); return typename R::Is_y_monotone_2()(*this);
} }
typename cpp11::result_of<typename R::Construct_circle_2(Circular_arc_2)>::type decltype(auto)
supporting_circle() const supporting_circle() const
{ {
return typename R::Construct_circle_2()(*this); return typename R::Construct_circle_2()(*this);
} }
typename cpp11::result_of<typename R::Construct_center_2(Circular_arc_2)>::type decltype(auto)
center() const center() const
{ {
return typename R::Construct_center_2()(*this); return typename R::Construct_center_2()(*this);
} }
typename cpp11::result_of<typename R::Compute_squared_radius_2( Circular_arc_2)>::type decltype(auto)
squared_radius() const squared_radius() const
{ {
return typename R::Compute_squared_radius_2()(*this); return typename R::Compute_squared_radius_2()(*this);

View File

@ -21,7 +21,6 @@
#include <CGAL/license/Circular_kernel_2.h> #include <CGAL/license/Circular_kernel_2.h>
#include <CGAL/result_of.h>
#include <CGAL/Bbox_2.h> #include <CGAL/Bbox_2.h>
#include <CGAL/enum.h> #include <CGAL/enum.h>
@ -72,15 +71,13 @@ public:
: RCircular_arc_point_2(typename R::Construct_circular_arc_point_2()(p)) : RCircular_arc_point_2(typename R::Construct_circular_arc_point_2()(p))
{} {}
typename decltype(auto)
cpp11::result_of<typename R::Compute_circular_x_2(Circular_arc_point_2)>::type
x() const x() const
{ {
return typename R::Compute_circular_x_2()(*this); return typename R::Compute_circular_x_2()(*this);
} }
typename decltype(auto)
cpp11::result_of<typename R::Compute_circular_y_2(Circular_arc_point_2)>::type
y() const y() const
{ {
return typename R::Compute_circular_y_2()(*this); return typename R::Compute_circular_y_2()(*this);

View File

@ -639,13 +639,13 @@ public:
return _support; return _support;
} }
typename cpp11::result_of<typename CK::Construct_center_2(Circle_2)>::type decltype(auto)
center() const center() const
{ {
return supporting_circle().center(); return supporting_circle().center();
} }
typename cpp11::result_of<typename CK::Compute_squared_radius_2(Circle_2)>::type decltype(auto)
squared_radius() const squared_radius() const
{ {
return supporting_circle().squared_radius(); return supporting_circle().squared_radius();

View File

@ -1307,7 +1307,7 @@ namespace CircularFunctors {
typedef typename cpp11::result_of<LK_Compute_squared_radius_2(Circle_2)>::type type; typedef typename cpp11::result_of<LK_Compute_squared_radius_2(Circle_2)>::type type;
}; };
typename cpp11::result_of<LK_Compute_squared_radius_2(Circle_2)>::type decltype(auto)
operator()( const Circle_2& c) const operator()( const Circle_2& c) const
{ return LK_Compute_squared_radius_2()(c); } { return LK_Compute_squared_radius_2()(c); }
@ -1320,7 +1320,7 @@ namespace CircularFunctors {
FT operator()( const Point_2& p, const Point_2& q, const Point_2& r) const FT operator()( const Point_2& p, const Point_2& q, const Point_2& r) const
{ return LK_Compute_squared_radius_2()(p, q, r); } { return LK_Compute_squared_radius_2()(p, q, r); }
typename cpp11::result_of<LK_Compute_squared_radius_2(Circle_2)>::type decltype(auto)
operator()(const Circular_arc_2& c) const operator()(const Circular_arc_2& c) const
{ return c.rep().squared_radius(); } { return c.rep().squared_radius(); }

View File

@ -21,7 +21,6 @@
#include <CGAL/license/Circular_kernel_2.h> #include <CGAL/license/Circular_kernel_2.h>
#include <CGAL/result_of.h>
#include <CGAL/Bbox_2.h> #include <CGAL/Bbox_2.h>
namespace CGAL { namespace CGAL {
@ -91,25 +90,25 @@ public:
: RLine_arc_2(a) : RLine_arc_2(a)
{} {}
typename cpp11::result_of< typename R::Construct_circular_source_vertex_2(Line_arc_2)>::type decltype(auto)
source() const source() const
{ {
return typename R::Construct_circular_source_vertex_2()(*this); return typename R::Construct_circular_source_vertex_2()(*this);
} }
typename cpp11::result_of< typename R::Construct_circular_target_vertex_2(Line_arc_2)>::type decltype(auto)
target() const target() const
{ {
return typename R::Construct_circular_target_vertex_2()(*this); return typename R::Construct_circular_target_vertex_2()(*this);
} }
typename cpp11::result_of< typename R::Construct_circular_min_vertex_2(Line_arc_2)>::type decltype(auto)
left() const left() const
{ {
return typename R::Construct_circular_min_vertex_2()(*this); return typename R::Construct_circular_min_vertex_2()(*this);
} }
typename cpp11::result_of< typename R::Construct_circular_max_vertex_2(Line_arc_2)>::type decltype(auto)
right() const right() const
{ {
return typename R::Construct_circular_max_vertex_2()(*this); return typename R::Construct_circular_max_vertex_2()(*this);