mirror of https://github.com/CGAL/cgal
Remove obsolete config flags
CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG and CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2.
This commit is contained in:
parent
8258484ac9
commit
f2a1b260a4
|
|
@ -89,265 +89,61 @@ public:
|
|||
#ifdef CGAL_HAS_VARIADIC_TEMPLATES
|
||||
template <typename... Args>
|
||||
result_type
|
||||
operator()(const Args&... args) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(args)...);
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(args)...);
|
||||
}
|
||||
#endif
|
||||
operator()(const Args&... args) const;
|
||||
#else
|
||||
|
||||
template <class A1>
|
||||
result_type
|
||||
operator()(const A1 &a1) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1));
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1));
|
||||
}
|
||||
#endif
|
||||
operator()(const A1 &a1) const;
|
||||
|
||||
template <class A1, class A2>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2));
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2));
|
||||
}
|
||||
#endif
|
||||
operator()(const A1 &a1, const A2 &a2) const;
|
||||
|
||||
template <class A1, class A2, class A3>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2), c2a(a3));
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2), c2e(a3));
|
||||
}
|
||||
#endif
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2), c2a(a3), c2a(a4));
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2), c2e(a3), c2e(a4));
|
||||
}
|
||||
#endif
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2), c2a(a3), c2a(a4), c2a(a5));
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2), c2e(a3), c2e(a4), c2e(a5));
|
||||
}
|
||||
#endif
|
||||
const A5 &a5) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5, const A6 &a6) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2), c2a(a3), c2a(a4), c2a(a5), c2a(a6));
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2), c2e(a3), c2e(a4), c2e(a5), c2e(a6));
|
||||
}
|
||||
#endif
|
||||
const A5 &a5, const A6 &a6) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6,
|
||||
class A7>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5, const A6 &a6, const A7 &a7) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2), c2a(a3), c2a(a4),
|
||||
c2a(a5), c2a(a6), c2a(a7));
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(CGAL_PRETTY_FUNCTION));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2), c2e(a3), c2e(a4), c2e(a5), c2e(a6), c2e(a7));
|
||||
}
|
||||
#endif
|
||||
const A5 &a5, const A6 &a6, const A7 &a7) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6,
|
||||
class A7, class A8>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(__PRETTY_FUNCTION__));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2), c2a(a3), c2a(a4),
|
||||
c2a(a5), c2a(a6), c2a(a7), c2a(a8) );
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(__PRETTY_FUNCTION__));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2), c2e(a3), c2e(a4),
|
||||
c2e(a5), c2e(a6), c2e(a7), c2e(a8) );
|
||||
}
|
||||
#endif
|
||||
const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6,
|
||||
class A7, class A8, class A9>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8,
|
||||
const A9 &a9) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(__PRETTY_FUNCTION__));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2), c2a(a3), c2a(a4),
|
||||
c2a(a5), c2a(a6), c2a(a7), c2a(a8), c2a(a9) );
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(__PRETTY_FUNCTION__));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2), c2e(a3), c2e(a4),
|
||||
c2e(a5), c2e(a6), c2e(a7), c2e(a8), c2e(a9) );
|
||||
}
|
||||
#endif
|
||||
const A9 &a9) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6,
|
||||
class A7, class A8, class A9, class A10>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8,
|
||||
const A9 &a9, const A10 &a10) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
try
|
||||
{
|
||||
CGAL_PROFILER(std::string("calls to : ") + std::string(__PRETTY_FUNCTION__));
|
||||
Protect_FPU_rounding<Protection> P;
|
||||
Ares res = ap(c2a(a1), c2a(a2), c2a(a3), c2a(a4),
|
||||
c2a(a5), c2a(a6), c2a(a7), c2a(a8), c2a(a9), c2a(a10) );
|
||||
if (! is_indeterminate(res))
|
||||
return res;
|
||||
}
|
||||
catch (Interval_nt_advanced::unsafe_comparison) {}
|
||||
CGAL_PROFILER(std::string("failures of : ") + std::string(__PRETTY_FUNCTION__));
|
||||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(a1), c2e(a2), c2e(a3), c2e(a4),
|
||||
c2e(a5), c2e(a6), c2e(a7), c2e(a8), c2e(a9), c2e(a10) );
|
||||
}
|
||||
#endif
|
||||
const A9 &a9, const A10 &a10) const;
|
||||
|
||||
// Idem for more than 10 arguments. Do it on demand.
|
||||
|
||||
#endif
|
||||
|
|
@ -374,9 +170,9 @@ Filtered_predicate<EP,AP,C2E,C2A,Protection>::
|
|||
Protect_FPU_rounding<!Protection> P(CGAL_FE_TONEAREST);
|
||||
return ep(c2e(args)...);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
template <class EP, class AP, class C2E, class C2A, bool Protection>
|
||||
template <class A1>
|
||||
typename Filtered_predicate<EP,AP,C2E,C2A,Protection>::result_type
|
||||
|
|
@ -598,8 +394,6 @@ Filtered_predicate<EP,AP,C2E,C2A,Protection>::
|
|||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
CGAL_END_NAMESPACE
|
||||
|
||||
#endif // CGAL_FILTERED_PREDICATE_H
|
||||
|
|
|
|||
|
|
@ -1,56 +0,0 @@
|
|||
// Copyright (c) 2003 Utrecht University (The Netherlands),
|
||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||
// 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; version 2.1 of the License.
|
||||
// See the file LICENSE.LGPL distributed with CGAL.
|
||||
//
|
||||
// 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) : Radu Ursu
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// A short test program to evaluate a C++ compiler.
|
||||
// This program is used by install_cgal.
|
||||
// The following documentation will be pasted in the generated configfile.
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set,
|
||||
//| if a compiler does not support the definition of member templates
|
||||
//| out of line, i.e. outside class scope. The solution is to put the
|
||||
//| definition inside the class. This is a feature of SunPro 5.5.
|
||||
|
||||
template <class A>
|
||||
class B {
|
||||
public:
|
||||
typedef typename A::D Res;
|
||||
|
||||
template<class C>
|
||||
Res fct(C *i);
|
||||
};
|
||||
|
||||
template<class A>
|
||||
template<class C> //syntax error
|
||||
typename B<A>::Res
|
||||
B<A>::fct(C *i)
|
||||
{
|
||||
typedef typename B<A>::Res R;
|
||||
return R();
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
// Copyright (c) 2004 Utrecht University (The Netherlands),
|
||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||
// 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; version 2.1 of the License.
|
||||
// See the file LICENSE.LGPL distributed with CGAL.
|
||||
//
|
||||
// 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) : Laurent Rineau
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// A short test program to evaluate a C++ compiler.
|
||||
// This program is used by install_cgal.
|
||||
// The following documentation will be pasted in the generated configfile.
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 is set,
|
||||
//| if a compiler does not support the definition of member templates
|
||||
//| out of line, i.e. outside class scope. The solution is to put the
|
||||
//| definition inside the class.
|
||||
//| The difference with CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
//| is the return type of the member template.SunPro 5.5 should be OK with
|
||||
//| this code.
|
||||
|
||||
template <class A>
|
||||
class B {
|
||||
public:
|
||||
template<class C>
|
||||
void fct(C *i);
|
||||
};
|
||||
|
||||
template<class A>
|
||||
template<class C>
|
||||
void
|
||||
B<A>::fct(C *i){
|
||||
}
|
||||
|
||||
int main(){
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -702,8 +702,6 @@ void clone(const Plane_map& H) const;
|
|||
\precond |H.check_integrity_and_topological_planarity()| and
|
||||
|P| is empty.}*/
|
||||
|
||||
#if ! defined(CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG)
|
||||
|
||||
template <typename LINKDA>
|
||||
void clone_skeleton(const Plane_map& H, const LINKDA& L) const;
|
||||
/*{\Mop clones the skeleton of |H| into |P|. Afterwards |P| is a copy
|
||||
|
|
@ -716,56 +714,6 @@ objects.\\
|
|||
\precond |H.check_integrity_and_topological_planarity()| and
|
||||
|P| is empty.}*/
|
||||
|
||||
#else
|
||||
|
||||
template <typename LINKDA>
|
||||
void clone_skeleton(const HDS& H, const LINKDA& L) const
|
||||
{
|
||||
CGAL_assertion(number_of_vertices()==0&&
|
||||
number_of_halfedges()==0&&
|
||||
number_of_faces()==0);
|
||||
|
||||
PM_const_decorator<HDS> DC(H);
|
||||
CGAL_assertion((DC.check_integrity_and_topological_planarity(),1));
|
||||
CGAL::Unique_hash_map<Vertex_const_iterator,Vertex_handle> Vnew;
|
||||
CGAL::Unique_hash_map<Halfedge_const_iterator,Halfedge_handle> Hnew;
|
||||
|
||||
/* First clone all objects and store correspondance in the two maps.*/
|
||||
Vertex_const_iterator vit, vend = H.vertices_end();
|
||||
for (vit = H.vertices_begin(); vit!=vend; ++vit) {
|
||||
Vertex_handle v = this->phds->vertices_push_back(Vertex_base());
|
||||
Vnew[vit] = v;
|
||||
}
|
||||
Halfedge_const_iterator eit, eend = H.halfedges_end();
|
||||
for (eit = H.halfedges_begin(); eit!=eend; ++(++eit)) {
|
||||
Halfedge_handle e = this->phds->edges_push_back(Halfedge_base(),Halfedge_base());
|
||||
Hnew[eit] = e; Hnew[eit->opposite()] = e->opposite();
|
||||
}
|
||||
|
||||
/* Now copy topology.*/
|
||||
Vertex_iterator vit2, vend2 = vertices_end();
|
||||
for (vit = H.vertices_begin(), vit2 = vertices_begin();
|
||||
vit2!=vend2; ++vit, ++vit2) {
|
||||
mark(vit2) = DC.mark(vit);
|
||||
point(vit2) = DC.point(vit);
|
||||
if ( !DC.is_isolated(vit) )
|
||||
vit2->set_halfedge(Hnew[vit->halfedge()]);
|
||||
L(vit2,vit);
|
||||
}
|
||||
Halfedge_iterator eit2, eend2 = this->phds->halfedges_end();
|
||||
for (eit = H.halfedges_begin(), eit2 = halfedges_begin();
|
||||
eit2!=eend2; ++eit, ++eit2) {
|
||||
eit2->set_prev(Hnew[eit->prev()]);
|
||||
eit2->set_next(Hnew[eit->next()]);
|
||||
eit2->set_vertex(Vnew[eit->vertex()]);
|
||||
mark(eit2) = DC.mark(eit);
|
||||
// eit2->set_face(Face_handle((Face*)&*(eit->face())));
|
||||
L(eit2,eit);
|
||||
// link to face of original
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void reflecting_inversion()
|
||||
/*{\Xop inverts the topological links corresponding to a reflecting
|
||||
|
|
@ -906,7 +854,6 @@ void PM_decorator<HDS>::clone(const HDS& H) const
|
|||
CGAL_assertion((this->check_integrity_and_topological_planarity(),1));
|
||||
}
|
||||
|
||||
#if ! defined(CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG)
|
||||
|
||||
template <typename HDS>
|
||||
template <typename LINKDA>
|
||||
|
|
@ -957,10 +904,6 @@ clone_skeleton(const HDS& H, const LINKDA& L) const
|
|||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
CGAL_END_NAMESPACE
|
||||
#endif //CGAL_PM_DECORATOR_H
|
||||
|
||||
#endif //CGAL_PM_DECORATOR_H
|
||||
|
|
|
|||
|
|
@ -51,89 +51,40 @@ public:
|
|||
|
||||
template <class A1>
|
||||
result_type
|
||||
operator()(const A1 &a1) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
return static_cast<result_type>(Certified_approx_predicate(a1));
|
||||
}
|
||||
#endif
|
||||
operator()(const A1 &a1) const;
|
||||
|
||||
template <class A1, class A2>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
return static_cast<result_type>(Certified_approx_predicate(a1, a2));
|
||||
}
|
||||
#endif
|
||||
operator()(const A1 &a1, const A2 &a2) const;
|
||||
|
||||
template <class A1, class A2, class A3>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
return static_cast<result_type>(Certified_approx_predicate(a1, a2, a3));
|
||||
}
|
||||
#endif
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
return static_cast<result_type>(Certified_approx_predicate(a1, a2, a3,a4));
|
||||
}
|
||||
#endif
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
return static_cast<result_type>(Certified_approx_predicate(a1, a2, a3, a4, a5));
|
||||
}
|
||||
#endif
|
||||
const A5 &a5) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5, const A6 &a6) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
return static_cast<result_type>(Certified_approx_predicate(a1, a2, a3, a4, a5, a6));
|
||||
}
|
||||
#endif
|
||||
const A5 &a5, const A6 &a6) const;
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6,
|
||||
class A7>
|
||||
result_type
|
||||
operator()(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4,
|
||||
const A5 &a5, const A6 &a6, const A7 &a7) const
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
;
|
||||
#else
|
||||
{
|
||||
return static_cast<result_type>(Certified_approx_predicate(a1, a2, a3, a4, a5, a6, a7));
|
||||
}
|
||||
#endif
|
||||
const A5 &a5, const A6 &a6, const A7 &a7) const;
|
||||
|
||||
// Idem for more than 7 arguments. Do it on demand.
|
||||
};
|
||||
|
||||
#ifndef CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
|
||||
template <class CAP>
|
||||
template <class A1>
|
||||
typename Unfiltered_predicate_adaptor<CAP>::result_type
|
||||
|
|
@ -189,7 +140,6 @@ Unfiltered_predicate_adaptor<CAP>::
|
|||
{
|
||||
return static_cast<result_type>(Certified_approx_predicate(a1, a2, a3, a4, a5, a6));
|
||||
}
|
||||
#endif
|
||||
|
||||
CGAL_END_NAMESPACE
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue