mirror of https://github.com/CGAL/cgal
Add result_of protocol to the Kernel_checker
That is used by `Construct_point_3` in `Triangulation_3`.
This commit is contained in:
parent
128a07c44a
commit
7248270fc3
|
|
@ -88,6 +88,15 @@ public:
|
|||
: p1(pp1), p2(pp2), cmp(c)
|
||||
{ }
|
||||
|
||||
template <typename F>
|
||||
struct result;
|
||||
|
||||
template <typename F, typename A1>
|
||||
struct result<F(A1)> {
|
||||
typedef typename Pairify<typename CGAL::cpp11::result_of<P1(const A1&)>::type,
|
||||
typename CGAL::cpp11::result_of<P2(const A1&)>::type>::result_type type;
|
||||
};
|
||||
|
||||
template <class A1>
|
||||
typename Pairify<typename CGAL::cpp11::result_of<P1(const A1&)>::type,
|
||||
typename CGAL::cpp11::result_of<P2(const A1&)>::type>::result_type
|
||||
|
|
@ -113,6 +122,12 @@ public:
|
|||
return Pairify<result_type_1, result_type_2>()(res1, res2);
|
||||
}
|
||||
|
||||
template <typename F, typename A1, typename A2>
|
||||
struct result<F(A1, A2)> {
|
||||
typedef typename Pairify<typename CGAL::cpp11::result_of<P1(const A1&, const A2&)>::type,
|
||||
typename CGAL::cpp11::result_of<P2(const A1&, const A2&)>::type>::result_type type;
|
||||
};
|
||||
|
||||
template <class A1, class A2>
|
||||
typename Pairify<typename CGAL::cpp11::result_of<P1(const A1&, const A2&)>::type,
|
||||
typename CGAL::cpp11::result_of<P2(const A1&, const A2&)>::type>::result_type
|
||||
|
|
@ -140,6 +155,12 @@ public:
|
|||
return Pairify<result_type_1, result_type_2>()(res1, res2);
|
||||
}
|
||||
|
||||
template <typename F, typename A1, typename A2, typename A3>
|
||||
struct result<F(A1, A2, A3)> {
|
||||
typedef typename Pairify<typename CGAL::cpp11::result_of<P1(const A1&, const A2&, const A3&)>::type,
|
||||
typename CGAL::cpp11::result_of<P2(const A1&, const A2&, const A3&)>::type>::result_type type;
|
||||
};
|
||||
|
||||
template <class A1, class A2, class A3>
|
||||
typename Pairify<typename CGAL::cpp11::result_of<P1(
|
||||
const A1&, const A2&, const A3&)>::type,
|
||||
|
|
@ -171,6 +192,16 @@ public:
|
|||
return Pairify<result_type_1, result_type_2>()(res1, res2);
|
||||
}
|
||||
|
||||
template <typename F, typename A1, typename A2, typename A3, typename A4>
|
||||
struct result<F(A1, A2, A3, A4)> {
|
||||
typedef
|
||||
typename Pairify<typename CGAL::cpp11::result_of<P1(
|
||||
const A1&, const A2&, const A3&, const A4&)>::type,
|
||||
typename CGAL::cpp11::result_of<P2(
|
||||
const A1&, const A2&, const A3&, const A4&)>::type>::result_type
|
||||
type;
|
||||
};
|
||||
|
||||
template <class A1, class A2, class A3, class A4>
|
||||
typename Pairify<typename CGAL::cpp11::result_of<P1(
|
||||
const A1&, const A2&, const A3&, const A4&)>::type,
|
||||
|
|
@ -207,6 +238,16 @@ public:
|
|||
return Pairify<result_type_1, result_type_2>()(res1, res2);
|
||||
}
|
||||
|
||||
template <typename F, typename A1, typename A2, typename A3, typename A4, typename A5>
|
||||
struct result<F(A1, A2, A3, A4, A5)> {
|
||||
typedef
|
||||
typename Pairify<typename CGAL::cpp11::result_of<P1(
|
||||
const A1&, const A2&, const A3&, const A4&, const A5&)>::type,
|
||||
typename CGAL::cpp11::result_of<P2(
|
||||
const A1&, const A2&, const A3&, const A4&, const A5&)>::type>::result_type
|
||||
type;
|
||||
};
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5>
|
||||
typename Pairify<typename CGAL::cpp11::result_of<P1(
|
||||
const A1&, const A2&, const A3&, const A4&, const A5&)>::type,
|
||||
|
|
|
|||
Loading…
Reference in New Issue