mirror of https://github.com/CGAL/cgal
workaround to force the usage of the tr1 implementation of result_of from boost
see http://www.boost.org/doc/libs/1_52_0/libs/utility/utility.htm#result_of
This commit is contained in:
parent
2db91b49f4
commit
f0f34d45fa
|
|
@ -110,25 +110,25 @@ public:
|
|||
{}
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_source_vertex_2(Circular_arc_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_source_vertex_2(Circular_arc_2)>::type
|
||||
source() const
|
||||
{
|
||||
return typename R::Construct_circular_source_vertex_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_target_vertex_2(Circular_arc_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_target_vertex_2(Circular_arc_2)>::type
|
||||
target() const
|
||||
{
|
||||
return typename R::Construct_circular_target_vertex_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_min_vertex_2(Circular_arc_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_min_vertex_2(Circular_arc_2)>::type
|
||||
left() const
|
||||
{
|
||||
return typename R::Construct_circular_min_vertex_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_max_vertex_2(Circular_arc_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_max_vertex_2(Circular_arc_2)>::type
|
||||
right() const
|
||||
{
|
||||
return typename R::Construct_circular_max_vertex_2()(*this);
|
||||
|
|
@ -144,19 +144,19 @@ public:
|
|||
return typename R::Is_y_monotone_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circle_2(Circular_arc_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circle_2(Circular_arc_2)>::type
|
||||
supporting_circle() const
|
||||
{
|
||||
return typename R::Construct_circle_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_center_2(Circular_arc_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_center_2(Circular_arc_2)>::type
|
||||
center() const
|
||||
{
|
||||
return typename R::Construct_center_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_squared_radius_2( Circular_arc_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_squared_radius_2( Circular_arc_2)>::type
|
||||
squared_radius() const
|
||||
{
|
||||
return typename R::Compute_squared_radius_2()(*this);
|
||||
|
|
|
|||
|
|
@ -74,14 +74,14 @@ public:
|
|||
{}
|
||||
|
||||
typename
|
||||
boost::result_of<typename R::Compute_circular_x_2(Circular_arc_point_2)>::type
|
||||
cpp11::result_of<typename R::Compute_circular_x_2(Circular_arc_point_2)>::type
|
||||
x() const
|
||||
{
|
||||
return typename R::Compute_circular_x_2()(*this);
|
||||
}
|
||||
|
||||
typename
|
||||
boost::result_of<typename R::Compute_circular_y_2(Circular_arc_point_2)>::type
|
||||
cpp11::result_of<typename R::Compute_circular_y_2(Circular_arc_point_2)>::type
|
||||
y() const
|
||||
{
|
||||
return typename R::Compute_circular_y_2()(*this);
|
||||
|
|
|
|||
|
|
@ -93,25 +93,25 @@ public:
|
|||
: RLine_arc_2(a)
|
||||
{}
|
||||
|
||||
typename boost::result_of< typename R::Construct_circular_source_vertex_2(Line_arc_2)>::type
|
||||
typename cpp11::result_of< typename R::Construct_circular_source_vertex_2(Line_arc_2)>::type
|
||||
source() const
|
||||
{
|
||||
return typename R::Construct_circular_source_vertex_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of< typename R::Construct_circular_target_vertex_2(Line_arc_2)>::type
|
||||
typename cpp11::result_of< typename R::Construct_circular_target_vertex_2(Line_arc_2)>::type
|
||||
target() const
|
||||
{
|
||||
return typename R::Construct_circular_target_vertex_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of< typename R::Construct_circular_min_vertex_2(Line_arc_2)>::type
|
||||
typename cpp11::result_of< typename R::Construct_circular_min_vertex_2(Line_arc_2)>::type
|
||||
left() const
|
||||
{
|
||||
return typename R::Construct_circular_min_vertex_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of< typename R::Construct_circular_max_vertex_2(Line_arc_2)>::type
|
||||
typename cpp11::result_of< typename R::Construct_circular_max_vertex_2(Line_arc_2)>::type
|
||||
right() const
|
||||
{
|
||||
return typename R::Construct_circular_max_vertex_2()(*this);
|
||||
|
|
|
|||
|
|
@ -120,19 +120,19 @@ namespace CGAL {
|
|||
: RCircular_arc_3(a)
|
||||
{}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_source_vertex_3(Circular_arc_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_source_vertex_3(Circular_arc_3)>::type
|
||||
source() const
|
||||
{
|
||||
return typename R::Construct_circular_source_vertex_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_target_vertex_3(Circular_arc_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_target_vertex_3(Circular_arc_3)>::type
|
||||
target() const
|
||||
{
|
||||
return typename R::Construct_circular_target_vertex_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circle_3(Circular_arc_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circle_3(Circular_arc_3)>::type
|
||||
supporting_circle() const
|
||||
{
|
||||
return typename R::Construct_circle_3()(*this);
|
||||
|
|
|
|||
|
|
@ -197,15 +197,15 @@ public:
|
|||
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Compute_circular_x_3(Circular_arc_point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_circular_x_3(Circular_arc_point_3)>::type
|
||||
x() const
|
||||
{ return typename R::Compute_circular_x_3()(*this);}
|
||||
|
||||
typename boost::result_of<typename R::Compute_circular_y_3(Circular_arc_point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_circular_y_3(Circular_arc_point_3)>::type
|
||||
y() const
|
||||
{ return typename R::Compute_circular_y_3()(*this);}
|
||||
|
||||
typename boost::result_of<typename R::Compute_circular_z_3(Circular_arc_point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_circular_z_3(Circular_arc_point_3)>::type
|
||||
z() const
|
||||
{ return typename R::Compute_circular_z_3()(*this);}
|
||||
|
||||
|
|
|
|||
|
|
@ -123,31 +123,31 @@ namespace CGAL {
|
|||
: RLine_arc_3(a)
|
||||
{}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_source_vertex_3(Line_arc_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_source_vertex_3(Line_arc_3)>::type
|
||||
source() const
|
||||
{
|
||||
return typename R::Construct_circular_source_vertex_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_target_vertex_3(Line_arc_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_target_vertex_3(Line_arc_3)>::type
|
||||
target() const
|
||||
{
|
||||
return typename R::Construct_circular_target_vertex_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_min_vertex_3(Line_arc_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_min_vertex_3(Line_arc_3)>::type
|
||||
lower_xyz_extremity() const
|
||||
{
|
||||
return typename R::Construct_circular_min_vertex_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_circular_max_vertex_3(Line_arc_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_circular_max_vertex_3(Line_arc_3)>::type
|
||||
higher_xyz_extremity() const
|
||||
{
|
||||
return typename R::Construct_circular_max_vertex_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_line_3(Line_arc_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_line_3(Line_arc_3)>::type
|
||||
supporting_line() const
|
||||
{
|
||||
return typename R::Construct_line_3()(*this);
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ protocol. If a functor `F` has the same return type across all
|
|||
overloads of `operator()`, the nested type
|
||||
`F::result_type` is defined to be that type. Otherwise the
|
||||
return type of calling the functor with an argument of type
|
||||
`Arg` can be accessed through `boost::%result_of<F(Arg)>::%type`.
|
||||
`Arg` can be accessed through \link CGAL::cpp11::result_of::type `CGAL::cpp11::result_of<F(Arg)>::type` \endlink.
|
||||
|
||||
\section preliminaries_secchecks Checks
|
||||
|
||||
|
|
|
|||
|
|
@ -809,21 +809,21 @@ struct Lazy_construction_nt {
|
|||
BOOST_PP_REPEAT(n, CGAL_TYPEMAP_EC, T) \
|
||||
typedef Lazy_exact_nt< \
|
||||
typename boost::remove_cv< typename boost::remove_reference < \
|
||||
typename boost::result_of<EC( BOOST_PP_ENUM_PARAMS(n, E) )>::type >::type >::type > type; \
|
||||
typename cpp11::result_of<EC( BOOST_PP_ENUM_PARAMS(n, E) )>::type >::type >::type > type; \
|
||||
};
|
||||
|
||||
BOOST_PP_REPEAT_FROM_TO(1, 6, CGAL_RESULT_NT, _)
|
||||
|
||||
#define CGAL_NT_OPERATOR(z, n, d) \
|
||||
template<BOOST_PP_ENUM_PARAMS(n, class L)> \
|
||||
typename boost::result_of<Lazy_construction_nt(BOOST_PP_ENUM_PARAMS(n, L))>::type \
|
||||
typename cpp11::result_of<Lazy_construction_nt(BOOST_PP_ENUM_PARAMS(n, L))>::type \
|
||||
operator()( BOOST_PP_ENUM(n, CGAL_LARGS, _) ) const { \
|
||||
BOOST_PP_REPEAT(n, CGAL_TYPEMAP_EC, L) \
|
||||
BOOST_PP_REPEAT(n, CGAL_TYPEMAP_AC, L) \
|
||||
typedef typename boost::remove_cv< typename boost::remove_reference < \
|
||||
typename boost::result_of< EC(BOOST_PP_ENUM_PARAMS(n, E)) >::type >::type >::type ET; \
|
||||
typename cpp11::result_of< EC(BOOST_PP_ENUM_PARAMS(n, E)) >::type >::type >::type ET; \
|
||||
typedef typename boost::remove_cv< typename boost::remove_reference < \
|
||||
typename boost::result_of< AC(BOOST_PP_ENUM_PARAMS(n, A)) >::type >::type >::type AT; \
|
||||
typename cpp11::result_of< AC(BOOST_PP_ENUM_PARAMS(n, A)) >::type >::type >::type AT; \
|
||||
CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); \
|
||||
Protect_FPU_rounding<Protection> P; \
|
||||
try { \
|
||||
|
|
@ -1424,23 +1424,23 @@ struct Lazy_construction<LK, AC, EC, E2A_, false>
|
|||
template< typename F, BOOST_PP_ENUM_PARAMS(n, class T) > \
|
||||
struct result<F( BOOST_PP_ENUM_PARAMS(n, T) )> { \
|
||||
BOOST_PP_REPEAT(n, CGAL_TYPEMAP_AC, T) \
|
||||
typedef typename Type_mapper< typename boost::result_of<AC( BOOST_PP_ENUM_PARAMS(n, A) )>::type, AK, LK>::type type; \
|
||||
typedef typename Type_mapper< typename cpp11::result_of<AC( BOOST_PP_ENUM_PARAMS(n, A) )>::type, AK, LK>::type type; \
|
||||
};
|
||||
|
||||
BOOST_PP_REPEAT_FROM_TO(1, 9, CGAL_RESULT, _)
|
||||
|
||||
#define CGAL_CONSTRUCTION_OPERATOR(z, n, d) \
|
||||
template<BOOST_PP_ENUM_PARAMS(n, class L)> \
|
||||
typename boost::result_of<Lazy_construction(BOOST_PP_ENUM_PARAMS(n, L))>::type \
|
||||
typename cpp11::result_of<Lazy_construction(BOOST_PP_ENUM_PARAMS(n, L))>::type \
|
||||
operator()( BOOST_PP_ENUM(n, CGAL_LARGS, _) ) { \
|
||||
BOOST_PP_REPEAT(n, CGAL_TYPEMAP_EC, L) \
|
||||
BOOST_PP_REPEAT(n, CGAL_TYPEMAP_AC, L) \
|
||||
typedef typename boost::remove_cv< typename boost::remove_reference < \
|
||||
typename boost::result_of< EC(BOOST_PP_ENUM_PARAMS(n, E)) >::type >::type >::type ET; \
|
||||
typename cpp11::result_of< EC(BOOST_PP_ENUM_PARAMS(n, E)) >::type >::type >::type ET; \
|
||||
typedef typename boost::remove_cv< typename boost::remove_reference < \
|
||||
typename boost::result_of< AC(BOOST_PP_ENUM_PARAMS(n, A)) >::type >::type >::type AT; \
|
||||
typename cpp11::result_of< AC(BOOST_PP_ENUM_PARAMS(n, A)) >::type >::type >::type AT; \
|
||||
typedef Lazy< AT, ET, EFT, E2A> Handle; \
|
||||
typedef typename boost::result_of<Lazy_construction(BOOST_PP_ENUM_PARAMS(n, L))>::type result_type; \
|
||||
typedef typename cpp11::result_of<Lazy_construction(BOOST_PP_ENUM_PARAMS(n, L))>::type result_type; \
|
||||
CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp); \
|
||||
Protect_FPU_rounding<Protection> P; \
|
||||
try { \
|
||||
|
|
@ -1456,13 +1456,13 @@ struct result<F( BOOST_PP_ENUM_PARAMS(n, T) )> { \
|
|||
BOOST_PP_REPEAT_FROM_TO(1, 9, CGAL_CONSTRUCTION_OPERATOR, _)
|
||||
|
||||
// nullary
|
||||
typename Type_mapper< typename boost::result_of<AC()>::type ,AK, LK>::type
|
||||
typename Type_mapper< typename cpp11::result_of<AC()>::type ,AK, LK>::type
|
||||
operator()() const
|
||||
{
|
||||
typedef typename boost::result_of<AC()>::type AT;
|
||||
typedef typename boost::result_of<EC()>::type ET;
|
||||
typedef typename cpp11::result_of<AC()>::type AT;
|
||||
typedef typename cpp11::result_of<EC()>::type ET;
|
||||
typedef Lazy<AT, ET, EFT, E2A> Handle;
|
||||
typedef typename Type_mapper< typename boost::result_of<AC()>::type ,AK, LK>::type result_type;
|
||||
typedef typename Type_mapper< typename cpp11::result_of<AC()>::type ,AK, LK>::type result_type;
|
||||
|
||||
return result_type( Handle(new Lazy_rep_0<AT,ET,E2A>()) );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,6 +147,13 @@ David A. Wheeler's 'SLOCCount'</a>, restricted to the <code>include/CGAL/</code>
|
|||
<li> Addition of the <code>Combination_enumerator</code>
|
||||
</ul>
|
||||
|
||||
<h3>STL Extensions</h3>
|
||||
<ul>
|
||||
<li>Introduction of <code>CGAL::cpp11::result_of</code> as an alias to the tr1 implementation from boost of the <code>result_of</code> mechanism.
|
||||
When all compilers supported by CGAL will have a Standard compliant implemention of the C++11 <code>decltype</code> feature, it will become an alias to
|
||||
<code>std::result_of</code>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Surface Reconstruction from Point Sets</h3>
|
||||
<ul>
|
||||
|
|
|
|||
|
|
@ -95,13 +95,13 @@ public:
|
|||
Circle_2(const Point_2 & center)
|
||||
: RCircle_2(typename R::Construct_circle_2()(Return_base_tag(), center, FT(0), COUNTERCLOCKWISE)) {}
|
||||
|
||||
typename boost::result_of<typename R::Construct_center_2(Circle_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_center_2(Circle_2)>::type
|
||||
center() const
|
||||
{
|
||||
return R().construct_center_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_squared_radius_2(Circle_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_squared_radius_2(Circle_2)>::type
|
||||
squared_radius() const
|
||||
{
|
||||
return R().compute_squared_radius_2_object()(*this);
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ public:
|
|||
Circle_3(const Rep& r)
|
||||
: Rep(r) {}
|
||||
|
||||
typename boost::result_of
|
||||
typename cpp11::result_of
|
||||
<typename R::Construct_sphere_3( Circle_3)>::type
|
||||
diametral_sphere() const
|
||||
{
|
||||
|
|
@ -118,7 +118,7 @@ public:
|
|||
return typename R::Construct_sphere_3()(*this).squared_radius();
|
||||
}
|
||||
|
||||
typename boost::result_of
|
||||
typename cpp11::result_of
|
||||
<typename R::Construct_plane_3( Circle_3)>::type
|
||||
supporting_plane() const
|
||||
{
|
||||
|
|
|
|||
|
|
@ -98,19 +98,19 @@ public:
|
|||
return R().construct_perpendicular_direction_2_object()(*this,o);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_dx_2( Direction_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_dx_2( Direction_2)>::type
|
||||
dx() const
|
||||
{
|
||||
return R().compute_dx_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_dy_2( Direction_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_dy_2( Direction_2)>::type
|
||||
dy() const
|
||||
{
|
||||
return R().compute_dy_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_dx_2( Direction_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_dx_2( Direction_2)>::type
|
||||
delta(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( ( i == 0 ) || ( i == 1 ) );
|
||||
|
|
|
|||
|
|
@ -104,25 +104,25 @@ public:
|
|||
Vector_3 vector() const { return to_vector(); }
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Compute_dx_3(Direction_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_dx_3(Direction_3)>::type
|
||||
dx() const
|
||||
{
|
||||
return R().compute_dx_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_dy_3(Direction_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_dy_3(Direction_3)>::type
|
||||
dy() const
|
||||
{
|
||||
return R().compute_dy_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_dz_3(Direction_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_dz_3(Direction_3)>::type
|
||||
dz() const
|
||||
{
|
||||
return R().compute_dz_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_dx_3(Direction_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_dx_3(Direction_3)>::type
|
||||
delta(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( i >= 0 && i <= 2 );
|
||||
|
|
|
|||
|
|
@ -90,67 +90,67 @@ public:
|
|||
: Rep(typename R::Construct_iso_cuboid_3()(Return_base_tag(), min_hx, min_hy, min_hz,
|
||||
max_hx, max_hy, max_hz)) {}
|
||||
|
||||
typename boost::result_of<typename R::Construct_min_vertex_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Construct_min_vertex_3( Iso_cuboid_3 )>::type
|
||||
min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return R().construct_min_vertex_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_max_vertex_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Construct_max_vertex_3( Iso_cuboid_3 )>::type
|
||||
max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return R().construct_max_vertex_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3( Iso_cuboid_3, int )>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3( Iso_cuboid_3, int )>::type
|
||||
vertex(int i) const
|
||||
{
|
||||
return R().construct_vertex_3_object()(*this,i);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3( Iso_cuboid_3, int )>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3( Iso_cuboid_3, int )>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return R().construct_vertex_3_object()(*this,i);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_xmin_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_xmin_3( Iso_cuboid_3 )>::type
|
||||
xmin() const
|
||||
{
|
||||
return R().compute_xmin_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_xmax_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_xmax_3( Iso_cuboid_3 )>::type
|
||||
xmax() const
|
||||
{
|
||||
return R().compute_xmax_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_ymin_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_ymin_3( Iso_cuboid_3 )>::type
|
||||
ymin() const
|
||||
{
|
||||
return R().compute_ymin_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_ymax_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_ymax_3( Iso_cuboid_3 )>::type
|
||||
ymax() const
|
||||
{
|
||||
return R().compute_ymax_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_zmin_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_zmin_3( Iso_cuboid_3 )>::type
|
||||
zmin() const
|
||||
{
|
||||
return R().compute_zmin_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_zmax_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_zmax_3( Iso_cuboid_3 )>::type
|
||||
zmax() const
|
||||
{
|
||||
return R().compute_zmax_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_xmin_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_xmin_3( Iso_cuboid_3 )>::type
|
||||
min_coord(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( i == 0 || i == 1 || i == 2 );
|
||||
|
|
@ -162,7 +162,7 @@ public:
|
|||
return zmin();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_xmax_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_xmax_3( Iso_cuboid_3 )>::type
|
||||
max_coord(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( i == 0 || i == 1 || i == 2 );
|
||||
|
|
@ -210,7 +210,7 @@ public:
|
|||
return R().is_degenerate_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_volume_3( Iso_cuboid_3 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_volume_3( Iso_cuboid_3 )>::type
|
||||
volume() const
|
||||
{
|
||||
return R().compute_volume_3_object()(*this);
|
||||
|
|
|
|||
|
|
@ -87,13 +87,13 @@ public:
|
|||
: Rep(typename R::Construct_iso_rectangle_2()(Return_base_tag(), min_hx, min_hy, max_hx, max_hy, hw)) {}
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Construct_min_vertex_2( Iso_rectangle_2 )>::type
|
||||
typename cpp11::result_of<typename R::Construct_min_vertex_2( Iso_rectangle_2 )>::type
|
||||
min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return R().construct_min_vertex_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_max_vertex_2( Iso_rectangle_2 )>::type
|
||||
typename cpp11::result_of<typename R::Construct_max_vertex_2( Iso_rectangle_2 )>::type
|
||||
max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return R().construct_max_vertex_2_object()(*this);
|
||||
|
|
@ -112,43 +112,43 @@ public:
|
|||
}
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_2( Iso_rectangle_2, int )>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_2( Iso_rectangle_2, int )>::type
|
||||
vertex(int i) const
|
||||
{
|
||||
return R().construct_vertex_2_object()(*this,i);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_2( Iso_rectangle_2, int )>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_2( Iso_rectangle_2, int )>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return R().construct_vertex_2_object()(*this,i);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_xmin_2( Iso_rectangle_2 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_xmin_2( Iso_rectangle_2 )>::type
|
||||
xmin() const
|
||||
{
|
||||
return R().compute_xmin_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_xmax_2( Iso_rectangle_2 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_xmax_2( Iso_rectangle_2 )>::type
|
||||
xmax() const
|
||||
{
|
||||
return R().compute_xmax_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_ymin_2( Iso_rectangle_2 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_ymin_2( Iso_rectangle_2 )>::type
|
||||
ymin() const
|
||||
{
|
||||
return R().compute_ymin_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_ymax_2( Iso_rectangle_2 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_ymax_2( Iso_rectangle_2 )>::type
|
||||
ymax() const
|
||||
{
|
||||
return R().compute_ymax_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_xmin_2( Iso_rectangle_2 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_xmin_2( Iso_rectangle_2 )>::type
|
||||
min_coord(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( i == 0 || i == 1 );
|
||||
|
|
@ -158,7 +158,7 @@ public:
|
|||
return ymin();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_xmin_2( Iso_rectangle_2 )>::type
|
||||
typename cpp11::result_of<typename R::Compute_xmin_2( Iso_rectangle_2 )>::type
|
||||
max_coord(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( i == 0 || i == 1 );
|
||||
|
|
|
|||
|
|
@ -113,25 +113,25 @@ public:
|
|||
return Direction_3(a(), b(), c());
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_a_3( Plane_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_a_3( Plane_3)>::type
|
||||
a() const
|
||||
{
|
||||
return R().compute_a_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_b_3( Plane_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_b_3( Plane_3)>::type
|
||||
b() const
|
||||
{
|
||||
return R().compute_b_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_c_3( Plane_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_c_3( Plane_3)>::type
|
||||
c() const
|
||||
{
|
||||
return R().compute_c_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_d_3( Plane_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_d_3( Plane_3)>::type
|
||||
d() const
|
||||
{
|
||||
return R().compute_d_3_object()(*this);
|
||||
|
|
|
|||
|
|
@ -85,26 +85,26 @@ public:
|
|||
: RPoint_2(typename R::Construct_point_2()(Return_base_tag(), hx, hy, hw))
|
||||
{}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_2(Point_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_2(Point_2)>::type
|
||||
x() const
|
||||
{
|
||||
return typename R::Compute_x_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_y_2(Point_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_y_2(Point_2)>::type
|
||||
y() const
|
||||
{
|
||||
return typename R::Compute_y_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_2(Point_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_2(Point_2)>::type
|
||||
cartesian(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( (i == 0) || (i == 1) );
|
||||
return (i==0) ? x() : y();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_2(Point_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_2(Point_2)>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return cartesian(i);
|
||||
|
|
@ -122,19 +122,19 @@ public:
|
|||
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Compute_hx_2(Point_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hx_2(Point_2)>::type
|
||||
hx() const
|
||||
{
|
||||
return typename R::Compute_hx_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hy_2(Point_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hy_2(Point_2)>::type
|
||||
hy() const
|
||||
{
|
||||
return typename R::Compute_hy_2()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hw_2(Point_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hw_2(Point_2)>::type
|
||||
hw() const
|
||||
{
|
||||
return typename R::Compute_hw_2()(*this);
|
||||
|
|
@ -145,7 +145,7 @@ public:
|
|||
return 2;
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hx_2(Point_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hx_2(Point_2)>::type
|
||||
homogeneous(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( (i >= 0) || (i <= 2) );
|
||||
|
|
|
|||
|
|
@ -84,49 +84,49 @@ public:
|
|||
: Rep(typename R::Construct_point_3()(Return_base_tag(), hx, hy, hz, hw))
|
||||
{}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_3( Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_3( Point_3)>::type
|
||||
x() const
|
||||
{
|
||||
return typename R::Compute_x_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_y_3( Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_y_3( Point_3)>::type
|
||||
y() const
|
||||
{
|
||||
return typename R::Compute_y_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_z_3( Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_z_3( Point_3)>::type
|
||||
z() const
|
||||
{
|
||||
return typename R::Compute_z_3()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hx_3( Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hx_3( Point_3)>::type
|
||||
hx() const
|
||||
{
|
||||
return R().compute_hx_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hy_3( Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hy_3( Point_3)>::type
|
||||
hy() const
|
||||
{
|
||||
return R().compute_hy_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hz_3( Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hz_3( Point_3)>::type
|
||||
hz() const
|
||||
{
|
||||
return R().compute_hz_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hw_3( Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hw_3( Point_3)>::type
|
||||
hw() const
|
||||
{
|
||||
return R().compute_hw_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_3( Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_3( Point_3)>::type
|
||||
cartesian(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( (i == 0) || (i == 1) || (i == 2) );
|
||||
|
|
@ -145,7 +145,7 @@ public:
|
|||
return hw();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_3(Point_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_3(Point_3)>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return cartesian(i);
|
||||
|
|
|
|||
|
|
@ -86,13 +86,13 @@ public:
|
|||
: RRay_2(typename R::Construct_ray_2()(Return_base_tag(), sp, l)) {}
|
||||
|
||||
|
||||
typename boost::result_of<typename R_::Construct_source_2( Ray_2)>::type
|
||||
typename cpp11::result_of<typename R_::Construct_source_2( Ray_2)>::type
|
||||
source() const
|
||||
{
|
||||
return R().construct_source_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R_::Construct_second_point_2( Ray_2)>::type
|
||||
typename cpp11::result_of<typename R_::Construct_second_point_2( Ray_2)>::type
|
||||
second_point() const
|
||||
{
|
||||
return R().construct_second_point_2_object()(*this);
|
||||
|
|
@ -116,7 +116,7 @@ public:
|
|||
}
|
||||
|
||||
|
||||
typename boost::result_of<typename R_::Construct_source_2( Ray_2 )>::type
|
||||
typename cpp11::result_of<typename R_::Construct_source_2( Ray_2 )>::type
|
||||
start() const
|
||||
{
|
||||
return source();
|
||||
|
|
|
|||
|
|
@ -105,25 +105,25 @@ public:
|
|||
bool collinear_has_on(const Point_3 &p) const;
|
||||
*/
|
||||
|
||||
typename boost::result_of<typename R::Construct_point_on_3(Ray_3, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_point_on_3(Ray_3, int)>::type
|
||||
point(int i) const // TODO : use Qrt
|
||||
{
|
||||
return R().construct_point_on_3_object()(*this, i);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_source_3(Ray_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_source_3(Ray_3)>::type
|
||||
source() const
|
||||
{
|
||||
return R().construct_source_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_second_point_3(Ray_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_second_point_3(Ray_3)>::type
|
||||
second_point() const
|
||||
{
|
||||
return R().construct_second_point_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_source_3(Ray_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_source_3(Ray_3)>::type
|
||||
start() const
|
||||
{
|
||||
return source();
|
||||
|
|
|
|||
|
|
@ -76,44 +76,44 @@ public:
|
|||
Segment_2(const Point_2 &sp, const Point_2 &ep)
|
||||
: RSegment_2(typename R::Construct_segment_2()(Return_base_tag(), sp,ep)) {}
|
||||
|
||||
typename boost::result_of<typename R::Construct_source_2( Segment_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_source_2( Segment_2)>::type
|
||||
source() const
|
||||
{
|
||||
return R_().construct_source_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_target_2( Segment_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_target_2( Segment_2)>::type
|
||||
target() const
|
||||
{
|
||||
return R_().construct_target_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_source_2( Segment_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_source_2( Segment_2)>::type
|
||||
start() const
|
||||
{
|
||||
return source();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_target_2( Segment_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_target_2( Segment_2)>::type
|
||||
end() const
|
||||
{
|
||||
return target();
|
||||
}
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Construct_min_vertex_2( Segment_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_min_vertex_2( Segment_2)>::type
|
||||
min BOOST_PREVENT_MACRO_SUBSTITUTION () const;
|
||||
|
||||
typename boost::result_of<typename R::Construct_max_vertex_2( Segment_2)>::type
|
||||
typename cpp11::result_of<typename R::Construct_max_vertex_2( Segment_2)>::type
|
||||
max BOOST_PREVENT_MACRO_SUBSTITUTION () const;
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_2( Segment_2, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_2( Segment_2, int)>::type
|
||||
vertex(int i) const;
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_2( Segment_2, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_2( Segment_2, int)>::type
|
||||
point(int i) const;
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_2( Segment_2, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_2( Segment_2, int)>::type
|
||||
operator[](int i) const;
|
||||
|
||||
bool is_horizontal() const;
|
||||
|
|
@ -178,7 +178,7 @@ public:
|
|||
|
||||
template < class R_ >
|
||||
CGAL_KERNEL_INLINE
|
||||
typename boost::result_of<typename R_::Construct_min_vertex_2( Segment_2<R_> )>::type
|
||||
typename cpp11::result_of<typename R_::Construct_min_vertex_2( Segment_2<R_> )>::type
|
||||
Segment_2<R_>::min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
typename R_::Less_xy_2 less_xy;
|
||||
|
|
@ -187,7 +187,7 @@ Segment_2<R_>::min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
|||
|
||||
template < class R_ >
|
||||
CGAL_KERNEL_INLINE
|
||||
typename boost::result_of<typename R_::Construct_max_vertex_2( Segment_2<R_> )>::type
|
||||
typename cpp11::result_of<typename R_::Construct_max_vertex_2( Segment_2<R_> )>::type
|
||||
Segment_2<R_>::max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
typename R_::Less_xy_2 less_xy;
|
||||
|
|
@ -196,7 +196,7 @@ Segment_2<R_>::max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
|||
|
||||
template < class R_ >
|
||||
CGAL_KERNEL_INLINE
|
||||
typename boost::result_of<typename R_::Construct_vertex_2( Segment_2<R_>, int )>::type
|
||||
typename cpp11::result_of<typename R_::Construct_vertex_2( Segment_2<R_>, int )>::type
|
||||
Segment_2<R_>::vertex(int i) const
|
||||
{
|
||||
return (i%2 == 0) ? source() : target();
|
||||
|
|
@ -204,7 +204,7 @@ Segment_2<R_>::vertex(int i) const
|
|||
|
||||
template < class R_ >
|
||||
inline
|
||||
typename boost::result_of<typename R_::Construct_vertex_2( Segment_2<R_>, int )>::type
|
||||
typename cpp11::result_of<typename R_::Construct_vertex_2( Segment_2<R_>, int )>::type
|
||||
Segment_2<R_>::point(int i) const
|
||||
{
|
||||
return vertex(i);
|
||||
|
|
@ -212,7 +212,7 @@ Segment_2<R_>::point(int i) const
|
|||
|
||||
template < class R_ >
|
||||
inline
|
||||
typename boost::result_of<typename R_::Construct_vertex_2( Segment_2<R_>, int )>::type
|
||||
typename cpp11::result_of<typename R_::Construct_vertex_2( Segment_2<R_>, int )>::type
|
||||
Segment_2<R_>::operator[](int i) const
|
||||
{
|
||||
return vertex(i);
|
||||
|
|
|
|||
|
|
@ -74,44 +74,44 @@ public:
|
|||
Segment_3(const Point_3& sp, const Point_3& ep)
|
||||
: Rep(typename R::Construct_segment_3()(Return_base_tag(), sp, ep)) {}
|
||||
|
||||
typename boost::result_of<typename R::Construct_source_3(Segment_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_source_3(Segment_3)>::type
|
||||
source() const
|
||||
{
|
||||
return R_().construct_source_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_target_3(Segment_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_target_3(Segment_3)>::type
|
||||
target() const
|
||||
{
|
||||
return R_().construct_target_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_source_3(Segment_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_source_3(Segment_3)>::type
|
||||
start() const
|
||||
{
|
||||
return source();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_target_3(Segment_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_target_3(Segment_3)>::type
|
||||
end() const
|
||||
{
|
||||
return target();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_min_vertex_3(Segment_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_min_vertex_3(Segment_3)>::type
|
||||
min BOOST_PREVENT_MACRO_SUBSTITUTION () const;
|
||||
|
||||
typename boost::result_of<typename R::Construct_max_vertex_3(Segment_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_max_vertex_3(Segment_3)>::type
|
||||
max BOOST_PREVENT_MACRO_SUBSTITUTION () const;
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3(Segment_3, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3(Segment_3, int)>::type
|
||||
vertex(int i) const;
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3(Segment_3, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3(Segment_3, int)>::type
|
||||
point(int i) const
|
||||
{ return vertex(i); }
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3(Segment_3, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3(Segment_3, int)>::type
|
||||
operator[](int i) const
|
||||
{ return vertex(i); }
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ public:
|
|||
|
||||
template < class R_ >
|
||||
CGAL_KERNEL_INLINE
|
||||
typename boost::result_of<typename R_::Construct_min_vertex_3( Segment_3<R_> ) >::type
|
||||
typename cpp11::result_of<typename R_::Construct_min_vertex_3( Segment_3<R_> ) >::type
|
||||
Segment_3<R_>::min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
typename R_::Less_xyz_3 less_xyz;
|
||||
|
|
@ -178,7 +178,7 @@ Segment_3<R_>::min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
|||
|
||||
template < class R_ >
|
||||
CGAL_KERNEL_INLINE
|
||||
typename boost::result_of<typename R_::Construct_max_vertex_3( Segment_3<R_> ) >::type
|
||||
typename cpp11::result_of<typename R_::Construct_max_vertex_3( Segment_3<R_> ) >::type
|
||||
Segment_3<R_>::max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
typename R_::Less_xyz_3 less_xyz;
|
||||
|
|
@ -187,7 +187,7 @@ Segment_3<R_>::max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
|||
|
||||
template < class R_ >
|
||||
CGAL_KERNEL_INLINE
|
||||
typename boost::result_of<typename R_::Construct_vertex_3( Segment_3<R_>, int ) >::type
|
||||
typename cpp11::result_of<typename R_::Construct_vertex_3( Segment_3<R_>, int ) >::type
|
||||
Segment_3<R_>::vertex(int i) const
|
||||
{
|
||||
return (i%2 == 0) ? source() : target();
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ public:
|
|||
|
||||
Sphere_3 orthogonal_transform(const Aff_transformation_3 &t) const;
|
||||
|
||||
typename boost::result_of<typename R::Construct_center_3( Sphere_3)>::type
|
||||
typename cpp11::result_of<typename R::Construct_center_3( Sphere_3)>::type
|
||||
center() const
|
||||
{
|
||||
return R().construct_center_3_object()(*this);
|
||||
|
|
|
|||
|
|
@ -78,13 +78,13 @@ public:
|
|||
t.transform(this->vertex(3)));
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3( Tetrahedron_3, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3( Tetrahedron_3, int)>::type
|
||||
vertex(int i) const
|
||||
{
|
||||
return R().construct_vertex_3_object()(*this,i);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3( Tetrahedron_3, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3( Tetrahedron_3, int)>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return vertex(i);
|
||||
|
|
@ -136,7 +136,7 @@ public:
|
|||
return R().has_on_unbounded_side_3_object()(*this, p);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_volume_3( Tetrahedron_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_volume_3( Tetrahedron_3)>::type
|
||||
volume() const
|
||||
{
|
||||
return R().compute_volume_3_object()(*this);
|
||||
|
|
|
|||
|
|
@ -107,13 +107,13 @@ public:
|
|||
return !(*this == t);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_2( Triangle_2, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_2( Triangle_2, int)>::type
|
||||
vertex(int i) const
|
||||
{
|
||||
return R().construct_vertex_2_object()(*this,i);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_2( Triangle_2, int)>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_2( Triangle_2, int)>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return vertex(i);
|
||||
|
|
|
|||
|
|
@ -90,13 +90,13 @@ public:
|
|||
}
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3( Triangle_3, int )>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3( Triangle_3, int )>::type
|
||||
vertex(int i) const
|
||||
{
|
||||
return R().construct_vertex_3_object()(*this, i);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Construct_vertex_3( Triangle_3, int )>::type
|
||||
typename cpp11::result_of<typename R::Construct_vertex_3( Triangle_3, int )>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return vertex(i);
|
||||
|
|
|
|||
|
|
@ -99,26 +99,26 @@ public:
|
|||
: RVector_2(typename R::Construct_vector_2()(Return_base_tag(), x,y,w)) {}
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_2(Vector_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_2(Vector_2)>::type
|
||||
x() const
|
||||
{
|
||||
return R().compute_x_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_y_2(Vector_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_y_2(Vector_2)>::type
|
||||
y() const
|
||||
{
|
||||
return R().compute_y_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_y_2(Vector_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_y_2(Vector_2)>::type
|
||||
cartesian(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( (i == 0) || (i == 1) );
|
||||
return (i==0) ? x() : y();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_2(Vector_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_2(Vector_2)>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return cartesian(i);
|
||||
|
|
@ -134,26 +134,26 @@ public:
|
|||
return typename R::Construct_cartesian_const_iterator_2()(*this,2);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hx_2(Vector_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hx_2(Vector_2)>::type
|
||||
hx() const
|
||||
{
|
||||
return R().compute_hx_2_object()(*this);
|
||||
}
|
||||
|
||||
|
||||
typename boost::result_of<typename R::Compute_hy_2(Vector_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hy_2(Vector_2)>::type
|
||||
hy() const
|
||||
{
|
||||
return R().compute_hy_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hw_2(Vector_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hw_2(Vector_2)>::type
|
||||
hw() const
|
||||
{
|
||||
return R().compute_hw_2_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hx_2(Vector_2)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hx_2(Vector_2)>::type
|
||||
homogeneous(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( (i >= 0) || (i <= 2) );
|
||||
|
|
|
|||
|
|
@ -133,49 +133,49 @@ public:
|
|||
return R().construct_divided_vector_3_object()(*this,c);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_3(Vector_3)>::type
|
||||
x() const
|
||||
{
|
||||
return R().compute_x_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_y_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_y_3(Vector_3)>::type
|
||||
y() const
|
||||
{
|
||||
return R().compute_y_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_z_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_z_3(Vector_3)>::type
|
||||
z() const
|
||||
{
|
||||
return R().compute_z_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hx_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hx_3(Vector_3)>::type
|
||||
hx() const
|
||||
{
|
||||
return R().compute_hx_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hy_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hy_3(Vector_3)>::type
|
||||
hy() const
|
||||
{
|
||||
return R().compute_hy_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hz_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hz_3(Vector_3)>::type
|
||||
hz() const
|
||||
{
|
||||
return R().compute_hz_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hw_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hw_3(Vector_3)>::type
|
||||
hw() const
|
||||
{
|
||||
return R().compute_hw_3_object()(*this);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_3(Vector_3)>::type
|
||||
cartesian(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( (i == 0) || (i == 1) || (i == 2) );
|
||||
|
|
@ -184,7 +184,7 @@ public:
|
|||
return z();
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_hw_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_hw_3(Vector_3)>::type
|
||||
homogeneous(int i) const
|
||||
{
|
||||
CGAL_kernel_precondition( (i >= 0) || (i <= 3) );
|
||||
|
|
@ -199,7 +199,7 @@ public:
|
|||
return 3;
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_x_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_x_3(Vector_3)>::type
|
||||
operator[](int i) const
|
||||
{
|
||||
return cartesian(i);
|
||||
|
|
@ -215,7 +215,7 @@ public:
|
|||
return typename R::Construct_cartesian_const_iterator_3()(*this,3);
|
||||
}
|
||||
|
||||
typename boost::result_of<typename R::Compute_squared_length_3(Vector_3)>::type
|
||||
typename cpp11::result_of<typename R::Compute_squared_length_3(Vector_3)>::type
|
||||
squared_length() const
|
||||
{
|
||||
return R().compute_squared_length_3_object()(*this);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
// #if !defined(CGAL_CFG_NO_CPP0X_DECLTYPE)
|
||||
// #define BOOST_RESULT_OF_USE_DECLTYPE
|
||||
// #endif
|
||||
#include <boost/utility/result_of.hpp>
|
||||
#include <CGAL/result_of.h>
|
||||
|
||||
#include <CGAL/assertions.h>
|
||||
#include <CGAL/tags.h>
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ overloads of \ccStyle{operator()}, the nested type
|
|||
\ccStyle{F::result_type} is defined to be that type. Otherwise the
|
||||
return type of calling the functor with an argument of type
|
||||
\ccStyle{Arg} can be accessed through
|
||||
\ccStyle{boost::result_of<F(Arg)>::type}.
|
||||
\ccStyle{CGAL::cpp11::result_of<F(Arg)>::type}.
|
||||
|
||||
\input{Preliminaries/checks} % extra chapter
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
namespace CGAL {
|
||||
namespace cpp11 {
|
||||
|
||||
/*!
|
||||
\ingroup PkgStlExtension
|
||||
Alias to the tr1 implementation from boost of the `result_of` mechanism.
|
||||
When all compilers supported by %CGAL will have a Standard compliant implemention of the
|
||||
the \cpp11 `decltype` feature, it will become an alias to <code>std::result_of</code>.
|
||||
*/
|
||||
template <typename F>
|
||||
struct result_of{
|
||||
/// starting from boost version 1.44, it is `boost::tr1_result_of<F>::%type`, and
|
||||
/// `boost::result_of<F>::%type` otherwise.
|
||||
typedef Hidden_type type;
|
||||
};
|
||||
|
||||
} } //end of namespace CGAL::cpp11
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
// Copyright (c) 2013
|
||||
// Utrecht University (The Netherlands),
|
||||
// ETH Zurich (Switzerland),
|
||||
// INRIA Sophia-Antipolis (France),
|
||||
// Max-Planck-Institute Saarbruecken (Germany),
|
||||
// and Tel-Aviv University (Israel). All rights reserved.
|
||||
//
|
||||
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 3 of the License,
|
||||
// or (at your option) any later version.
|
||||
//
|
||||
// Licensees holding a valid commercial license may use this file in
|
||||
// accordance with the commercial license agreement provided with the software.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// $URL$
|
||||
// $Id$
|
||||
//
|
||||
//
|
||||
// Author(s) : Sebastien Loriot <sebastien.loriot@cgal.org>
|
||||
|
||||
|
||||
#ifndef CGAL_RESULT_OF_H
|
||||
#define CGAL_RESULT_OF_H
|
||||
|
||||
#include <boost/utility/result_of.hpp>
|
||||
#include <boost/version.hpp>
|
||||
|
||||
namespace CGAL{
|
||||
|
||||
// Even if for now we use the tr1 result_of implementation, we use the cpp11
|
||||
// namespace since in the future, that's the decltype version that will be used
|
||||
namespace cpp11{
|
||||
|
||||
template<typename F>
|
||||
struct result_of
|
||||
{
|
||||
// from boost 1.44 release note http://www.boost.org/users/history/version_1_44_0.html :
|
||||
// New template boost::tr1_result_of that implements the TR1 ResultOf protocol even if boost::result_of uses the C++0x decltype-based implementation.
|
||||
#if BOOST_VERSION < 104400
|
||||
typedef typename cpp11::result_of<F>::type type;
|
||||
#else
|
||||
typedef typename boost::tr1_result_of<F>::type type;
|
||||
#endif
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif //CGAL_RESULT_OF_H
|
||||
Loading…
Reference in New Issue