mirror of https://github.com/CGAL/cgal
s/boost::result_of/cpp11::result_of/g
This commit is contained in:
parent
d6905c61be
commit
f97d6b8bd9
|
|
@ -71,7 +71,7 @@ public:
|
|||
template<typename Query>
|
||||
struct Intersection_and_primitive_id {
|
||||
typedef std::pair<
|
||||
typename boost::result_of<typename GeomTraits::Intersect_3(Query, typename Primitive::Datum) >::type,
|
||||
typename cpp11::result_of<typename GeomTraits::Intersect_3(Query, typename Primitive::Datum) >::type,
|
||||
typename Primitive::Id > Type;
|
||||
typedef Type type;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ public:
|
|||
typedef Arr_point_location_result<Arrangement_2> Result;
|
||||
typedef typename Result::Type Result_type;
|
||||
|
||||
// Support boost::result_of
|
||||
// Support cpp11::result_of
|
||||
typedef Result_type result_type;
|
||||
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public:
|
|||
typedef Arr_point_location_result<Arrangement_2> Result;
|
||||
typedef typename Result::Type Result_type;
|
||||
|
||||
// Support boost::result_of
|
||||
// Support cpp11::result_of
|
||||
typedef Result_type result_type;
|
||||
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ public:
|
|||
typedef Arr_point_location_result<Arrangement_2> Result;
|
||||
typedef typename Result::Type Result_type;
|
||||
|
||||
// Support boost::result_of
|
||||
// Support cpp11::result_of
|
||||
typedef Result_type result_type;
|
||||
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ protected:
|
|||
typedef typename Result::Type Result_type;
|
||||
|
||||
public:
|
||||
// Support boost::result_of
|
||||
// Support cpp11::result_of
|
||||
typedef Result_type result_type;
|
||||
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ public:
|
|||
typedef Arr_point_location_result<Arrangement_2> Result;
|
||||
typedef typename Result::Type Result_type;
|
||||
|
||||
// Support boost::result_of
|
||||
// Support cpp11::result_of
|
||||
typedef Result_type result_type;
|
||||
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public:
|
|||
typedef Arr_point_location_result<Arrangement_2> Result;
|
||||
typedef typename Result::Type Result_type;
|
||||
|
||||
// Support boost::result_of
|
||||
// Support cpp11::result_of
|
||||
typedef Result_type result_type;
|
||||
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ double prob_2() {
|
|||
if(CGAL::orientation(p4, p5, p6) != CGAL::COUNTERCLOCKWISE) std::swap(p4, p6);
|
||||
T o2 = T(p4, p5, p6);
|
||||
|
||||
typedef boost::result_of<CircularK::Intersect_2(T, T)>::type
|
||||
typedef cpp11::result_of<CircularK::Intersect_2(T, T)>::type
|
||||
Intersection_result;
|
||||
std::vector<Intersection_result> res;
|
||||
CGAL::intersection(o1, o2, std::back_inserter(res));
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ namespace internal {
|
|||
_begin = CGAL::circle_intersect<CK>(c, c1, b_1);
|
||||
_end = CGAL::circle_intersect<CK>(c, c2, b_2);
|
||||
} else {
|
||||
typedef std::vector<typename boost::result_of<typename CK::Intersect_2(typename CK::Circle_2,
|
||||
typedef std::vector<typename cpp11::result_of<typename CK::Intersect_2(typename CK::Circle_2,
|
||||
typename CK::Circle_2)>::type>
|
||||
solutions_container;
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ public:
|
|||
intersect(const Line_2 & l, const Circle_2 & c, const bool b)
|
||||
{
|
||||
|
||||
typedef std::vector<typename boost::result_of<typename CK::Intersect_2(Line_2, Circle_2)>::type>
|
||||
typedef std::vector<typename cpp11::result_of<typename CK::Intersect_2(Line_2, Circle_2)>::type>
|
||||
solutions_container;
|
||||
|
||||
solutions_container solutions;
|
||||
|
|
@ -130,7 +130,7 @@ public:
|
|||
CGAL_kernel_precondition(do_intersect(support, l1));
|
||||
CGAL_kernel_precondition(do_intersect(support, l2));
|
||||
//typedef typename Root_of_2::RT RT_2;
|
||||
typename boost::result_of<typename CK::Intersect_2(Line_2, Line_2)>::type
|
||||
typename cpp11::result_of<typename CK::Intersect_2(Line_2, Line_2)>::type
|
||||
v = CGAL::internal::intersection(support, l1, CK());
|
||||
CGAL_assertion(v);
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ circle_intersect( const typename CK::Circle_2 & c1,
|
|||
const typename CK::Circle_2 & c2,
|
||||
bool b )
|
||||
{
|
||||
typedef std::vector<typename boost::result_of<typename CK::Intersect_2(typename CK::Circle_2,
|
||||
typedef std::vector<typename cpp11::result_of<typename CK::Intersect_2(typename CK::Circle_2,
|
||||
typename CK::Circle_2)>::type> solutions_container;
|
||||
solutions_container solutions;
|
||||
|
||||
|
|
@ -122,7 +122,7 @@ namespace CircularFunctors {
|
|||
const typename CK::Circle_2 & c2,
|
||||
OutputIterator res )
|
||||
{
|
||||
typedef typename boost::result_of<typename CK::Intersect_2(typename CK::Circle_2, typename CK::Circle_2)>
|
||||
typedef typename cpp11::result_of<typename CK::Intersect_2(typename CK::Circle_2, typename CK::Circle_2)>
|
||||
::type result_type;
|
||||
typedef typename CK::Algebraic_kernel AK;
|
||||
typedef typename CK::Polynomial_for_circles_2_2 Equation;
|
||||
|
|
|
|||
|
|
@ -542,7 +542,7 @@ namespace CircularFunctors {
|
|||
const typename CK::Circular_arc_2 &a2,
|
||||
OutputIterator res )
|
||||
{
|
||||
typedef typename boost::result_of<typename CK::Intersect_2(typename CK::Circular_arc_2,
|
||||
typedef typename cpp11::result_of<typename CK::Intersect_2(typename CK::Circular_arc_2,
|
||||
typename CK::Circular_arc_2)>::type result_type;
|
||||
|
||||
typedef std::vector<CGAL::Object> solutions_container;
|
||||
|
|
|
|||
|
|
@ -381,7 +381,7 @@ namespace CircularFunctors {
|
|||
const typename CK::Circle_2 & c,
|
||||
OutputIterator res )
|
||||
{
|
||||
typedef typename boost::result_of<typename CK::Intersect_2(typename CK::Line_2, typename CK::Circle_2)>
|
||||
typedef typename cpp11::result_of<typename CK::Intersect_2(typename CK::Line_2, typename CK::Circle_2)>
|
||||
::type result_type;
|
||||
typedef typename CK::Algebraic_kernel AK;
|
||||
typedef typename CK::Polynomial_1_2 Equation_line;
|
||||
|
|
@ -416,7 +416,7 @@ namespace CircularFunctors {
|
|||
const typename CK::Line_arc_2 &a2,
|
||||
OutputIterator res )
|
||||
{
|
||||
typedef typename boost::result_of<typename CK::Intersect_2(typename CK::Line_arc_2, typename CK::Line_arc_2)>
|
||||
typedef typename cpp11::result_of<typename CK::Intersect_2(typename CK::Line_arc_2, typename CK::Line_arc_2)>
|
||||
::type result_type;
|
||||
typedef typename CK::Circular_arc_point_2 Circular_arc_point_2;
|
||||
typedef typename CK::Line_arc_2 Line_arc_2;
|
||||
|
|
@ -482,7 +482,7 @@ namespace CircularFunctors {
|
|||
}
|
||||
}
|
||||
|
||||
typename boost::result_of<typename CK::Intersect_2(typename CK::Line_2, typename CK::Line_2)>::type
|
||||
typename cpp11::result_of<typename CK::Intersect_2(typename CK::Line_2, typename CK::Line_2)>::type
|
||||
v = CGAL::internal::intersection(a1.supporting_line(), a2.supporting_line(), CK());
|
||||
if(!v) return res;
|
||||
|
||||
|
|
@ -515,7 +515,7 @@ namespace CircularFunctors {
|
|||
const typename CK::Circle_2 &c,
|
||||
OutputIterator res )
|
||||
{
|
||||
typedef std::vector<typename boost::result_of<typename CK::Intersect_2(typename CK::Line_2, typename CK::Circle_2)>::type>
|
||||
typedef std::vector<typename cpp11::result_of<typename CK::Intersect_2(typename CK::Line_2, typename CK::Circle_2)>::type>
|
||||
solutions_container;
|
||||
solutions_container solutions;
|
||||
|
||||
|
|
@ -557,7 +557,7 @@ namespace CircularFunctors {
|
|||
OutputIterator res )
|
||||
{
|
||||
typedef std::vector<CGAL::Object > solutions_container;
|
||||
typedef typename boost::result_of<typename CK::Intersect_2(typename CK::Line_arc_2, typename CK::Circular_arc_2 )>
|
||||
typedef typename cpp11::result_of<typename CK::Intersect_2(typename CK::Line_arc_2, typename CK::Circular_arc_2 )>
|
||||
::type result_type;
|
||||
typedef typename CK::Circular_arc_2 Circular_arc_2;
|
||||
typedef typename CK::Circular_arc_point_2 Circular_arc_point_2;
|
||||
|
|
@ -639,7 +639,7 @@ namespace CircularFunctors {
|
|||
*res++ = result_type(std::make_pair(q,1u));
|
||||
return res;
|
||||
} else { //Case 4b
|
||||
typedef std::vector<typename boost::result_of<typename CK::Intersect_2(typename CK::Line_2, typename CK::Circle_2)>::type>
|
||||
typedef std::vector<typename cpp11::result_of<typename CK::Intersect_2(typename CK::Line_2, typename CK::Circle_2)>::type>
|
||||
container;
|
||||
container solutions;
|
||||
CGAL::CircularFunctors::intersect_2<CK>( l.supporting_line(), c.supporting_circle(),
|
||||
|
|
@ -763,7 +763,7 @@ namespace CircularFunctors {
|
|||
typedef typename CK::Circular_arc_point_2 Circular_arc_point_2;
|
||||
typedef typename CK::Point_2 Point_2;
|
||||
typedef typename CK::Line_2 Line_2;
|
||||
typedef typename boost::result_of<typename CK::Intersect_2(Line_2, Line_arc_2)>::type result_type;
|
||||
typedef typename cpp11::result_of<typename CK::Intersect_2(Line_2, Line_arc_2)>::type result_type;
|
||||
|
||||
if(LinearFunctors::non_oriented_equal<CK>(l, la.supporting_line())) {
|
||||
*res++ = result_type(la);
|
||||
|
|
@ -794,7 +794,7 @@ namespace CircularFunctors {
|
|||
typedef typename CK::Circular_arc_point_2 Circular_arc_point_2;
|
||||
|
||||
typedef typename CK::Line_2 Line_2;
|
||||
typedef std::vector< typename boost::result_of<typename CK::Intersect_2(Line_2, typename CK::Circle_2 )>::type>
|
||||
typedef std::vector< typename cpp11::result_of<typename CK::Intersect_2(Line_2, typename CK::Circle_2 )>::type>
|
||||
solutions_container;
|
||||
|
||||
solutions_container solutions;
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ namespace internal { \
|
|||
bool \
|
||||
do_intersect(const typename K::A &c1, const typename K::B &c2, const K&) \
|
||||
{ \
|
||||
std::vector< typename boost::result_of<typename K::Intersect_2(typename K::A, typename K::B)>::type > res; \
|
||||
std::vector< typename cpp11::result_of<typename K::Intersect_2(typename K::A, typename K::B)>::type > res; \
|
||||
typename K::Intersect_2()(c1,c2,std::back_inserter(res)); \
|
||||
return !res.empty(); \
|
||||
} \
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ namespace CGAL {
|
|||
const Sphere_3 &s1, bool less_xyz_s1,
|
||||
const Sphere_3 &s2, bool less_xyz_s2)
|
||||
{
|
||||
typedef typename boost::result_of<typename SK::Intersect_3(Circle_3, Sphere_3)>::type result_type;
|
||||
typedef typename cpp11::result_of<typename SK::Intersect_3(Circle_3, Sphere_3)>::type result_type;
|
||||
std::vector<result_type> sols1, sols2;
|
||||
// The spheres must not include the circle
|
||||
CGAL_kernel_precondition(!SK().has_on_3_object()(s1,c));
|
||||
|
|
@ -191,7 +191,7 @@ namespace CGAL {
|
|||
const Plane_3 &p1, bool less_xyz_p1,
|
||||
const Plane_3 &p2, bool less_xyz_p2)
|
||||
{
|
||||
typedef typename boost::result_of<typename SK::Intersect_3(Circle_3, Plane_3)>::type result_type;
|
||||
typedef typename cpp11::result_of<typename SK::Intersect_3(Circle_3, Plane_3)>::type result_type;
|
||||
std::vector<result_type> sols1, sols2;
|
||||
// The planes must not include the circle
|
||||
CGAL_kernel_precondition(!SK().has_on_3_object()(p1,c));
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public:
|
|||
const Sphere_3 &s2,
|
||||
const Sphere_3 &s3,
|
||||
const bool less_xyz = true) {
|
||||
std::vector<typename boost::result_of<typename SK::Intersect_3(Sphere_3, Sphere_3, Sphere_3)>::type> sols;
|
||||
std::vector<typename cpp11::result_of<typename SK::Intersect_3(Sphere_3, Sphere_3, Sphere_3)>::type> sols;
|
||||
SK().intersect_3_object()(s1, s2, s3, std::back_inserter(sols));
|
||||
// s1,s2,s3 must intersect
|
||||
CGAL_kernel_precondition(sols.size() != 0);
|
||||
|
|
@ -97,7 +97,7 @@ public:
|
|||
const Sphere_3 &s1,
|
||||
const Sphere_3 &s2,
|
||||
const bool less_xyz = true) {
|
||||
std::vector<typename boost::result_of<typename SK::Intersect_3(Plane_3, Sphere_3, Sphere_3)>::type> sols;
|
||||
std::vector<typename cpp11::result_of<typename SK::Intersect_3(Plane_3, Sphere_3, Sphere_3)>::type> sols;
|
||||
SK().intersect_3_object()(p, s1, s2, std::back_inserter(sols));
|
||||
// s1,s2,s3 must intersect
|
||||
CGAL_kernel_precondition(sols.size() != 0);
|
||||
|
|
@ -120,7 +120,7 @@ public:
|
|||
const Plane_3 &p2,
|
||||
const Sphere_3 &s,
|
||||
const bool less_xyz = true) {
|
||||
std::vector<typename boost::result_of<typename SK::Intersect_3(Plane_3, Plane_3, Sphere_3)>::type> sols;
|
||||
std::vector<typename cpp11::result_of<typename SK::Intersect_3(Plane_3, Plane_3, Sphere_3)>::type> sols;
|
||||
SK().intersect_3_object()(p1, p2, s, std::back_inserter(sols));
|
||||
// s1,s2,s3 must intersect
|
||||
CGAL_kernel_precondition(sols.size() != 0);
|
||||
|
|
@ -142,7 +142,7 @@ public:
|
|||
Circular_arc_point_3(const Line_3 &l,
|
||||
const Sphere_3 &s,
|
||||
const bool less_xyz = true) {
|
||||
std::vector<typename boost::result_of<typename SK::Intersect_3(Line_3, Sphere_3)>::type> sols;
|
||||
std::vector<typename cpp11::result_of<typename SK::Intersect_3(Line_3, Sphere_3)>::type> sols;
|
||||
SK().intersect_3_object()(l, s, std::back_inserter(sols));
|
||||
// s1,s2,s3 must intersect
|
||||
CGAL_kernel_precondition(sols.size() != 0);
|
||||
|
|
@ -164,7 +164,7 @@ public:
|
|||
Circular_arc_point_3(const Circle_3 &c,
|
||||
const Plane_3 &p,
|
||||
const bool less_xyz = true) {
|
||||
std::vector<typename boost::result_of<typename SK::Intersect_3(Circle_3, Plane_3)>::type> sols;
|
||||
std::vector<typename cpp11::result_of<typename SK::Intersect_3(Circle_3, Plane_3)>::type> sols;
|
||||
SK().intersect_3_object()(c, p, std::back_inserter(sols));
|
||||
// s1,s2,s3 must intersect
|
||||
CGAL_kernel_precondition(sols.size() != 0);
|
||||
|
|
@ -186,7 +186,7 @@ public:
|
|||
Circular_arc_point_3(const Circle_3 &c,
|
||||
const Sphere_3 &s,
|
||||
const bool less_xyz = true) {
|
||||
std::vector<typename boost::result_of<typename SK::Intersect_3(Circle_3, Sphere_3)>::type> sols;
|
||||
std::vector<typename cpp11::result_of<typename SK::Intersect_3(Circle_3, Sphere_3)>::type> sols;
|
||||
SK().intersect_3_object()(c, s, std::back_inserter(sols));
|
||||
// s1,s2,s3 must intersect
|
||||
CGAL_kernel_precondition(sols.size() != 0);
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ namespace CGAL {
|
|||
const Sphere_3 &s,
|
||||
bool less_xyz_first = true)
|
||||
{
|
||||
std::vector<typename boost::result_of<typename SK::Intersect_3(Line_3, Sphere_3)>::type> sols;
|
||||
std::vector<typename cpp11::result_of<typename SK::Intersect_3(Line_3, Sphere_3)>::type> sols;
|
||||
SK().intersect_3_object()(l, s, std::back_inserter(sols));
|
||||
// l must intersect s in 2 points
|
||||
CGAL_kernel_precondition(sols.size() == 2);
|
||||
|
|
@ -112,7 +112,7 @@ namespace CGAL {
|
|||
const Sphere_3 &s1, bool less_xyz_s1,
|
||||
const Sphere_3 &s2, bool less_xyz_s2)
|
||||
{
|
||||
std::vector<typename boost::result_of<typename SK::Intersect_3(Line_3, Sphere_3)>::type> sols1, sols2;
|
||||
std::vector<typename cpp11::result_of<typename SK::Intersect_3(Line_3, Sphere_3)>::type> sols1, sols2;
|
||||
SK().intersect_3_object()(l, s1, std::back_inserter(sols1));
|
||||
SK().intersect_3_object()(l, s2, std::back_inserter(sols2));
|
||||
// l must intersect s1 and s2
|
||||
|
|
@ -135,7 +135,7 @@ namespace CGAL {
|
|||
CGAL_kernel_precondition(!SK().has_on_3_object()(p1,l));
|
||||
CGAL_kernel_precondition(!SK().has_on_3_object()(p2,l));
|
||||
// l must intersect p1 and p2
|
||||
typedef typename boost::result_of<typename SK::Intersect_3(Line_3, Plane_3)>::type Intersection;
|
||||
typedef typename cpp11::result_of<typename SK::Intersect_3(Line_3, Plane_3)>::type Intersection;
|
||||
Intersection i1 = SK().intersect_3_object()(l, p1);
|
||||
Intersection i2 = SK().intersect_3_object()(l, p2);
|
||||
const typename SK::Point_3* point1=boost::get<typename SK::Point_3>( & *i1 );
|
||||
|
|
|
|||
|
|
@ -1107,14 +1107,14 @@ template < class SK > \
|
|||
#define CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_2(A,B) \
|
||||
result_type \
|
||||
operator()(const A & c1, const B & c2) const \
|
||||
{ std::vector< typename boost::result_of<typename SK::Intersect_3(A, B)>::type > res; \
|
||||
{ std::vector< typename cpp11::result_of<typename SK::Intersect_3(A, B)>::type > res; \
|
||||
typename SK::Intersect_3()(c1,c2,std::back_inserter(res)); \
|
||||
return !res.empty(); }
|
||||
|
||||
#define CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_3(A,B,C) \
|
||||
result_type \
|
||||
operator()(const A & c1, const B & c2, const C & c3) const \
|
||||
{ std::vector< typename boost::result_of<typename SK::Intersect_3(A, B, C)>::type > res; \
|
||||
{ std::vector< typename cpp11::result_of<typename SK::Intersect_3(A, B, C)>::type > res; \
|
||||
typename SK::Intersect_3()(c1,c2,c3,std::back_inserter(res)); \
|
||||
return !res.empty(); }
|
||||
|
||||
|
|
@ -1177,7 +1177,7 @@ template < class SK > \
|
|||
template <typename A, typename B, typename C,
|
||||
bool is_iterator = CGAL::is_iterator<typename boost::decay<C>::type>::value>
|
||||
struct result_impl
|
||||
{ typedef typename boost::result_of<typename SK::Linear_kernel::Intersect_3(A, B, C)>::type
|
||||
{ typedef typename cpp11::result_of<typename SK::Linear_kernel::Intersect_3(A, B, C)>::type
|
||||
type; };
|
||||
|
||||
template <typename A, typename B, typename C>
|
||||
|
|
@ -1191,7 +1191,7 @@ template < class SK > \
|
|||
// the binary overload always goes to Linear::Intersect_3
|
||||
template <typename F, typename A, typename B>
|
||||
struct result<F(A, B)>
|
||||
{ typedef typename boost::result_of<typename SK::Linear_kernel::Intersect_3(A, B)>::type type; };
|
||||
{ typedef typename cpp11::result_of<typename SK::Linear_kernel::Intersect_3(A, B)>::type type; };
|
||||
|
||||
// we match the ternary case if the last argument is an iterator,
|
||||
// otherwise Linear::Intersect_3 wins
|
||||
|
|
@ -1283,12 +1283,12 @@ template < class SK > \
|
|||
|
||||
// forward the intersection functions from the linear kernel
|
||||
template <typename A, typename B>
|
||||
typename boost::result_of<typename SK::Intersect_3(A, B)>::type
|
||||
typename cpp11::result_of<typename SK::Intersect_3(A, B)>::type
|
||||
operator()(const A& a, const B& b)
|
||||
{ return typename SK::Linear_kernel().intersect_3_object()(a, b); }
|
||||
|
||||
template <typename A, typename B, typename C>
|
||||
typename boost::result_of<typename SK::Intersect_3(A, B, C)>::type
|
||||
typename cpp11::result_of<typename SK::Intersect_3(A, B, C)>::type
|
||||
operator()(const A& a, const B& b, const C& c,
|
||||
typename boost::enable_if_c<!(CGAL::is_iterator<typename boost::decay<C>::type>::value)>::type* = 0)
|
||||
{ return typename SK::Linear_kernel().intersect_3_object()(a, b, c); }
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ namespace CGAL {
|
|||
typename SK::FT z_coord=extremal_points_z_coordinate<SK>(circle,sphere);
|
||||
|
||||
typename SK::Plane_3 plane(0,0,1,-z_coord);
|
||||
std::vector<typename boost::result_of<
|
||||
std::vector<typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Circle_3, typename SK::Plane_3)>::type > inters;
|
||||
|
||||
intersect_3<SK>(circle,plane,std::back_inserter(inters));
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ namespace CGAL {
|
|||
{
|
||||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef std::vector<
|
||||
typename boost::result_of<typename SK::Intersect_3(typename SK::Line_3, typename SK::Circle_3 )>::type
|
||||
typename cpp11::result_of<typename SK::Intersect_3(typename SK::Line_3, typename SK::Circle_3 )>::type
|
||||
> solutions_container;
|
||||
typedef std::pair<Circular_arc_point_3, unsigned> Solution;
|
||||
|
||||
|
|
@ -120,11 +120,11 @@ namespace CGAL {
|
|||
OutputIterator res)
|
||||
{
|
||||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef typename boost::result_of<
|
||||
typedef typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Circle_3, typename SK::Circular_arc_3)
|
||||
>::type result_type;
|
||||
|
||||
typedef std::vector<typename boost::result_of<
|
||||
typedef std::vector<typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Circle_3, typename SK::Circle_3)
|
||||
>::type > solutions_container;
|
||||
typedef std::pair<Circular_arc_point_3, unsigned> Solution;
|
||||
|
|
@ -159,12 +159,12 @@ namespace CGAL {
|
|||
const typename SK::Circular_arc_3 & c,
|
||||
OutputIterator res)
|
||||
{
|
||||
typedef typename boost::result_of<
|
||||
typedef typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Sphere_3, typename SK::Circular_arc_3)
|
||||
>::type result_type;
|
||||
|
||||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef std::vector<typename boost::result_of<
|
||||
typedef std::vector<typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Circle_3, typename SK::Sphere_3)>::type
|
||||
> solutions_container;
|
||||
typedef std::pair<Circular_arc_point_3, unsigned> Solution;
|
||||
|
|
@ -199,13 +199,13 @@ namespace CGAL {
|
|||
const typename SK::Circular_arc_3 & ca,
|
||||
OutputIterator res)
|
||||
{
|
||||
typedef typename boost::result_of<
|
||||
typedef typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Plane_3, typename SK::Circular_arc_3)
|
||||
>::type result_type;
|
||||
typedef typename SK::Point_3 Point_3;
|
||||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef std::vector<
|
||||
typename boost::result_of<typename SK::Intersect_3(typename SK::Circle_3, typename SK::Plane_3)>::type
|
||||
typename cpp11::result_of<typename SK::Intersect_3(typename SK::Circle_3, typename SK::Plane_3)>::type
|
||||
> solutions_container;
|
||||
|
||||
typedef std::pair<Circular_arc_point_3, unsigned> Solution;
|
||||
|
|
@ -240,7 +240,7 @@ namespace CGAL {
|
|||
{
|
||||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef std::vector<
|
||||
typename boost::result_of<typename SK::Intersect_3(typename SK::Line_3, typename SK::Line_3)>::type>
|
||||
typename cpp11::result_of<typename SK::Intersect_3(typename SK::Line_3, typename SK::Line_3)>::type>
|
||||
solutions_container;
|
||||
typedef std::pair<Circular_arc_point_3, unsigned> Solution;
|
||||
|
||||
|
|
@ -273,12 +273,12 @@ namespace CGAL {
|
|||
const typename SK::Circular_arc_3 & a2,
|
||||
OutputIterator res)
|
||||
{
|
||||
typedef typename boost::result_of<
|
||||
typedef typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Circular_arc_3, typename SK::Circular_arc_3)
|
||||
>::type result_type;
|
||||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef typename SK::Circular_arc_3 Circular_arc_3;
|
||||
typedef std::vector< typename boost::result_of<
|
||||
typedef std::vector< typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Circle_3, typename SK::Circle_3 )
|
||||
>::type> solutions_container;
|
||||
|
||||
|
|
@ -427,7 +427,7 @@ namespace CGAL {
|
|||
|
||||
typename SK::FT z_coord=extremal_points_z_coordinate<SK>(arc.supporting_circle(),sphere);
|
||||
typename SK::Plane_3 plane(0,0,1,-z_coord);
|
||||
std::vector<typename boost::result_of<
|
||||
std::vector<typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Plane_3,
|
||||
typename SK::Circular_arc_3)>::type>
|
||||
inters;
|
||||
|
|
@ -482,7 +482,7 @@ namespace CGAL {
|
|||
case NORMAL:{
|
||||
typename SK::FT z_coord=extremal_points_z_coordinate<SK>(arc.supporting_circle(),sphere);
|
||||
typename SK::Plane_3 plane(0,0,1,-z_coord);
|
||||
std::vector<typename boost::result_of<
|
||||
std::vector<typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Plane_3, typename SK::Circular_arc_3 )>::type
|
||||
> inters;
|
||||
|
||||
|
|
@ -609,7 +609,7 @@ namespace CGAL {
|
|||
{
|
||||
typename SK::Plane_3 plane(sphere.center(),sphere.center()+m,sphere.center()+typename SK::Vector_3(0,0,1));
|
||||
|
||||
std::vector<typename boost::result_of<
|
||||
std::vector<typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Plane_3, typename SK::Circular_arc_3)
|
||||
>::type> inters;
|
||||
intersect_3<SK>(plane,arc,std::back_inserter(inters));
|
||||
|
|
|
|||
|
|
@ -86,9 +86,9 @@ namespace CGAL {
|
|||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef typename SK::Line_3 Line_3;
|
||||
typedef typename SK::Line_arc_3 Line_arc_3;
|
||||
typedef typename boost::result_of<typename SK::Intersect_3(Line_arc_3, Line_arc_3)>::type result_type;
|
||||
typedef typename cpp11::result_of<typename SK::Intersect_3(Line_arc_3, Line_arc_3)>::type result_type;
|
||||
|
||||
typename boost::result_of<typename SK::Intersect_3(Line_3, Line_3)>::type o =
|
||||
typename cpp11::result_of<typename SK::Intersect_3(Line_3, Line_3)>::type o =
|
||||
SK().intersect_3_object()(l1.supporting_line(),
|
||||
l2.supporting_line());
|
||||
|
||||
|
|
@ -153,9 +153,9 @@ namespace CGAL {
|
|||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef typename SK::Line_3 Line_3;
|
||||
typedef typename SK::Line_arc_3 Line_arc_3;
|
||||
typedef typename boost::result_of<typename SK::Intersect_3(Line_3, Line_arc_3)>::type result_type;
|
||||
typedef typename cpp11::result_of<typename SK::Intersect_3(Line_3, Line_arc_3)>::type result_type;
|
||||
|
||||
typename boost::result_of<typename SK::Intersect_3(Line_3, Line_3)>::type o =
|
||||
typename cpp11::result_of<typename SK::Intersect_3(Line_3, Line_3)>::type o =
|
||||
SK().intersect_3_object()(l, la.supporting_line());
|
||||
|
||||
if(!o)
|
||||
|
|
@ -180,10 +180,10 @@ namespace CGAL {
|
|||
{
|
||||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef std::vector<
|
||||
typename boost::result_of<typename SK::Intersect_3(typename SK::Line_3, typename SK::Circle_3)
|
||||
typename cpp11::result_of<typename SK::Intersect_3(typename SK::Line_3, typename SK::Circle_3)
|
||||
>::type> solutions_container;
|
||||
typedef std::pair<Circular_arc_point_3, unsigned> Solution;
|
||||
typedef typename boost::result_of<
|
||||
typedef typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Circle_3, typename SK::Line_arc_3)>::type result_type;
|
||||
|
||||
solutions_container solutions;
|
||||
|
|
@ -213,7 +213,7 @@ namespace CGAL {
|
|||
OutputIterator res)
|
||||
{
|
||||
typedef typename SK::Circular_arc_point_3 Circular_arc_point_3;
|
||||
typedef std::vector<typename boost::result_of<
|
||||
typedef std::vector<typename cpp11::result_of<
|
||||
typename SK::Intersect_3(typename SK::Line_3,
|
||||
typename SK::Sphere_3)>::type > solutions_container;
|
||||
typedef std::pair<Circular_arc_point_3, unsigned> Solution;
|
||||
|
|
@ -248,7 +248,7 @@ namespace CGAL {
|
|||
*res++ = result_type(l);
|
||||
}
|
||||
const Point_3* sol;
|
||||
typename boost::result_of<typename SK::Intersect_3(typename SK::Plane_3, typename SK::Line_3)>
|
||||
typename cpp11::result_of<typename SK::Intersect_3(typename SK::Plane_3, typename SK::Line_3)>
|
||||
::type o = SK().intersect_3_object()(p,l.supporting_line());
|
||||
|
||||
if(!o)
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ namespace CGAL {
|
|||
const typename SK::Line_3 & l,
|
||||
OutputIterator res)
|
||||
{
|
||||
typedef typename boost::result_of<typename SK::Intersect_3(typename SK::Sphere_3, typename SK::Line_3)>
|
||||
typedef typename cpp11::result_of<typename SK::Intersect_3(typename SK::Sphere_3, typename SK::Line_3)>
|
||||
::type result_type;
|
||||
typedef typename SK::Algebraic_kernel Algebraic_kernel;
|
||||
typedef typename SK::Polynomial_for_spheres_2_3 Equation_sphere;
|
||||
|
|
@ -280,7 +280,7 @@ namespace CGAL {
|
|||
typedef typename SK::Sphere_3 Sphere_3;
|
||||
typedef typename SK::Plane_3 Plane_3;
|
||||
typedef typename SK::Algebraic_kernel Algebraic_kernel;
|
||||
typedef typename boost::result_of<
|
||||
typedef typename cpp11::result_of<
|
||||
typename SK::Intersect_3(Sphere_3, Sphere_3, Sphere_3)
|
||||
>::type result_type;
|
||||
|
||||
|
|
@ -296,7 +296,7 @@ namespace CGAL {
|
|||
return res;
|
||||
}
|
||||
if(non_oriented_equal<SK>(s1,s2)) {
|
||||
if(typename boost::result_of<typename SK::Intersect_3(Sphere_3, Sphere_3)>::type v =
|
||||
if(typename cpp11::result_of<typename SK::Intersect_3(Sphere_3, Sphere_3)>::type v =
|
||||
SK().intersect_3_object()(s1, s3)) {
|
||||
#if CGAL_INTERSECTION_VERSION < 2
|
||||
if( const Point_3* p = object_cast<Point_3>(&v) )
|
||||
|
|
@ -312,7 +312,7 @@ namespace CGAL {
|
|||
return res;
|
||||
}
|
||||
if(non_oriented_equal<SK>(s1,s3) || non_oriented_equal<SK>(s2,s3)) {
|
||||
if(typename boost::result_of<typename SK::Intersect_3(Sphere_3, Sphere_3)>::type v =
|
||||
if(typename cpp11::result_of<typename SK::Intersect_3(Sphere_3, Sphere_3)>::type v =
|
||||
SK().intersect_3_object()(s1, s2)) {
|
||||
#if CGAL_INTERSECTION_VERSION < 2
|
||||
if( const Point_3* p = object_cast<Point_3>(&v) )
|
||||
|
|
@ -329,7 +329,7 @@ namespace CGAL {
|
|||
return res;
|
||||
}
|
||||
if(SK().collinear_3_object()(s1.center(),s2.center(),s3.center())) {
|
||||
typename boost::result_of<typename SK::Intersect_3(Sphere_3, Sphere_3)>::type v =
|
||||
typename cpp11::result_of<typename SK::Intersect_3(Sphere_3, Sphere_3)>::type v =
|
||||
SK().intersect_3_object()(s1, s2);
|
||||
if(!v) return res;
|
||||
if(const Point_3* p = CGAL::internal::intersect_get<Point_3>(v)) {
|
||||
|
|
@ -385,7 +385,7 @@ namespace CGAL {
|
|||
CGAL_kernel_precondition(!s1.is_degenerate());
|
||||
CGAL_kernel_precondition(!s2.is_degenerate());
|
||||
if(non_oriented_equal<SK>(s1,s2)) {
|
||||
if(typename boost::result_of<typename SK::Intersect_3(Plane_3, Sphere_3)>::type v =
|
||||
if(typename cpp11::result_of<typename SK::Intersect_3(Plane_3, Sphere_3)>::type v =
|
||||
SK().intersect_3_object()(p, s1)) {
|
||||
#if CGAL_INTERSECTION_VERSION < 2
|
||||
if( const typename SK::Point_3* p = CGAL::object_cast<typename SK::Point_3>(&v) )
|
||||
|
|
@ -403,7 +403,7 @@ namespace CGAL {
|
|||
}
|
||||
Plane_3 radical_p = SK().construct_radical_plane_3_object()(s1,s2);
|
||||
if(non_oriented_equal<SK>(p,radical_p)) {
|
||||
if(typename boost::result_of<typename SK::Intersect_3(Plane_3, Sphere_3)>::type v =
|
||||
if(typename cpp11::result_of<typename SK::Intersect_3(Plane_3, Sphere_3)>::type v =
|
||||
SK().intersect_3_object()(p, s1)) {
|
||||
#if CGAL_INTERSECTION_VERSION < 2
|
||||
if( const typename SK::Point_3* p = CGAL::object_cast<typename SK::Point_3>(&v) )
|
||||
|
|
@ -449,7 +449,7 @@ namespace CGAL {
|
|||
CGAL_kernel_precondition(!p2.is_degenerate());
|
||||
CGAL_kernel_precondition(!s.is_degenerate());
|
||||
if(non_oriented_equal<SK>(p1,p2)) {
|
||||
if(typename boost::result_of<typename SK::Intersect_3(Plane_3, Sphere_3)>::type v =
|
||||
if(typename cpp11::result_of<typename SK::Intersect_3(Plane_3, Sphere_3)>::type v =
|
||||
SK().intersect_3_object()(p1, s)) {
|
||||
#if CGAL_INTERSECTION_VERSION < 2
|
||||
if( const typename SK::Point_3* p = CGAL::object_cast<typename SK::Point_3>(&v) )
|
||||
|
|
@ -505,7 +505,7 @@ namespace CGAL {
|
|||
typedef typename SK::Algebraic_kernel Algebraic_kernel;
|
||||
typedef typename SK::Circle_3 Circle_3;
|
||||
|
||||
typedef typename boost::result_of<typename SK::Intersect_3(Circle_3, Circle_3)>
|
||||
typedef typename cpp11::result_of<typename SK::Intersect_3(Circle_3, Circle_3)>
|
||||
::type result_type;
|
||||
|
||||
if(non_oriented_equal<SK>(c1,c2)) {
|
||||
|
|
@ -533,7 +533,7 @@ namespace CGAL {
|
|||
typedef typename SK::Polynomials_for_line_3 Equation_line;
|
||||
typedef typename SK::Circle_3 Circle_3;
|
||||
|
||||
typedef typename boost::result_of<typename SK::Intersect_3(Circle_3, typename SK::Line_3)>
|
||||
typedef typename cpp11::result_of<typename SK::Intersect_3(Circle_3, typename SK::Line_3)>
|
||||
::type result_type;
|
||||
|
||||
typedef typename SK::Algebraic_kernel Algebraic_kernel;
|
||||
|
|
|
|||
|
|
@ -1477,13 +1477,13 @@ struct Lazy_construction_variant {
|
|||
typedef typename LK::E2A E2A;
|
||||
|
||||
template <typename L1, typename L2>
|
||||
typename boost::result_of<Lazy_construction_variant(L1, L2)>::type
|
||||
typename cpp11::result_of<Lazy_construction_variant(L1, L2)>::type
|
||||
operator()(const L1& l1, const L2& l2) const {
|
||||
typedef typename boost::result_of<Lazy_construction_variant(L1, L2)>::type result_type;
|
||||
typedef typename cpp11::result_of<Lazy_construction_variant(L1, L2)>::type result_type;
|
||||
|
||||
typedef typename boost::result_of<AC(typename Type_mapper<L1, LK, AK>::type,
|
||||
typedef typename cpp11::result_of<AC(typename Type_mapper<L1, LK, AK>::type,
|
||||
typename Type_mapper<L2, LK, AK>::type)>::type AT;
|
||||
typedef typename boost::result_of<EC(typename Type_mapper<L1, LK, EK>::type,
|
||||
typedef typename cpp11::result_of<EC(typename Type_mapper<L1, LK, EK>::type,
|
||||
typename Type_mapper<L2, LK, EK>::type)>::type ET;
|
||||
|
||||
CGAL_BRANCH_PROFILER(std::string(" failures/calls to : ") + std::string(CGAL_PRETTY_FUNCTION), tmp);
|
||||
|
|
@ -1525,14 +1525,14 @@ struct Lazy_construction_variant {
|
|||
}
|
||||
|
||||
template <typename L1, typename L2, typename L3>
|
||||
typename boost::result_of<Lazy_construction_variant(L1, L2, L3)>::type
|
||||
typename cpp11::result_of<Lazy_construction_variant(L1, L2, L3)>::type
|
||||
operator()(const L1& l1, const L2& l2, const L3& l3) const {
|
||||
typedef typename boost::result_of<Lazy_construction_variant(L1, L2, L3)>::type result_type;
|
||||
typedef typename cpp11::result_of<Lazy_construction_variant(L1, L2, L3)>::type result_type;
|
||||
|
||||
typedef typename boost::result_of<AC(typename Type_mapper<L1, LK, AK>::type,
|
||||
typedef typename cpp11::result_of<AC(typename Type_mapper<L1, LK, AK>::type,
|
||||
typename Type_mapper<L2, LK, AK>::type,
|
||||
typename Type_mapper<L3, LK, AK>::type)>::type AT;
|
||||
typedef typename boost::result_of<EC(typename Type_mapper<L1, LK, EK>::type,
|
||||
typedef typename cpp11::result_of<EC(typename Type_mapper<L1, LK, EK>::type,
|
||||
typename Type_mapper<L2, LK, EK>::type,
|
||||
typename Type_mapper<L3, LK, EK>::type)>::type ET;
|
||||
|
||||
|
|
@ -1582,7 +1582,7 @@ struct Lazy_construction_variant {
|
|||
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; \
|
||||
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, _)
|
||||
|
|
|
|||
|
|
@ -69,13 +69,13 @@
|
|||
#define CGAL_INTERSECTION_FUNCTION(A, B, DIM) \
|
||||
template<typename K> \
|
||||
inline \
|
||||
typename boost::result_of<BOOST_PP_CAT(typename K::Intersect_, DIM)(typename K::A, typename K::B)>::type \
|
||||
typename cpp11::result_of<BOOST_PP_CAT(typename K::Intersect_, DIM)(typename K::A, typename K::B)>::type \
|
||||
intersection(const A<K>& a, const B<K>& b) { \
|
||||
return BOOST_PP_CAT(K().intersect_, BOOST_PP_CAT(DIM, _object()(a, b))); \
|
||||
} \
|
||||
template<typename K> \
|
||||
inline \
|
||||
typename boost::result_of<BOOST_PP_CAT(typename K::Intersect_, DIM)(typename K::A, typename K::B)>::type \
|
||||
typename cpp11::result_of<BOOST_PP_CAT(typename K::Intersect_, DIM)(typename K::A, typename K::B)>::type \
|
||||
intersection(const B<K>& a, const A<K>& b) { \
|
||||
return BOOST_PP_CAT(K().intersect_, BOOST_PP_CAT(DIM, _object()(a, b))); \
|
||||
}
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
#define CGAL_INTERSECTION_FUNCTION_SELF(A, DIM) \
|
||||
template<typename K> \
|
||||
inline \
|
||||
typename boost::result_of<BOOST_PP_CAT(typename K::Intersect_, DIM)(typename K::A, typename K::A)>::type \
|
||||
typename cpp11::result_of<BOOST_PP_CAT(typename K::Intersect_, DIM)(typename K::A, typename K::A)>::type \
|
||||
intersection(const A<K> & a, const A<K> & b) { \
|
||||
return BOOST_PP_CAT(K().intersect_, BOOST_PP_CAT(DIM, _object()(a, b))); \
|
||||
}
|
||||
|
|
@ -167,16 +167,16 @@ namespace internal {
|
|||
#else
|
||||
#if defined(CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE)
|
||||
template<typename F, typename A, typename B, typename T>
|
||||
inline typename boost::result_of<F(A, B)>::type
|
||||
intersection_return(const T& t) { return typename boost::result_of<F(A, B)>::type(t); }
|
||||
inline typename cpp11::result_of<F(A, B)>::type
|
||||
intersection_return(const T& t) { return typename cpp11::result_of<F(A, B)>::type(t); }
|
||||
#else
|
||||
template<typename F, typename A, typename B, typename T>
|
||||
inline typename boost::result_of<F(A, B)>::type
|
||||
intersection_return(T&& t) { return typename boost::result_of<F(A, B)>::type(std::forward<T>(t)); }
|
||||
inline typename cpp11::result_of<F(A, B)>::type
|
||||
intersection_return(T&& t) { return typename cpp11::result_of<F(A, B)>::type(std::forward<T>(t)); }
|
||||
#endif // CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE
|
||||
template<typename F, typename A, typename B>
|
||||
inline typename boost::result_of<F(A, B)>::type
|
||||
intersection_return() { return typename boost::result_of<F(A, B)>::type(); }
|
||||
inline typename cpp11::result_of<F(A, B)>::type
|
||||
intersection_return() { return typename cpp11::result_of<F(A, B)>::type(); }
|
||||
#endif // CGAL_INTERSECTION_VERSION < 2
|
||||
|
||||
// Something similar to wrap around boost::get and object_cast to
|
||||
|
|
@ -203,14 +203,14 @@ const T* intersect_get(const boost::variant<BOOST_VARIANT_ENUM_PARAMS(U)> & v) {
|
|||
}
|
||||
|
||||
template<typename A, typename B>
|
||||
typename boost::result_of<typename CGAL::Kernel_traits<A>::Kernel::Intersect_2(A, B)>::type
|
||||
typename cpp11::result_of<typename CGAL::Kernel_traits<A>::Kernel::Intersect_2(A, B)>::type
|
||||
intersection_impl(const A& a, const B& b, CGAL::Dimension_tag<2>) {
|
||||
typedef typename CGAL::Kernel_traits<A>::Kernel Kernel;
|
||||
return Kernel().intersect_2_object()(a, b);
|
||||
}
|
||||
|
||||
template<typename A, typename B>
|
||||
typename boost::result_of<typename CGAL::Kernel_traits<A>::Kernel::Intersect_3(A, B)>::type
|
||||
typename cpp11::result_of<typename CGAL::Kernel_traits<A>::Kernel::Intersect_3(A, B)>::type
|
||||
intersection_impl(const A& a, const B& b, Dimension_tag<3>) {
|
||||
typedef typename CGAL::Kernel_traits<A>::Kernel Kernel;
|
||||
return Kernel().intersect_3_object()(a, b);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ inline
|
|||
#if CGAL_INTERSECTION_VERSION < 2
|
||||
CGAL::Object
|
||||
#else
|
||||
typename boost::result_of<typename K::Intersect_3(typename K::Plane_3, typename K::Plane_3, typename K::Plane_3)>::type
|
||||
typename cpp11::result_of<typename K::Intersect_3(typename K::Plane_3, typename K::Plane_3, typename K::Plane_3)>::type
|
||||
#endif
|
||||
intersection(const Plane_3<K> &plane1, const Plane_3<K> &plane2,
|
||||
const Plane_3<K> &plane3)
|
||||
|
|
@ -84,7 +84,7 @@ CGAL_INTERSECTION_FUNCTION(Plane_3, Triangle_3, 3)
|
|||
|
||||
template <class K>
|
||||
inline typename
|
||||
boost::result_of<typename K::Intersect_3(typename K::Line_3, Bbox_3)>::type
|
||||
cpp11::result_of<typename K::Intersect_3(typename K::Line_3, Bbox_3)>::type
|
||||
intersection(const Line_3<K> &a,
|
||||
const Bbox_3 &b) {
|
||||
return K().intersect_3_object()(a, b);
|
||||
|
|
@ -92,7 +92,7 @@ intersection(const Line_3<K> &a,
|
|||
|
||||
template <class K>
|
||||
inline typename
|
||||
boost::result_of<typename K::Intersect_3(typename K::Line_3, Bbox_3)>::type
|
||||
cpp11::result_of<typename K::Intersect_3(typename K::Line_3, Bbox_3)>::type
|
||||
intersection(const Bbox_3 &a,
|
||||
const Line_3<K> &b) {
|
||||
return K().intersect_3_object()(a, b);
|
||||
|
|
@ -100,7 +100,7 @@ intersection(const Bbox_3 &a,
|
|||
|
||||
template <class K>
|
||||
inline typename
|
||||
boost::result_of<typename K::Intersect_3(typename K::Ray_3, Bbox_3)>::type
|
||||
cpp11::result_of<typename K::Intersect_3(typename K::Ray_3, Bbox_3)>::type
|
||||
intersection(const Ray_3<K> &a,
|
||||
const Bbox_3 &b) {
|
||||
return K().intersect_3_object()(a, b);
|
||||
|
|
@ -108,7 +108,7 @@ intersection(const Ray_3<K> &a,
|
|||
|
||||
template <class K>
|
||||
inline typename
|
||||
boost::result_of<typename K::Intersect_3(typename K::Ray_3, Bbox_3)>::type
|
||||
cpp11::result_of<typename K::Intersect_3(typename K::Ray_3, Bbox_3)>::type
|
||||
intersection(const Bbox_3 &a,
|
||||
const Ray_3<K> &b) {
|
||||
return K().intersect_3_object()(a, b);
|
||||
|
|
@ -116,7 +116,7 @@ intersection(const Bbox_3 &a,
|
|||
|
||||
template <class K>
|
||||
inline typename
|
||||
boost::result_of<typename K::Intersect_3(typename K::Segment_3, Bbox_3)>::type
|
||||
cpp11::result_of<typename K::Intersect_3(typename K::Segment_3, Bbox_3)>::type
|
||||
intersection(const Segment_3<K> &a,
|
||||
const Bbox_3 &b) {
|
||||
return K().intersect_3_object()(a, b);
|
||||
|
|
@ -124,7 +124,7 @@ intersection(const Segment_3<K> &a,
|
|||
|
||||
template <class K>
|
||||
inline typename
|
||||
boost::result_of<typename K::Intersect_3(typename K::Segment_3, Bbox_3)>::type
|
||||
cpp11::result_of<typename K::Intersect_3(typename K::Segment_3, Bbox_3)>::type
|
||||
intersection(const Bbox_3 &a,
|
||||
const Segment_3<K> &b) {
|
||||
return K().intersect_3_object()(a, b);
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ typedef CGAL::Bbox_3 Bbox_3;
|
|||
|
||||
template<class A, class B>
|
||||
void call_intersection_global(const A& a, const B& b) {
|
||||
typename boost::result_of<K::Intersect_3(A, B)>::type x = CGAL::intersection(a, b);
|
||||
typename boost::result_of<K::Intersect_3(A, B)>::type y = CGAL::intersection(b, a);
|
||||
typename boost::result_of<K::Intersect_3(B, A)>::type z = CGAL::intersection(b, a);
|
||||
typename cpp11::result_of<K::Intersect_3(A, B)>::type x = CGAL::intersection(a, b);
|
||||
typename cpp11::result_of<K::Intersect_3(A, B)>::type y = CGAL::intersection(b, a);
|
||||
typename cpp11::result_of<K::Intersect_3(B, A)>::type z = CGAL::intersection(b, a);
|
||||
CGAL_USE(x);
|
||||
CGAL_USE(y);
|
||||
CGAL_USE(z);
|
||||
|
|
@ -43,8 +43,8 @@ void call_do_intersect_global(const A& a, const B& b) {
|
|||
template<class A, class B, class K>
|
||||
void call_intersection_with_kernel(const A& a, const B& b, const K&) {
|
||||
typedef typename K::Intersect_3 Intersect;
|
||||
typename boost::result_of<Intersect(A, B)>::type x = Intersect()(a, b);
|
||||
typename boost::result_of<Intersect(A, B)>::type y = Intersect()(b, a);
|
||||
typename cpp11::result_of<Intersect(A, B)>::type x = Intersect()(a, b);
|
||||
typename cpp11::result_of<Intersect(A, B)>::type y = Intersect()(b, a);
|
||||
}
|
||||
|
||||
template<class A, class B, class K>
|
||||
|
|
@ -80,7 +80,7 @@ int main()
|
|||
// call_intersection_global(Pl(), Cub());
|
||||
|
||||
// special
|
||||
boost::result_of<K::Intersect_3(Pl, Pl, Pl)>::type plplpl = CGAL::intersection(Pl(), Pl(), Pl());
|
||||
cpp11::result_of<K::Intersect_3(Pl, Pl, Pl)>::type plplpl = CGAL::intersection(Pl(), Pl(), Pl());
|
||||
|
||||
call_intersection_global(Tr(), S());
|
||||
call_intersection_global(Tr(), L());
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ with `Dispatch_output_iterator`.
|
|||
|
||||
Since both the number of intersections, if any, and their types, depend
|
||||
on the arguments, the function expects an output iterator on
|
||||
`boost::result_of<K::Intersect_2(Type1, Type2)>::%type`, as
|
||||
`cpp11::result_of<K::Intersect_2(Type1, Type2)>::%type`, as
|
||||
presented below.
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ with `Dispatch_output_iterator`.
|
|||
|
||||
Since both the number of intersections, if any, and their types, depend
|
||||
on the arguments, the function expects an output iterator on
|
||||
`boost::result_of<Kernel::Intersect_3(Type1, Type2)>::%type`,
|
||||
`cpp11::result_of<Kernel::Intersect_3(Type1, Type2)>::%type`,
|
||||
as presented below.
|
||||
*/
|
||||
/// @{
|
||||
|
|
|
|||
|
|
@ -133,8 +133,8 @@ depending on the arguments.
|
|||
The following table gives the possible values for `Type1` and `Type2`
|
||||
and the resulting return types `T...` in `boost::optional< boost::variant< T... > >`.
|
||||
The resulting return type can be obtained through
|
||||
`boost::result_of<Kernel::Intersect_2(A, B)>::%type` or
|
||||
`boost::result_of<Kernel::Intersect_3(A, B)>::%type`.
|
||||
`cpp11::result_of<Kernel::Intersect_2(A, B)>::%type` or
|
||||
`cpp11::result_of<Kernel::Intersect_3(A, B)>::%type`.
|
||||
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1">
|
||||
|
|
@ -340,7 +340,7 @@ void foo(const Segment_2<R>& seg, const Line_2<R>& lin)
|
|||
// auto result = intersection(seg, lin);
|
||||
|
||||
// without C++11
|
||||
boost::result_of<R::Intersect_2(Segment_2<R>, Line_2<R>)>::type
|
||||
cpp11::result_of<R::Intersect_2(Segment_2<R>, Line_2<R>)>::type
|
||||
result = intersection(seg, lin);
|
||||
|
||||
if(result) { boost::apply_visitor(Intersection_visitor(), *result); }
|
||||
|
|
@ -368,7 +368,7 @@ a standard library algorithm.
|
|||
|
||||
*/
|
||||
template <typename Kernel>
|
||||
boost::result_of<Kernel::Intersect_23(Type1, Type2)>::type
|
||||
cpp11::result_of<Kernel::Intersect_23(Type1, Type2)>::type
|
||||
intersection(Type1<Kernel> obj1, Type2<Kernel> obj2);
|
||||
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -7639,7 +7639,7 @@ public:
|
|||
\cgalRefines `AdaptableFunctor` (with two arguments)
|
||||
|
||||
\sa `CGAL::intersection`
|
||||
\sa <a HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`boost::result_of`</A>
|
||||
\sa <a HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`cpp11::result_of`</A>
|
||||
|
||||
*/
|
||||
class Intersect_2 {
|
||||
|
|
@ -7654,7 +7654,7 @@ public:
|
|||
`Type1` and `Type2`, for all pairs `Type1` and `Type2`.
|
||||
For details see the reference manual page for `intersection()`.
|
||||
*/
|
||||
boost::result_of<Kernel::Intersect_2(Type1, Type2)>::type
|
||||
cpp11::result_of<Kernel::Intersect_2(Type1, Type2)>::type
|
||||
operator()(Type1 obj1, Type2 obj2);
|
||||
|
||||
/// @}
|
||||
|
|
@ -7668,7 +7668,7 @@ public:
|
|||
\cgalRefines `AdaptableFunctor` (with two or three arguments)
|
||||
|
||||
\sa `CGAL::intersection`
|
||||
\sa <a HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`boost::result_of`</A>
|
||||
\sa <a HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`cpp11::result_of`</A>
|
||||
|
||||
*/
|
||||
class Intersect_3 {
|
||||
|
|
@ -7683,7 +7683,7 @@ public:
|
|||
objects of type `Type1` and `Type2`.
|
||||
For details see the reference manual page for `intersection()`.
|
||||
*/
|
||||
boost::result_of<Kernel::Intersect_3(Type1, Type2)>::type
|
||||
cpp11::result_of<Kernel::Intersect_3(Type1, Type2)>::type
|
||||
operator()(Type1 obj1, Type2 obj2);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -493,11 +493,11 @@ in a type-safe way \cgal uses return values of type
|
|||
`boost::optional< boost::variant< T \ldots\ > >` were `T...` is a
|
||||
list of all possible resulting geometric objects. The exact result
|
||||
type of an intersection can be determined through the metafunction
|
||||
`boost::result_of<Kernel::Intersect_2(Type1, Type2)>` or
|
||||
`boost::result_of<Kernel::Intersect_3(Type1, Type2)>`, where
|
||||
`cpp11::result_of<Kernel::Intersect_2(Type1, Type2)>` or
|
||||
`cpp11::result_of<Kernel::Intersect_3(Type1, Type2)>`, where
|
||||
`Type1` and `Type2` are the types of the objects used in the
|
||||
intersection computation. See
|
||||
<A HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`boost::result_of`</A>
|
||||
<A HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`cpp11::result_of`</A>
|
||||
for more details about this mechanism.
|
||||
|
||||
|
||||
|
|
@ -523,7 +523,7 @@ std::cin >> segment_1 >> segment_2;
|
|||
// auto v = intersection(segment_1, segment_2);
|
||||
|
||||
/* C++03 */
|
||||
boost::result_of<K::Intersect_2(Segment_2, Segment_2)>::type
|
||||
cpp11::result_of<K::Intersect_2(Segment_2, Segment_2)>::type
|
||||
v = intersection(segment_1, segment_2);
|
||||
if(v) {
|
||||
/* not empty */
|
||||
|
|
|
|||
|
|
@ -68,8 +68,8 @@ in a type safe way {\cgal} uses return values of type
|
|||
\ccStyle{boost::optional< boost::variant< T \ldots\ > >} were T... is a
|
||||
list of all possible resulting geometric objects. The exact result
|
||||
type of an intersection can be determined through the metafunction
|
||||
\ccc{boost::result_of<Kernel::Intersect_2(Type1, Type2)>} or
|
||||
\ccc{boost::result_of<Kernel::Intersect_3(Type1, Type2)>}, where
|
||||
\ccc{cpp11::result_of<Kernel::Intersect_2(Type1, Type2)>} or
|
||||
\ccc{cpp11::result_of<Kernel::Intersect_3(Type1, Type2)>}, where
|
||||
\ccc{Type1} and \ccc{Type2} are the types of the objects used in the
|
||||
intersection computation. See
|
||||
\ccAnchor{http://www.boost.org/libs/utility/utility.htm#result_of}{boost::result\_of}
|
||||
|
|
@ -95,7 +95,7 @@ value for the \ccHtmlNoLinksFrom{intersection} computation:
|
|||
auto v = intersection(segment_1, segment_2);
|
||||
|
||||
/* C++03 */
|
||||
/*boost::result_of<K::Intersect_2(Segment_2, Segment_2)>::type */
|
||||
/*cpp11::result_of<K::Intersect_2(Segment_2, Segment_2)>::type */
|
||||
/* v = intersection(segment_1, segment_2); */
|
||||
if(v) {
|
||||
/* not empty */
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ A model for this must provide
|
|||
\ccCreationVariable{fo}
|
||||
|
||||
\ccMemberFunction{typename
|
||||
boost::result_of<Kernel::Intersect_2(Type1, Type2)>::type operator()(Type1 obj1, Type2 obj2);}
|
||||
cpp11::result_of<Kernel::Intersect_2(Type1, Type2)>::type operator()(Type1 obj1, Type2 obj2);}
|
||||
{computes the \ccHtmlNoLinksFrom{intersection} region of two geometrical objects of type
|
||||
\ccStyle{Type1} and \ccStyle{Type2}}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ A model for this must provide
|
|||
|
||||
\ccCreationVariable{fo}
|
||||
|
||||
\ccMemberFunction{boost::result_of<Kernel::Intersect_2(Type1, Type2)>::type operator()(Type1 obj1, Type2 obj2);}
|
||||
\ccMemberFunction{cpp11::result_of<Kernel::Intersect_2(Type1, Type2)>::type operator()(Type1 obj1, Type2 obj2);}
|
||||
{computes the \ccHtmlNoLinksFrom{intersection} region of \ccStyle{obj1} and \ccStyle{obj2}}
|
||||
|
||||
\ccMemberFunction{boost::result_of<Kernel::Intersect_2(Plane_3, Plane_3, Plane_3)>::type operator()(
|
||||
\ccMemberFunction{cpp11::result_of<Kernel::Intersect_2(Plane_3, Plane_3, Plane_3)>::type operator()(
|
||||
Plane_3 p1, Plane_3 p2, Plane_3 p3);}
|
||||
{computes the \ccHtmlNoLinksFrom{intersection} region of \ccStyle{p1}, \ccStyle{p2} and \ccStyle{p3}}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ the macro \ccc{CGAL_INTERSECTION_VERSION} must be defined to
|
|||
|
||||
\ccUnchecked{
|
||||
\ccRefLabel{Kernel::intersection}
|
||||
\ccFunction{boost::result_of<Intersect_23(Type1, Type2)>::type intersection(Type1 obj1, Type2 obj2);}
|
||||
\ccFunction{cpp11::result_of<Intersect_23(Type1, Type2)>::type intersection(Type1 obj1, Type2 obj2);}
|
||||
{Two objects \ccStyle{obj1} and \ccStyle{obj2} intersect if there is a point
|
||||
\ccStyle{p} that is part of both \ccStyle{obj1} and \ccStyle{obj2}.
|
||||
The \ccHtmlNoLinksFrom{intersection} region of those two objects is defined as the set of all
|
||||
|
|
@ -40,8 +40,8 @@ The same functionality is also available through the functors
|
|||
The possible values for types \ccStyle{Type1} and \ccStyle{Type2} and
|
||||
the value for T\ldots in \ccStyle{boost::optional< boost::variant<
|
||||
T\ldots > >} are the following and can be obtained through
|
||||
\ccStyle{boost::result_of(Intersect_2(A, B)>::type} or
|
||||
\ccStyle{boost::result_of(Intersect_3(A, B)>::type}.
|
||||
\ccStyle{cpp11::result_of(Intersect_2(A, B)>::type} or
|
||||
\ccStyle{cpp11::result_of(Intersect_3(A, B)>::type}.
|
||||
|
||||
\begin{ccTexOnly}
|
||||
\begin{longtable}[c]{|l|l|l|}
|
||||
|
|
@ -534,7 +534,7 @@ with \ccc{CGAL::Dispatch_output_iterator<V,O>}.
|
|||
|
||||
Since both the number of intersections, if any, and their type, depend
|
||||
on the arguments, the function expects an output iterator on
|
||||
\ccStyle{boost::result_of<K::Intersect_2(Type1, Type2)>::type}, as
|
||||
\ccStyle{cpp11::result_of<K::Intersect_2(Type1, Type2)>::type}, as
|
||||
presented below.
|
||||
|
||||
\ccFunction{template < class OutputIterator >
|
||||
|
|
@ -582,7 +582,7 @@ with \ccc{CGAL::Dispatch_output_iterator<V,O>}.
|
|||
|
||||
Since both the number of intersections, if any, and their type, depend
|
||||
on the arguments, the functions expects an output iterator on
|
||||
\ccStyle{boost::result_of<Kernel::Intersect_3(Type1, Type2)>::type},
|
||||
\ccStyle{cpp11::result_of<Kernel::Intersect_3(Type1, Type2)>::type},
|
||||
as presented below.
|
||||
|
||||
The \textbf{first function} is:
|
||||
|
|
@ -676,7 +676,7 @@ void foo(const Segment_2<R>& seg, const Line_2<R>& lin)
|
|||
auto result = intersection(seg, lin);
|
||||
|
||||
// without C++11
|
||||
// boost::result_of<R::Intersect_2(Segment_2<R>, Line_2<R>)>::type
|
||||
// cpp11::result_of<R::Intersect_2(Segment_2<R>, Line_2<R>)>::type
|
||||
// result = intersection(seg, lin);
|
||||
|
||||
if(result) { boost::apply_visitor(Intersection_visitor(), *result); }
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ int main()
|
|||
|
||||
K::Intersect_2 intersection;
|
||||
|
||||
boost::result_of<K::Intersect_2(Segment, Segment)>::type
|
||||
cpp11::result_of<K::Intersect_2(Segment, Segment)>::type
|
||||
intersect = intersection(s1, s2);
|
||||
|
||||
K::Construct_cartesian_const_iterator_2 construct_it;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ int main(){
|
|||
EK::Triangle_3 t2=to_exact(t1);
|
||||
EK::Line_3 l2=to_exact(l1);
|
||||
|
||||
boost::result_of<EK::Intersect_3(EK::Triangle_3, EK::Line_3)>::type
|
||||
cpp11::result_of<EK::Intersect_3(EK::Triangle_3, EK::Line_3)>::type
|
||||
inter = CGAL::intersection(t2,l2);
|
||||
|
||||
// As we are sure that there IS an intersection
|
||||
|
|
|
|||
|
|
@ -2539,7 +2539,7 @@ namespace CommonKernelFunctors {
|
|||
|
||||
// 25 possibilities, so I keep the template.
|
||||
template <class T1, class T2>
|
||||
typename boost::result_of< Intersect_2(T1, T2) >::type
|
||||
typename cpp11::result_of< Intersect_2(T1, T2) >::type
|
||||
operator()(const T1& t1, const T2& t2) const
|
||||
{ return internal::intersection(t1, t2, K()); }
|
||||
};
|
||||
|
|
@ -2572,7 +2572,7 @@ namespace CommonKernelFunctors {
|
|||
|
||||
// n possibilities, so I keep the template.
|
||||
template <class T1, class T2>
|
||||
typename boost::result_of< Intersect_3(T1, T2) >::type
|
||||
typename cpp11::result_of< Intersect_3(T1, T2) >::type
|
||||
operator()(const T1& t1, const T2& t2) const
|
||||
{ return internal::intersection(t1, t2, K() ); }
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
|
||||
|
||||
// Unfortunately this test is only an approximation. At this point
|
||||
// boost::result_of behaves as C++11 result_of and we cannot force it
|
||||
// cpp11::result_of behaves as C++11 result_of and we cannot force it
|
||||
// back into an old mode thanks to the include guards. We instead use
|
||||
// a TR1 implementation of result_of to compare the types. This is the
|
||||
// best we can go for.
|
||||
|
|
@ -82,7 +82,7 @@ namespace CGAL {
|
|||
|
||||
// This functor can wrap any DefaultConstructible functor. Iff there
|
||||
// is a result_type typedef it needs to be forwarded. In all other
|
||||
// cases boost::result_of is necessary to determine the return type.
|
||||
// cases cpp11::result_of is necessary to determine the return type.
|
||||
template<typename F, bool result_type = result_of_kernel::has_result_type<F>::value >
|
||||
struct AnyFunctor;
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ namespace CGAL {
|
|||
typedef typename F::result_type c03_return_type;
|
||||
|
||||
static_assert((result_of_kernel::Rep_equal<c11_return_type, c03_return_type>::value),
|
||||
"Type difference between actual return type and boost::result_of<>::type");
|
||||
"Type difference between actual return type and cpp11::result_of<>::type");
|
||||
|
||||
return f(std::forward<Args>(args)...);
|
||||
}
|
||||
|
|
@ -111,7 +111,7 @@ namespace CGAL {
|
|||
|
||||
template<typename Func, typename... Args>
|
||||
struct result<Func(Args...)> {
|
||||
typedef typename boost::result_of<F(Args...)>::type type;
|
||||
typedef typename cpp11::result_of<F(Args...)>::type type;
|
||||
};
|
||||
|
||||
// same as above
|
||||
|
|
@ -130,7 +130,7 @@ namespace CGAL {
|
|||
)>::type c03_return_type;
|
||||
|
||||
static_assert((result_of_kernel::Rep_equal<c11_return_type, c03_return_type>::value),
|
||||
"Type difference between actual return type and boost::result_of<>::type");
|
||||
"Type difference between actual return type and cpp11::result_of<>::type");
|
||||
|
||||
return f(std::forward<Args>(args)...);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ The following table gives the possible values for `Type1` and `Type2`
|
|||
and the resulting return types `T...` in `boost::optional< boost::variant< T... > >`.
|
||||
|
||||
The resulting return type can be obtained through
|
||||
`boost::result_of(Kernel::Intersect_d(A, B)>::type`.
|
||||
`cpp11::result_of(Kernel::Intersect_d(A, B)>::type`.
|
||||
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1">
|
||||
|
|
@ -146,7 +146,7 @@ void foo(Segment_d<R> seg, Line_d<R> lin)
|
|||
// auto result = intersection(seg, lin);
|
||||
|
||||
// without C++11 support
|
||||
typename boost::result_of<R::Intersect_d(Segment_d<R>, Line_d<R>)>::type
|
||||
typename cpp11::result_of<R::Intersect_d(Segment_d<R>, Line_d<R>)>::type
|
||||
result = intersection(seg, lin);
|
||||
|
||||
if(result) { boost::apply_visitor(Intersection_visitor<R>(), *result); }
|
||||
|
|
@ -160,7 +160,7 @@ void foo(Segment_d<R> seg, Line_d<R> lin)
|
|||
\sa CGAL_INTERSECTION_VERSION
|
||||
\sa <a HREF="http://www.boost.org/doc/libs/release/libs/optional/index.html">`boost::optional`</a>
|
||||
\sa <a HREF="http://www.boost.org/doc/html/variant.html">`boost::variant`</a>
|
||||
\sa <a HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`boost::result_of`</a>
|
||||
\sa <a HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`cpp11::result_of`</a>
|
||||
|
||||
*/
|
||||
Object intersection(Type1<R> f1, Type2<R> f2);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ For a list of the possible return types, see `CGAL::intersection()`.
|
|||
\pre `p` and `q` have the same dimension.
|
||||
*/
|
||||
template <class Type1, class Type2>
|
||||
boost::result_of<Kernel::Intersect_d(Type1, Type2)>::type
|
||||
cpp11::result_of<Kernel::Intersect_d(Type1, Type2)>::type
|
||||
operator()(const Type1& p, const Type2& q);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -439,10 +439,10 @@ returns a `boost::optional< boost::variant< T... > >`
|
|||
where `T...` is a list of all possible resulting geometric objects.
|
||||
|
||||
The exact result type of an intersection can be determined by using
|
||||
`boost::result_of<Kernel::Intersect_d(Type1, Type2)>::type`
|
||||
`cpp11::result_of<Kernel::Intersect_d(Type1, Type2)>::type`
|
||||
`where `Type1` and `Type2` are the types of the objects
|
||||
used in the intersection query. See
|
||||
<A HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`boost::result_of`</A>
|
||||
<A HREF="http://www.boost.org/libs/utility/utility.htm#result_of">`cpp11::result_of`</A>
|
||||
for more information about this mechanism.
|
||||
|
||||
|
||||
|
|
@ -459,7 +459,7 @@ typedef Segment_d<K> Segment;
|
|||
Segment s1, s2;
|
||||
std::cin >> s1 >> s2;
|
||||
|
||||
boost::result_of<K::Intersect_d(Segment, Segment)>::type
|
||||
cpp11::result_of<K::Intersect_d(Segment, Segment)>::type
|
||||
v = intersection(s1, s2);
|
||||
if(v) {
|
||||
// not empty
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ returns a \ccStyle{boost::optional< boost::variant< T \ldots\ > >}
|
|||
were T\textellipsis\ is a list of all possible resulting geometric objects.
|
||||
|
||||
The exact result type of an intersection can be determined by using
|
||||
\ccStyle{boost::result_of<Kernel::Intersect_d(Type1, Type2)>::type}
|
||||
\ccStyle{cpp11::result_of<Kernel::Intersect_d(Type1, Type2)>::type}
|
||||
where \ccStyle{Type1} and \ccStyle{Type2} are the types of the objects
|
||||
used in the intersection query. See
|
||||
\ccAnchor{http://www.boost.org/libs/utility/utility.htm#result_of}{boost::result\_of}
|
||||
|
|
@ -83,7 +83,7 @@ for more information about this mechanism.
|
|||
Segment s1, s2;
|
||||
std::cin >> s1 >> s2;
|
||||
|
||||
boost::result_of<K::Intersect_d(Segment, Segment)>::type
|
||||
cpp11::result_of<K::Intersect_d(Segment, Segment)>::type
|
||||
v = intersection(s1, s2);
|
||||
if(v) {
|
||||
/* not empty */
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ A model for this must provide:
|
|||
|
||||
\ccCreationVariable{fo}
|
||||
|
||||
\ccMemberFunction{boost::result_of<Kernel::Intersect_d(Type1<K>, Type2<K>)>::type operator()(const Type1<K>& p, const Type2<K>& q);}
|
||||
\ccMemberFunction{cpp11::result_of<Kernel::Intersect_d(Type1<K>, Type2<K>)>::type operator()(const Type1<K>& p, const Type2<K>& q);}
|
||||
{returns the result of the intersection of $p$ and $q$ in form of a
|
||||
polymorphic object. \ccc{Kernel_object} may be any of
|
||||
\ccc{Kernel::Segment_d}, \ccc{Kernel::Ray_d}, \ccc{Kernel::Line_d},
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ void foo(Segment_d<R> seg, Line_d<R> lin)
|
|||
auto result = intersection(seg, lin);
|
||||
|
||||
// without C++11 support
|
||||
// typename boost::result_of<R::Intersect_d(Segment_d<R>, Line_d<R>)>::type
|
||||
// typename cpp11::result_of<R::Intersect_d(Segment_d<R>, Line_d<R>)>::type
|
||||
// result = intersection(seg, lin);
|
||||
|
||||
if(result) { boost::apply_visitor(Intersection_visitor<R>(), *result); }
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ public:
|
|||
#endif
|
||||
|
||||
template <class T1, class T2>
|
||||
typename boost::result_of<Intersect(T1, T2)>::type
|
||||
typename cpp11::result_of<Intersect(T1, T2)>::type
|
||||
operator()(const T1& t1, const T2& t2) const
|
||||
{ return internal::intersection(t1, t2, R()); }
|
||||
};
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ namespace CGAL {
|
|||
namespace internal {
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Line_d, typename R::Line_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Line_d, typename R::Line_d)>::type
|
||||
intersection(const typename R::Line_d& l1, const typename R::Line_d& l2, const R&)
|
||||
{
|
||||
typedef typename R::Line_d_Line_d_pair ll_pair;
|
||||
|
|
@ -53,7 +53,7 @@ intersection(const typename R::Line_d& l1, const typename R::Line_d& l2, const R
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Ray_d, typename R::Ray_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Ray_d, typename R::Ray_d)>::type
|
||||
intersection(const typename R::Ray_d& l1, const typename R::Ray_d& l2, const R&)
|
||||
{
|
||||
typedef typename R::Ray_d_Ray_d_pair ll_pair;
|
||||
|
|
@ -82,7 +82,7 @@ intersection(const typename R::Ray_d& l1, const typename R::Ray_d& l2, const R&)
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Segment_d, typename R::Segment_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Segment_d, typename R::Segment_d)>::type
|
||||
intersection(const typename R::Segment_d& l1, const typename R::Segment_d& l2, const R&)
|
||||
{
|
||||
typedef typename R::Segment_d_Segment_d_pair ll_pair;
|
||||
|
|
@ -106,7 +106,7 @@ intersection(const typename R::Segment_d& l1, const typename R::Segment_d& l2, c
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Line_d, typename R::Ray_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Line_d, typename R::Ray_d)>::type
|
||||
intersection(const typename R::Line_d& l, const typename R::Ray_d& r, const R&)
|
||||
{
|
||||
typedef typename R::Line_d_Ray_d_pair lr_pair;
|
||||
|
|
@ -128,12 +128,12 @@ intersection(const typename R::Line_d& l, const typename R::Ray_d& r, const R&)
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Ray_d, typename R::Line_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Ray_d, typename R::Line_d)>::type
|
||||
intersection(const typename R::Ray_d& r, const typename R::Line_d& l, const R& k)
|
||||
{ return intersection(l,r,k); }
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Ray_d, typename R::Segment_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Ray_d, typename R::Segment_d)>::type
|
||||
intersection(const typename R::Ray_d& r, const typename R::Segment_d& s, const R&)
|
||||
{
|
||||
typedef typename R::Ray_d_Segment_d_pair rs_pair;
|
||||
|
|
@ -157,12 +157,12 @@ intersection(const typename R::Ray_d& r, const typename R::Segment_d& s, const R
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Segment_d, typename R::Ray_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Segment_d, typename R::Ray_d)>::type
|
||||
intersection(const typename R::Segment_d& s, const typename R::Ray_d& r, const R& k)
|
||||
{ return intersection(r,s, k); }
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Line_d, typename R::Segment_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Line_d, typename R::Segment_d)>::type
|
||||
intersection(const typename R::Line_d& l, const typename R::Segment_d& s, const R&)
|
||||
{
|
||||
typedef typename R::Line_d_Segment_d_pair rs_pair;
|
||||
|
|
@ -186,12 +186,12 @@ intersection(const typename R::Line_d& l, const typename R::Segment_d& s, const
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Segment_d, typename R::Line_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Segment_d, typename R::Line_d)>::type
|
||||
intersection(const typename R::Segment_d& s, const typename R::Line_d& l, const R& r)
|
||||
{ return intersection(l,s,r); }
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Line_d, typename R::Hyperplane_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Line_d, typename R::Hyperplane_d)>::type
|
||||
intersection(const typename R::Line_d& l, const typename R::Hyperplane_d& h, const R&)
|
||||
{
|
||||
typedef typename R::Line_d_Hyperplane_d_pair lh_pair;
|
||||
|
|
@ -212,12 +212,12 @@ intersection(const typename R::Line_d& l, const typename R::Hyperplane_d& h, con
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Hyperplane_d, typename R::Line_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Hyperplane_d, typename R::Line_d)>::type
|
||||
intersection(const typename R::Hyperplane_d& h, const typename R::Line_d& l, const R& r)
|
||||
{ return intersection(l,h,r); }
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Ray_d, typename R::Hyperplane_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Ray_d, typename R::Hyperplane_d)>::type
|
||||
intersection(const typename R::Ray_d& r, const typename R::Hyperplane_d& h, const R&)
|
||||
{
|
||||
typedef typename R::Ray_d_Hyperplane_d_pair rh_pair;
|
||||
|
|
@ -238,12 +238,12 @@ intersection(const typename R::Ray_d& r, const typename R::Hyperplane_d& h, cons
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Hyperplane_d, typename R::Ray_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Hyperplane_d, typename R::Ray_d)>::type
|
||||
intersection(const typename R::Hyperplane_d& h, const typename R::Ray_d& r, const R& k)
|
||||
{ return intersection(r,h,k); }
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Segment_d, typename R::Hyperplane_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Segment_d, typename R::Hyperplane_d)>::type
|
||||
intersection(const typename R::Segment_d& s, const typename R::Hyperplane_d& h, const R&)
|
||||
{
|
||||
typedef typename R::Segment_d_Hyperplane_d_pair sh_pair;
|
||||
|
|
@ -265,7 +265,7 @@ intersection(const typename R::Segment_d& s, const typename R::Hyperplane_d& h,
|
|||
}
|
||||
|
||||
template <class R>
|
||||
typename boost::result_of<typename R::Intersect_d(typename R::Hyperplane_d, typename R::Segment_d)>::type
|
||||
typename cpp11::result_of<typename R::Intersect_d(typename R::Hyperplane_d, typename R::Segment_d)>::type
|
||||
intersection(const typename R::Hyperplane_d& h, const typename R::Segment_d& s, const R& r)
|
||||
{ return intersection(s,h,r); }
|
||||
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ public:
|
|||
template<typename Query>
|
||||
Surface_patch clip_to_segment(const Query& query) const
|
||||
{
|
||||
typename boost::result_of<typename BGT::Intersect_3(Query, Iso_cuboid_3)>::type
|
||||
typename cpp11::result_of<typename BGT::Intersect_3(Query, Iso_cuboid_3)>::type
|
||||
clipped = CGAL::intersection(query, r_domain_.bbox_);
|
||||
|
||||
if(clipped)
|
||||
|
|
@ -324,7 +324,7 @@ public:
|
|||
template<typename Query>
|
||||
Intersection clip_to_segment(const Query& query) const
|
||||
{
|
||||
typename boost::result_of<typename BGT::Intersect_3(Query, Iso_cuboid_3)>::type
|
||||
typename cpp11::result_of<typename BGT::Intersect_3(Query, Iso_cuboid_3)>::type
|
||||
clipped = CGAL::intersection(query, r_domain_.bbox_);
|
||||
|
||||
if(clipped)
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public:
|
|||
|
||||
template <typename F, typename A, typename B>
|
||||
struct result<F(A, B)> {
|
||||
typedef typename boost::result_of<typename K_::Intersect_3(A, B)>::type type;
|
||||
typedef typename cpp11::result_of<typename K_::Intersect_3(A, B)>::type type;
|
||||
};
|
||||
|
||||
typedef Exact_predicates_exact_constructions_kernel EK;
|
||||
|
|
@ -58,7 +58,7 @@ public:
|
|||
typedef Cartesian_converter<EK, typename K_::Kernel> Back_from_exact;
|
||||
|
||||
template<class T1, class T2>
|
||||
typename boost::result_of<typename K_::Intersect_3(T1, T2)>::type
|
||||
typename cpp11::result_of<typename K_::Intersect_3(T1, T2)>::type
|
||||
operator() (const T1& t, const T2& s) const
|
||||
{
|
||||
// Switch to exact
|
||||
|
|
@ -67,7 +67,7 @@ public:
|
|||
EK::Intersect_3 exact_intersection = EK().intersect_3_object();
|
||||
|
||||
// Cartesian converters have an undocumented, optional< variant > operator
|
||||
return typename boost::result_of<typename K_::Intersect_3(T1, T2)>::type
|
||||
return typename cpp11::result_of<typename K_::Intersect_3(T1, T2)>::type
|
||||
(back_from_exact(exact_intersection(to_exact(t), to_exact(s))));
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue