mirror of https://github.com/CGAL/cgal
C2vcproj fixed to look for master_71.vcproj instead of master_VC71.vcproj.
Missing svn properties added
This commit is contained in:
parent
33d7078a30
commit
8a3dee2292
|
|
@ -336,7 +336,6 @@ BGL/doc_tex/BGL/fig/ex_bgl.gif -text svneol=unset#image/gif
|
||||||
BGL/doc_tex/BGL/fig/ex_bgl.pdf -text svneol=unset#application/pdf
|
BGL/doc_tex/BGL/fig/ex_bgl.pdf -text svneol=unset#application/pdf
|
||||||
BGL/doc_tex/BGL/fig/ex_bgl.pstex -text svneol=unset#application/postscript
|
BGL/doc_tex/BGL/fig/ex_bgl.pstex -text svneol=unset#application/postscript
|
||||||
BGL/doc_tex/BGL/fig/ex_bgl.pstex_t -text svneol=unset#application/postscript
|
BGL/doc_tex/BGL/fig/ex_bgl.pstex_t -text svneol=unset#application/postscript
|
||||||
BGL/examples/BGL_polyhedron_3/kruskal_min_spanning_tree.hpp -text
|
|
||||||
BGL/test/BGL/cgal_test eol=lf
|
BGL/test/BGL/cgal_test eol=lf
|
||||||
BGL/test/BGL/data/7_faces_traingle.off -text svneol=unset#application/octet-stream
|
BGL/test/BGL/data/7_faces_traingle.off -text svneol=unset#application/octet-stream
|
||||||
BGL/test/BGL/data/genus3.off -text svneol=unset#application/octet-stream
|
BGL/test/BGL/data/genus3.off -text svneol=unset#application/octet-stream
|
||||||
|
|
@ -677,7 +676,6 @@ Installation/config/support/S91-TAUCSWIN -text
|
||||||
Installation/config/support/S92-TAUCS1 -text
|
Installation/config/support/S92-TAUCS1 -text
|
||||||
Installation/config/support/S93-TAUCS2 -text
|
Installation/config/support/S93-TAUCS2 -text
|
||||||
Installation/config/support/S96-TAUCS3 -text
|
Installation/config/support/S96-TAUCS3 -text
|
||||||
Installation/include/CGAL/auto_link.h -text
|
|
||||||
Interpolation/doc_tex/Interpolation/nn_coords.eps -text svneol=unset#application/postscript
|
Interpolation/doc_tex/Interpolation/nn_coords.eps -text svneol=unset#application/postscript
|
||||||
Interpolation/doc_tex/Interpolation/nn_coords.gif -text svneol=unset#image/gif
|
Interpolation/doc_tex/Interpolation/nn_coords.gif -text svneol=unset#image/gif
|
||||||
Interpolation/doc_tex/Interpolation/nn_coords.ipe -text svneol=unset#application/postscript
|
Interpolation/doc_tex/Interpolation/nn_coords.ipe -text svneol=unset#application/postscript
|
||||||
|
|
@ -1819,7 +1817,6 @@ Ridges_3/examples/Ridges_3/data/poly2x^2+y^2-0.062500.off -text svneol=unset#app
|
||||||
Ridges_3/test/Ridges_3/data/ellipsoid.off -text svneol=unset#application/octet-stream
|
Ridges_3/test/Ridges_3/data/ellipsoid.off -text svneol=unset#application/octet-stream
|
||||||
Robustness/demo/Robustness/help/index.html svneol=native#text/html
|
Robustness/demo/Robustness/help/index.html svneol=native#text/html
|
||||||
Robustness/demo/Robustness/robustness.vcproj eol=crlf
|
Robustness/demo/Robustness/robustness.vcproj eol=crlf
|
||||||
STL_Extension/include/CGAL/Iterator_transform.h -text
|
|
||||||
STL_Extension/include/CGAL/type_traits.h -text
|
STL_Extension/include/CGAL/type_traits.h -text
|
||||||
STL_Extension/test/STL_Extension/test_type_traits.cpp -text
|
STL_Extension/test/STL_Extension/test_type_traits.cpp -text
|
||||||
Scripts/developer_scripts/create_assertions.sh eol=lf
|
Scripts/developer_scripts/create_assertions.sh eol=lf
|
||||||
|
|
@ -2575,11 +2572,6 @@ window/test/WindowStream/test_window_stream_xy_3.cmd eol=lf
|
||||||
wininst/cgal_config.bat eol=crlf
|
wininst/cgal_config.bat eol=crlf
|
||||||
wininst/developer_scripts/examples/master_71.vcproj -text
|
wininst/developer_scripts/examples/master_71.vcproj -text
|
||||||
wininst/developer_scripts/examples/master_80.vcproj -text
|
wininst/developer_scripts/examples/master_80.vcproj -text
|
||||||
wininst/include/CGAL/config/msvc/CGAL/auto_link.h -text
|
|
||||||
wininst/include/CGAL/config/msvc/CGAL/cl_1310.h -text
|
|
||||||
wininst/include/CGAL/config/msvc/CGAL/cl_1400.h -text
|
|
||||||
wininst/include/CGAL/config/msvc/CGAL/compiler_config.h -text
|
|
||||||
wininst/include/CGAL/config/msvc/CGAL/icl_8_1.h -text
|
|
||||||
wininst/src/CGAL/cgallib_71.vcproj -text
|
wininst/src/CGAL/cgallib_71.vcproj -text
|
||||||
wininst/src/CGAL/cgallib_80.vcproj -text
|
wininst/src/CGAL/cgallib_80.vcproj -text
|
||||||
wininst/winutils/make/bcc/leda/demo.bat eol=crlf
|
wininst/winutils/make/bcc/leda/demo.bat eol=crlf
|
||||||
|
|
|
||||||
|
|
@ -1,164 +1,164 @@
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// THIS FILE HAS BEEN MODIFIED FOR CONST-CORRECTNESS
|
// THIS FILE HAS BEEN MODIFIED FOR CONST-CORRECTNESS
|
||||||
// February 2007, Fernando Cacciola (fernando.cacciola@gmail.com)
|
// February 2007, Fernando Cacciola (fernando.cacciola@gmail.com)
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
|
// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
|
||||||
// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
|
// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
|
||||||
//
|
//
|
||||||
// Distributed under the Boost Software License, Version 1.0. (See
|
// Distributed under the Boost Software License, Version 1.0. (See
|
||||||
// accompanying file LICENSE_1_0.txt or copy at
|
// accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt)
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
#ifndef BOOST_GRAPH_MST_KRUSKAL_HPP
|
#ifndef BOOST_GRAPH_MST_KRUSKAL_HPP
|
||||||
#define BOOST_GRAPH_MST_KRUSKAL_HPP
|
#define BOOST_GRAPH_MST_KRUSKAL_HPP
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*Minimum Spanning Tree
|
*Minimum Spanning Tree
|
||||||
* Kruskal Algorithm
|
* Kruskal Algorithm
|
||||||
*
|
*
|
||||||
*Requirement:
|
*Requirement:
|
||||||
* undirected graph
|
* undirected graph
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
#include <boost/property_map.hpp>
|
#include <boost/property_map.hpp>
|
||||||
#include <boost/graph/graph_concepts.hpp>
|
#include <boost/graph/graph_concepts.hpp>
|
||||||
#include <boost/graph/named_function_params.hpp>
|
#include <boost/graph/named_function_params.hpp>
|
||||||
#include <boost/pending/disjoint_sets.hpp>
|
#include <boost/pending/disjoint_sets.hpp>
|
||||||
#include <boost/pending/indirect_cmp.hpp>
|
#include <boost/pending/indirect_cmp.hpp>
|
||||||
|
|
||||||
|
|
||||||
namespace boost {
|
namespace boost {
|
||||||
|
|
||||||
// Kruskal's algorithm for Minimum Spanning Tree
|
// Kruskal's algorithm for Minimum Spanning Tree
|
||||||
//
|
//
|
||||||
// This is a greedy algorithm to calculate the Minimum Spanning Tree
|
// This is a greedy algorithm to calculate the Minimum Spanning Tree
|
||||||
// for an undirected graph with weighted edges. The output will be a
|
// for an undirected graph with weighted edges. The output will be a
|
||||||
// set of edges.
|
// set of edges.
|
||||||
//
|
//
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
template <class Graph, class OutputIterator,
|
template <class Graph, class OutputIterator,
|
||||||
class Rank, class Parent, class Weight>
|
class Rank, class Parent, class Weight>
|
||||||
void
|
void
|
||||||
kruskal_mst_impl(const Graph& G,
|
kruskal_mst_impl(const Graph& G,
|
||||||
OutputIterator spanning_tree_edges,
|
OutputIterator spanning_tree_edges,
|
||||||
Rank rank, Parent parent, Weight weight)
|
Rank rank, Parent parent, Weight weight)
|
||||||
{
|
{
|
||||||
typedef typename graph_traits<Graph const>::vertex_descriptor Vertex;
|
typedef typename graph_traits<Graph const>::vertex_descriptor Vertex;
|
||||||
typedef typename graph_traits<Graph const>::edge_descriptor Edge;
|
typedef typename graph_traits<Graph const>::edge_descriptor Edge;
|
||||||
//function_requires<VertexListGraphConcept<Graph> >();
|
//function_requires<VertexListGraphConcept<Graph> >();
|
||||||
//function_requires<EdgeListGraphConcept<Graph> >();
|
//function_requires<EdgeListGraphConcept<Graph> >();
|
||||||
//function_requires<OutputIteratorConcept<OutputIterator, Edge> >();
|
//function_requires<OutputIteratorConcept<OutputIterator, Edge> >();
|
||||||
//function_requires<ReadWritePropertyMapConcept<Rank, Vertex> >();
|
//function_requires<ReadWritePropertyMapConcept<Rank, Vertex> >();
|
||||||
//function_requires<ReadWritePropertyMapConcept<Parent, Vertex> >();
|
//function_requires<ReadWritePropertyMapConcept<Parent, Vertex> >();
|
||||||
//function_requires<ReadablePropertyMapConcept<Weight, Edge> >();
|
//function_requires<ReadablePropertyMapConcept<Weight, Edge> >();
|
||||||
typedef typename property_traits<Weight>::value_type W_value;
|
typedef typename property_traits<Weight>::value_type W_value;
|
||||||
typedef typename property_traits<Rank>::value_type R_value;
|
typedef typename property_traits<Rank>::value_type R_value;
|
||||||
typedef typename property_traits<Parent>::value_type P_value;
|
typedef typename property_traits<Parent>::value_type P_value;
|
||||||
//function_requires<ComparableConcept<W_value> >();
|
//function_requires<ComparableConcept<W_value> >();
|
||||||
//function_requires<ConvertibleConcept<P_value, Vertex> >();
|
//function_requires<ConvertibleConcept<P_value, Vertex> >();
|
||||||
//function_requires<IntegerConcept<R_value> >();
|
//function_requires<IntegerConcept<R_value> >();
|
||||||
|
|
||||||
disjoint_sets<Rank, Parent> dset(rank, parent);
|
disjoint_sets<Rank, Parent> dset(rank, parent);
|
||||||
|
|
||||||
typename graph_traits<Graph const>::vertex_iterator ui, uiend;
|
typename graph_traits<Graph const>::vertex_iterator ui, uiend;
|
||||||
for (boost::tie(ui, uiend) = vertices(G); ui != uiend; ++ui)
|
for (boost::tie(ui, uiend) = vertices(G); ui != uiend; ++ui)
|
||||||
dset.make_set(*ui);
|
dset.make_set(*ui);
|
||||||
|
|
||||||
typedef indirect_cmp<Weight, std::greater<W_value> > weight_greater;
|
typedef indirect_cmp<Weight, std::greater<W_value> > weight_greater;
|
||||||
weight_greater wl(weight);
|
weight_greater wl(weight);
|
||||||
std::priority_queue<Edge, std::vector<Edge>, weight_greater> Q(wl);
|
std::priority_queue<Edge, std::vector<Edge>, weight_greater> Q(wl);
|
||||||
/*push all edge into Q*/
|
/*push all edge into Q*/
|
||||||
typename graph_traits<Graph const>::edge_iterator ei, eiend;
|
typename graph_traits<Graph const>::edge_iterator ei, eiend;
|
||||||
for (boost::tie(ei, eiend) = edges(G); ei != eiend; ++ei)
|
for (boost::tie(ei, eiend) = edges(G); ei != eiend; ++ei)
|
||||||
Q.push(*ei);
|
Q.push(*ei);
|
||||||
|
|
||||||
while (! Q.empty()) {
|
while (! Q.empty()) {
|
||||||
Edge e = Q.top();
|
Edge e = Q.top();
|
||||||
Q.pop();
|
Q.pop();
|
||||||
Vertex u = dset.find_set(source(e, G));
|
Vertex u = dset.find_set(source(e, G));
|
||||||
Vertex v = dset.find_set(target(e, G));
|
Vertex v = dset.find_set(target(e, G));
|
||||||
if ( u != v ) {
|
if ( u != v ) {
|
||||||
*spanning_tree_edges++ = e;
|
*spanning_tree_edges++ = e;
|
||||||
dset.link(u, v);
|
dset.link(u, v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
// Named Parameters Variants
|
// Named Parameters Variants
|
||||||
|
|
||||||
template <class Graph, class OutputIterator>
|
template <class Graph, class OutputIterator>
|
||||||
inline void
|
inline void
|
||||||
kruskal_minimum_spanning_tree(const Graph& g,
|
kruskal_minimum_spanning_tree(const Graph& g,
|
||||||
OutputIterator spanning_tree_edges)
|
OutputIterator spanning_tree_edges)
|
||||||
{
|
{
|
||||||
typedef typename graph_traits<Graph>::vertices_size_type size_type;
|
typedef typename graph_traits<Graph>::vertices_size_type size_type;
|
||||||
typedef typename graph_traits<Graph const>::vertex_descriptor vertex_t;
|
typedef typename graph_traits<Graph const>::vertex_descriptor vertex_t;
|
||||||
typedef typename property_map<Graph, vertex_index_t>::type index_map_t;
|
typedef typename property_map<Graph, vertex_index_t>::type index_map_t;
|
||||||
typename graph_traits<Graph>::vertices_size_type
|
typename graph_traits<Graph>::vertices_size_type
|
||||||
n = num_vertices(g);
|
n = num_vertices(g);
|
||||||
std::vector<size_type> rank_map(n);
|
std::vector<size_type> rank_map(n);
|
||||||
std::vector<vertex_t> pred_map(n);
|
std::vector<vertex_t> pred_map(n);
|
||||||
|
|
||||||
detail::kruskal_mst_impl
|
detail::kruskal_mst_impl
|
||||||
(g, spanning_tree_edges,
|
(g, spanning_tree_edges,
|
||||||
make_iterator_property_map(rank_map.begin(), get(vertex_index, g), rank_map[0]),
|
make_iterator_property_map(rank_map.begin(), get(vertex_index, g), rank_map[0]),
|
||||||
make_iterator_property_map(pred_map.begin(), get(vertex_index, g), pred_map[0]),
|
make_iterator_property_map(pred_map.begin(), get(vertex_index, g), pred_map[0]),
|
||||||
get(edge_weight, g));
|
get(edge_weight, g));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class Graph, class OutputIterator, class P, class T, class R>
|
template <class Graph, class OutputIterator, class P, class T, class R>
|
||||||
inline void
|
inline void
|
||||||
kruskal_minimum_spanning_tree(const Graph& g,
|
kruskal_minimum_spanning_tree(const Graph& g,
|
||||||
|
|
||||||
OutputIterator spanning_tree_edges,
|
OutputIterator spanning_tree_edges,
|
||||||
const bgl_named_params<P, T, R>& params)
|
const bgl_named_params<P, T, R>& params)
|
||||||
{
|
{
|
||||||
typedef typename graph_traits<Graph>::vertices_size_type size_type;
|
typedef typename graph_traits<Graph>::vertices_size_type size_type;
|
||||||
typedef typename graph_traits<Graph const>::vertex_descriptor vertex_t;
|
typedef typename graph_traits<Graph const>::vertex_descriptor vertex_t;
|
||||||
typename graph_traits<Graph>::vertices_size_type n;
|
typename graph_traits<Graph>::vertices_size_type n;
|
||||||
n = is_default_param(get_param(params, vertex_rank))
|
n = is_default_param(get_param(params, vertex_rank))
|
||||||
? num_vertices(g) : 1;
|
? num_vertices(g) : 1;
|
||||||
std::vector<size_type> rank_map(n);
|
std::vector<size_type> rank_map(n);
|
||||||
n = is_default_param(get_param(params, vertex_predecessor))
|
n = is_default_param(get_param(params, vertex_predecessor))
|
||||||
? num_vertices(g) : 1;
|
? num_vertices(g) : 1;
|
||||||
std::vector<vertex_t> pred_map(n);
|
std::vector<vertex_t> pred_map(n);
|
||||||
|
|
||||||
detail::kruskal_mst_impl
|
detail::kruskal_mst_impl
|
||||||
(g, spanning_tree_edges,
|
(g, spanning_tree_edges,
|
||||||
choose_param
|
choose_param
|
||||||
(get_param(params, vertex_rank),
|
(get_param(params, vertex_rank),
|
||||||
make_iterator_property_map
|
make_iterator_property_map
|
||||||
(rank_map.begin(),
|
(rank_map.begin(),
|
||||||
choose_const_pmap(get_param(params, vertex_index), g, vertex_index), rank_map[0])),
|
choose_const_pmap(get_param(params, vertex_index), g, vertex_index), rank_map[0])),
|
||||||
choose_param
|
choose_param
|
||||||
(get_param(params, vertex_predecessor),
|
(get_param(params, vertex_predecessor),
|
||||||
make_iterator_property_map
|
make_iterator_property_map
|
||||||
(pred_map.begin(),
|
(pred_map.begin(),
|
||||||
choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
|
choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
|
||||||
pred_map[0])),
|
pred_map[0])),
|
||||||
choose_const_pmap(get_param(params, edge_weight), g, edge_weight));
|
choose_const_pmap(get_param(params, edge_weight), g, edge_weight));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace boost
|
} // namespace boost
|
||||||
|
|
||||||
|
|
||||||
#endif // BOOST_GRAPH_MST_KRUSKAL_HPP
|
#endif // BOOST_GRAPH_MST_KRUSKAL_HPP
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,27 @@
|
||||||
// Copyright (c) 1997-2007 Utrecht University (The Netherlands),
|
// Copyright (c) 2007 Utrecht University (The Netherlands),
|
||||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||||
// and Tel-Aviv University (Israel). All rights reserved.
|
// and Tel-Aviv University (Israel). All rights reserved.
|
||||||
//
|
//
|
||||||
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
|
// 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
|
// 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.
|
// published by the Free Software Foundation; version 2.1 of the License.
|
||||||
// See the file LICENSE.LGPL distributed with CGAL.
|
// See the file LICENSE.LGPL distributed with CGAL.
|
||||||
//
|
//
|
||||||
// Licensees holding a valid commercial license may use this file in
|
// Licensees holding a valid commercial license may use this file in
|
||||||
// accordance with the commercial license agreement provided with the software.
|
// accordance with the commercial license agreement provided with the software.
|
||||||
//
|
//
|
||||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
//
|
//
|
||||||
// $URL: svn+ssh://CGAL/svn/cgal/trunk/Installation/include/CGAL/Sun_fixes.h $
|
// $URL$
|
||||||
// $Id: Sun_fixes.h 28904 2006-02-28 15:11:51Z glisse $
|
// $Id$
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// Author(s) : Fernando Cacciola (fernando.cacciola@geometryfactory.com)
|
// Author(s) : Fernando Cacciola (fernando.cacciola@geometryfactory.com)
|
||||||
|
|
||||||
//
|
//
|
||||||
// This file is generated by install_cgal for non-windows compilers (or cl.exe but via cygwin)
|
// This file is for non-windows compilers running in non-windows platforms (such as cl.exe via cygwin)
|
||||||
// The real file (for MSVC) is in /CGAL/config/msvc/CGAL/auto_link.h
|
// The real file (for MSVC) is in /CGAL/config/msvc/CGAL/auto_link.h
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -1,152 +1,152 @@
|
||||||
// Copyright (c) 2003 Utrecht University (The Netherlands),
|
// Copyright (c) 2003 Utrecht University (The Netherlands),
|
||||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||||
// and Tel-Aviv University (Israel). All rights reserved.
|
// and Tel-Aviv University (Israel). All rights reserved.
|
||||||
//
|
//
|
||||||
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
|
// 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
|
// 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.
|
// published by the Free Software Foundation; version 2.1 of the License.
|
||||||
// See the file LICENSE.LGPL distributed with CGAL.
|
// See the file LICENSE.LGPL distributed with CGAL.
|
||||||
//
|
//
|
||||||
// Licensees holding a valid commercial license may use this file in
|
// Licensees holding a valid commercial license may use this file in
|
||||||
// accordance with the commercial license agreement provided with the software.
|
// accordance with the commercial license agreement provided with the software.
|
||||||
//
|
//
|
||||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
//
|
//
|
||||||
// $URL: svn+ssh://CGAL/svn/cgal/trunk/STL_Extension/include/CGAL/Iterator_transform.h $
|
// $URL$
|
||||||
// $Id: Iterator_transform.h 28567 2006-02-16 14:30:13Z lsaboret $
|
// $Id$
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// Author(s) : Michael Hoffmann <hoffmann@inf.ethz.ch>
|
// Author(s) : Michael Hoffmann <hoffmann@inf.ethz.ch>
|
||||||
// Lutz Kettner <kettner@mpi-sb.mpg.de>
|
// Lutz Kettner <kettner@mpi-sb.mpg.de>
|
||||||
// Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
|
// Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
|
||||||
// Fernando Cacciola <fernando.cacciola@geometryfactory.com>
|
// Fernando Cacciola <fernando.cacciola@geometryfactory.com>
|
||||||
|
|
||||||
#ifndef CGAL_ITERATOR_TRANSFORM_H
|
#ifndef CGAL_ITERATOR_TRANSFORM_H
|
||||||
#define CGAL_ITERATOR_TRANSFORM_H 1
|
#define CGAL_ITERATOR_TRANSFORM_H 1
|
||||||
|
|
||||||
#include <CGAL/Iterator_project.h>
|
#include <CGAL/Iterator_project.h>
|
||||||
|
|
||||||
CGAL_BEGIN_NAMESPACE
|
CGAL_BEGIN_NAMESPACE
|
||||||
|
|
||||||
template < class I, class Fct>
|
template < class I, class Fct>
|
||||||
class Iterator_transform {
|
class Iterator_transform {
|
||||||
protected:
|
protected:
|
||||||
I nt; // The internal iterator.
|
I nt; // The internal iterator.
|
||||||
public:
|
public:
|
||||||
typedef Iterator_transform<I,Fct> Self;
|
typedef Iterator_transform<I,Fct> Self;
|
||||||
typedef I Iterator; // base iterator
|
typedef I Iterator; // base iterator
|
||||||
typedef std::iterator_traits<I> traits;
|
typedef std::iterator_traits<I> traits;
|
||||||
typedef typename traits::difference_type difference_type;
|
typedef typename traits::difference_type difference_type;
|
||||||
typedef typename traits::iterator_category iterator_category;
|
typedef typename traits::iterator_category iterator_category;
|
||||||
typedef typename traits::value_type base_value_type;
|
typedef typename traits::value_type base_value_type;
|
||||||
typedef typename traits::pointer base_pointer;
|
typedef typename traits::pointer base_pointer;
|
||||||
typedef typename traits::reference base_reference;
|
typedef typename traits::reference base_reference;
|
||||||
|
|
||||||
typedef typename Fct::argument_type argument_type;
|
typedef typename Fct::argument_type argument_type;
|
||||||
typedef typename Fct::result_type value_type;
|
typedef typename Fct::result_type value_type;
|
||||||
|
|
||||||
|
|
||||||
// This iterator returns rvalues by design (allowing the conversion function to return new objects)
|
// This iterator returns rvalues by design (allowing the conversion function to return new objects)
|
||||||
typedef value_type reference;
|
typedef value_type reference;
|
||||||
|
|
||||||
// Use I_TYPE_MATCH_IF to find correct pointer type.
|
// Use I_TYPE_MATCH_IF to find correct pointer type.
|
||||||
typedef I_TYPE_MATCH_IF< base_pointer, const base_value_type *,
|
typedef I_TYPE_MATCH_IF< base_pointer, const base_value_type *,
|
||||||
const value_type *, value_type *> Match2;
|
const value_type *, value_type *> Match2;
|
||||||
typedef typename Match2::Result pointer;
|
typedef typename Match2::Result pointer;
|
||||||
|
|
||||||
// CREATION
|
// CREATION
|
||||||
// --------
|
// --------
|
||||||
|
|
||||||
Iterator_transform() {}
|
Iterator_transform() {}
|
||||||
Iterator_transform( I j) : nt(j) {}
|
Iterator_transform( I j) : nt(j) {}
|
||||||
|
|
||||||
// make two iterators assignable if the underlying iterators are
|
// make two iterators assignable if the underlying iterators are
|
||||||
template <class I2>
|
template <class I2>
|
||||||
Iterator_transform( const Iterator_transform<I2,Fct>& i2)
|
Iterator_transform( const Iterator_transform<I2,Fct>& i2)
|
||||||
: nt( i2.current_iterator()) {}
|
: nt( i2.current_iterator()) {}
|
||||||
|
|
||||||
template <class I2>
|
template <class I2>
|
||||||
Self& operator= ( const Iterator_transform<I2,Fct>& i2) {
|
Self& operator= ( const Iterator_transform<I2,Fct>& i2) {
|
||||||
nt = i2.current_iterator();
|
nt = i2.current_iterator();
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OPERATIONS Forward Category
|
// OPERATIONS Forward Category
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
|
|
||||||
Iterator current_iterator() const { return nt;}
|
Iterator current_iterator() const { return nt;}
|
||||||
bool operator==( const Self& i) const { return ( nt == i.nt); }
|
bool operator==( const Self& i) const { return ( nt == i.nt); }
|
||||||
bool operator!=( const Self& i) const { return !(*this == i); }
|
bool operator!=( const Self& i) const { return !(*this == i); }
|
||||||
|
|
||||||
reference operator* () const
|
reference operator* () const
|
||||||
{
|
{
|
||||||
Fct fct;
|
Fct fct;
|
||||||
return fct(*nt);
|
return fct(*nt);
|
||||||
}
|
}
|
||||||
|
|
||||||
Self& operator++() {
|
Self& operator++() {
|
||||||
++nt;
|
++nt;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
Self operator++(int) {
|
Self operator++(int) {
|
||||||
Self tmp = *this;
|
Self tmp = *this;
|
||||||
++*this;
|
++*this;
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OPERATIONS Bidirectional Category
|
// OPERATIONS Bidirectional Category
|
||||||
// ---------------------------------
|
// ---------------------------------
|
||||||
|
|
||||||
Self& operator--() {
|
Self& operator--() {
|
||||||
--nt;
|
--nt;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
Self operator--(int) {
|
Self operator--(int) {
|
||||||
Self tmp = *this;
|
Self tmp = *this;
|
||||||
--*this;
|
--*this;
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OPERATIONS Random Access Category
|
// OPERATIONS Random Access Category
|
||||||
// ---------------------------------
|
// ---------------------------------
|
||||||
|
|
||||||
Self& operator+=( difference_type n) {
|
Self& operator+=( difference_type n) {
|
||||||
nt += n;
|
nt += n;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
Self operator+( difference_type n) const {
|
Self operator+( difference_type n) const {
|
||||||
Self tmp = *this;
|
Self tmp = *this;
|
||||||
return tmp += n;
|
return tmp += n;
|
||||||
}
|
}
|
||||||
Self& operator-=( difference_type n) {
|
Self& operator-=( difference_type n) {
|
||||||
return operator+=( -n);
|
return operator+=( -n);
|
||||||
}
|
}
|
||||||
Self operator-( difference_type n) const {
|
Self operator-( difference_type n) const {
|
||||||
Self tmp = *this;
|
Self tmp = *this;
|
||||||
return tmp += -n;
|
return tmp += -n;
|
||||||
}
|
}
|
||||||
difference_type operator-( const Self& i) const { return nt - i.nt; }
|
difference_type operator-( const Self& i) const { return nt - i.nt; }
|
||||||
reference operator[]( difference_type n) const {
|
reference operator[]( difference_type n) const {
|
||||||
Self tmp = *this;
|
Self tmp = *this;
|
||||||
tmp += n;
|
tmp += n;
|
||||||
return tmp.operator*();
|
return tmp.operator*();
|
||||||
}
|
}
|
||||||
bool operator< ( const Self& i) const { return ( nt < i.nt); }
|
bool operator< ( const Self& i) const { return ( nt < i.nt); }
|
||||||
bool operator> ( const Self& i) const { return i < *this; }
|
bool operator> ( const Self& i) const { return i < *this; }
|
||||||
bool operator<=( const Self& i) const { return !(i < *this); }
|
bool operator<=( const Self& i) const { return !(i < *this); }
|
||||||
bool operator>=( const Self& i) const { return !(*this < i); }
|
bool operator>=( const Self& i) const { return !(*this < i); }
|
||||||
};
|
};
|
||||||
|
|
||||||
template < class Dist, class Fct, class I>
|
template < class Dist, class Fct, class I>
|
||||||
inline
|
inline
|
||||||
Iterator_transform<I,Fct>
|
Iterator_transform<I,Fct>
|
||||||
operator+( Dist n, Iterator_transform<I,Fct> i) {
|
operator+( Dist n, Iterator_transform<I,Fct> i) {
|
||||||
return i += n;
|
return i += n;
|
||||||
}
|
}
|
||||||
|
|
||||||
CGAL_END_NAMESPACE
|
CGAL_END_NAMESPACE
|
||||||
#endif // CGAL_Iterator_transform_H //
|
#endif // CGAL_Iterator_transform_H //
|
||||||
// EOF //
|
// EOF //
|
||||||
|
|
|
||||||
|
|
@ -29,10 +29,10 @@ if [ -d $h ]; then
|
||||||
k=`echo $i|sed -e "s/\.$ext//"`;
|
k=`echo $i|sed -e "s/\.$ext//"`;
|
||||||
|
|
||||||
# Create $jp VC++ 7.1 project file if it doesn't exist
|
# Create $jp VC++ 7.1 project file if it doesn't exist
|
||||||
jp=`echo $i|sed -e "s/\.$ext/\_VC71.vcproj/"`;
|
jp=`echo $i|sed -e "s/\.$ext/\_71.vcproj/"`;
|
||||||
if [[ ! -e $jp ]]; then
|
if [[ ! -e $jp ]]; then
|
||||||
echo "Creating $jp"
|
echo "Creating $jp"
|
||||||
sed -e"s/master/$k/g" ../../developer_scripts/examples/master_VC71.vcproj > ./text/temp.txt;
|
sed -e"s/master/$k/g" ../../developer_scripts/examples/master_71.vcproj > ./text/temp.txt;
|
||||||
sed -e"s/EXT/$ext/g" ./text/temp.txt > ./text/temp2.txt;
|
sed -e"s/EXT/$ext/g" ./text/temp.txt > ./text/temp2.txt;
|
||||||
sed -e"s/test_msvc71.exe/$ofn/g" ./text/temp2.txt > ./text/temp3.txt;
|
sed -e"s/test_msvc71.exe/$ofn/g" ./text/temp2.txt > ./text/temp3.txt;
|
||||||
sed -e"s/test_msvc71/$k/g" ./text/temp3.txt > ./text/$jp;
|
sed -e"s/test_msvc71/$k/g" ./text/temp3.txt > ./text/$jp;
|
||||||
|
|
@ -41,10 +41,10 @@ if [ -d $h ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create $jp VC++ 8.0 project file if it doesn't exist
|
# Create $jp VC++ 8.0 project file if it doesn't exist
|
||||||
jp=`echo $i|sed -e "s/\.$ext/\_VC80.vcproj/"`;
|
jp=`echo $i|sed -e "s/\.$ext/\_80.vcproj/"`;
|
||||||
if [[ ! -e $jp ]]; then
|
if [[ ! -e $jp ]]; then
|
||||||
echo "Creating $jp"
|
echo "Creating $jp"
|
||||||
sed -e"s/master/$k/g" ../../developer_scripts/examples/master_VC80.vcproj > ./text/temp.txt;
|
sed -e"s/master/$k/g" ../../developer_scripts/examples/master_80.vcproj > ./text/temp.txt;
|
||||||
sed -e"s/EXT/$ext/g" ./text/temp.txt > ./text/temp2.txt;
|
sed -e"s/EXT/$ext/g" ./text/temp.txt > ./text/temp2.txt;
|
||||||
sed -e"s/test_msvc80.exe/$ofn/g" ./text/temp2.txt > ./text/temp3.txt;
|
sed -e"s/test_msvc80.exe/$ofn/g" ./text/temp2.txt > ./text/temp3.txt;
|
||||||
sed -e"s/test_msvc80/$k/g" ./text/temp3.txt > ./text/$jp;
|
sed -e"s/test_msvc80/$k/g" ./text/temp3.txt > ./text/$jp;
|
||||||
|
|
|
||||||
|
|
@ -1,331 +1,331 @@
|
||||||
// This header file is a copy of "boost/config/auto_link.hpp"
|
// This header file is a copy of "boost/config/auto_link.hpp"
|
||||||
// but slightly modified to accomodate CGAL libraries.
|
// but slightly modified to accomodate CGAL libraries.
|
||||||
//
|
//
|
||||||
// Modified for CGAL by:
|
// Modified for CGAL by:
|
||||||
// Fernando Cacciola
|
// Fernando Cacciola
|
||||||
// February 2007
|
// February 2007
|
||||||
//
|
//
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// (C) Copyright John Maddock 2003.
|
// (C) Copyright John Maddock 2003.
|
||||||
// Use, modification and distribution are subject to the
|
// Use, modification and distribution are subject to the
|
||||||
// Boost Software License, Version 1.0. (See accompanying file
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
|
|
||||||
USAGE:
|
USAGE:
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
Before including this header you must define one or more of define the following macros:
|
Before including this header you must define one or more of define the following macros:
|
||||||
|
|
||||||
CGAL_LIB_NAME: Required: A string containing the basename of the library,
|
CGAL_LIB_NAME: Required: A string containing the basename of the library,
|
||||||
for example boost_regex.
|
for example boost_regex.
|
||||||
CGAL_LIB_TOOLSET: Optional: the base name of the toolset.
|
CGAL_LIB_TOOLSET: Optional: the base name of the toolset.
|
||||||
CGAL_LIB_DIAGNOSTIC: Optional: when set the header will print out the name
|
CGAL_LIB_DIAGNOSTIC: Optional: when set the header will print out the name
|
||||||
of the library selected (useful for debugging).
|
of the library selected (useful for debugging).
|
||||||
CGAL_AUTO_LINK_NOMANGLE: Specifies that we should link to CGAL_LIB_NAME.lib,
|
CGAL_AUTO_LINK_NOMANGLE: Specifies that we should link to CGAL_LIB_NAME.lib,
|
||||||
rather than a mangled-name version.
|
rather than a mangled-name version.
|
||||||
|
|
||||||
ALL these macros will be undef'ed at the end of the header, even though they are defined from the outside.
|
ALL these macros will be undef'ed at the end of the header, even though they are defined from the outside.
|
||||||
That means you must always define them before including this.
|
That means you must always define them before including this.
|
||||||
|
|
||||||
Further, this header has no include guards because you can reuse it several times with different
|
Further, this header has no include guards because you can reuse it several times with different
|
||||||
macros (arguments) in order to link different libraries.
|
macros (arguments) in order to link different libraries.
|
||||||
Be sure to include it only once for each target library!
|
Be sure to include it only once for each target library!
|
||||||
|
|
||||||
Algorithm:
|
Algorithm:
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
|
||||||
Libraries for Borland and Microsoft compilers are automatically
|
Libraries for Borland and Microsoft compilers are automatically
|
||||||
selected here, the name of the lib is selected according to the following
|
selected here, the name of the lib is selected according to the following
|
||||||
formula:
|
formula:
|
||||||
|
|
||||||
CGAL_LIB_NAME
|
CGAL_LIB_NAME
|
||||||
+ "_"
|
+ "_"
|
||||||
+ CGAL_LIB_TOOLSET
|
+ CGAL_LIB_TOOLSET
|
||||||
+ CGAL_LIB_THREAD_OPT
|
+ CGAL_LIB_THREAD_OPT
|
||||||
+ CGAL_LIB_RT_OPT
|
+ CGAL_LIB_RT_OPT
|
||||||
|
|
||||||
These are defined as:
|
These are defined as:
|
||||||
|
|
||||||
CGAL_LIB_NAME: The base name of the lib ( for example boost_regex).
|
CGAL_LIB_NAME: The base name of the lib ( for example boost_regex).
|
||||||
|
|
||||||
CGAL_LIB_TOOLSET: The compiler toolset name (vc71, vc80 etc).
|
CGAL_LIB_TOOLSET: The compiler toolset name (vc71, vc80 etc).
|
||||||
|
|
||||||
CGAL_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
|
CGAL_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
|
||||||
|
|
||||||
CGAL_LIB_RT_OPT: A suffix that indicates the runtime library used,
|
CGAL_LIB_RT_OPT: A suffix that indicates the runtime library used,
|
||||||
contains one or more of the following letters after
|
contains one or more of the following letters after
|
||||||
a hiphen:
|
a hiphen:
|
||||||
|
|
||||||
s static runtime (dynamic if not present).
|
s static runtime (dynamic if not present).
|
||||||
d debug build (release if not present).
|
d debug build (release if not present).
|
||||||
g debug/diagnostic runtime (release if not present).
|
g debug/diagnostic runtime (release if not present).
|
||||||
p STLPort Build.
|
p STLPort Build.
|
||||||
|
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
# ifndef BOOST_CONFIG_HPP
|
# ifndef BOOST_CONFIG_HPP
|
||||||
# include <boost/config.hpp>
|
# include <boost/config.hpp>
|
||||||
# endif
|
# endif
|
||||||
#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
|
#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
|
||||||
//
|
//
|
||||||
// C language compatability (no, honestly)
|
// C language compatability (no, honestly)
|
||||||
//
|
//
|
||||||
# define BOOST_MSVC _MSC_VER
|
# define BOOST_MSVC _MSC_VER
|
||||||
# define BOOST_STRINGIZEIZE(X) BOOST_DO_STRINGIZE(X)
|
# define BOOST_STRINGIZEIZE(X) BOOST_DO_STRINGIZE(X)
|
||||||
# define BOOST_DO_STRINGIZE(X) #X
|
# define BOOST_DO_STRINGIZE(X) #X
|
||||||
#endif
|
#endif
|
||||||
//
|
//
|
||||||
// Only include what follows for known and supported compilers:
|
// Only include what follows for known and supported compilers:
|
||||||
//
|
//
|
||||||
#if defined(BOOST_MSVC) \
|
#if defined(BOOST_MSVC) \
|
||||||
|| defined(__BORLANDC__) \
|
|| defined(__BORLANDC__) \
|
||||||
|| (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
|
|| (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
|
||||||
|| (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
|
|| (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
|
||||||
|
|
||||||
#ifndef CGAL_LIB_NAME
|
#ifndef CGAL_LIB_NAME
|
||||||
# error "Macro CGAL_LIB_NAME not set (internal error)"
|
# error "Macro CGAL_LIB_NAME not set (internal error)"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// error check:
|
// error check:
|
||||||
//
|
//
|
||||||
#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
|
#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
|
||||||
# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
|
# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
|
||||||
# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
|
# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
|
||||||
# error "Incompatible build options"
|
# error "Incompatible build options"
|
||||||
#endif
|
#endif
|
||||||
//
|
//
|
||||||
// select toolset if not defined already:
|
// select toolset if not defined already:
|
||||||
//
|
//
|
||||||
#ifndef CGAL_LIB_TOOLSET
|
#ifndef CGAL_LIB_TOOLSET
|
||||||
#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200)
|
#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200)
|
||||||
|
|
||||||
// vc6:
|
// vc6:
|
||||||
# define CGAL_LIB_TOOLSET "vc6"
|
# define CGAL_LIB_TOOLSET "vc6"
|
||||||
|
|
||||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
|
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
|
||||||
|
|
||||||
// vc7:
|
// vc7:
|
||||||
# define CGAL_LIB_TOOLSET "vc7"
|
# define CGAL_LIB_TOOLSET "vc7"
|
||||||
|
|
||||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
|
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
|
||||||
|
|
||||||
// vc71:
|
// vc71:
|
||||||
# define CGAL_LIB_TOOLSET "vc71"
|
# define CGAL_LIB_TOOLSET "vc71"
|
||||||
|
|
||||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
|
#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
|
||||||
|
|
||||||
// vc80:
|
// vc80:
|
||||||
# define CGAL_LIB_TOOLSET "vc80"
|
# define CGAL_LIB_TOOLSET "vc80"
|
||||||
|
|
||||||
#elif defined(__BORLANDC__)
|
#elif defined(__BORLANDC__)
|
||||||
|
|
||||||
// CBuilder 6:
|
// CBuilder 6:
|
||||||
# define CGAL_LIB_TOOLSET "bcb"
|
# define CGAL_LIB_TOOLSET "bcb"
|
||||||
|
|
||||||
#elif defined(__ICL)
|
#elif defined(__ICL)
|
||||||
|
|
||||||
// Intel C++, no version number:
|
// Intel C++, no version number:
|
||||||
# define CGAL_LIB_TOOLSET "iw"
|
# define CGAL_LIB_TOOLSET "iw"
|
||||||
|
|
||||||
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
|
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
|
||||||
|
|
||||||
// Metrowerks CodeWarrior 8.x
|
// Metrowerks CodeWarrior 8.x
|
||||||
# define CGAL_LIB_TOOLSET "cw8"
|
# define CGAL_LIB_TOOLSET "cw8"
|
||||||
|
|
||||||
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
|
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
|
||||||
|
|
||||||
// Metrowerks CodeWarrior 9.x
|
// Metrowerks CodeWarrior 9.x
|
||||||
# define CGAL_LIB_TOOLSET "cw9"
|
# define CGAL_LIB_TOOLSET "cw9"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif // CGAL_LIB_TOOLSET
|
#endif // CGAL_LIB_TOOLSET
|
||||||
|
|
||||||
//
|
//
|
||||||
// select thread opt:
|
// select thread opt:
|
||||||
//
|
//
|
||||||
#if defined(_MT) || defined(__MT__)
|
#if defined(_MT) || defined(__MT__)
|
||||||
# define CGAL_LIB_THREAD_OPT "-mt"
|
# define CGAL_LIB_THREAD_OPT "-mt"
|
||||||
#else
|
#else
|
||||||
# define CGAL_LIB_THREAD_OPT
|
# define CGAL_LIB_THREAD_OPT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_MSC_VER) || defined(__MWERKS__)
|
#if defined(_MSC_VER) || defined(__MWERKS__)
|
||||||
|
|
||||||
# ifdef _DLL
|
# ifdef _DLL
|
||||||
|
|
||||||
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
||||||
|
|
||||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||||
# define CGAL_LIB_RT_OPT "-gdp"
|
# define CGAL_LIB_RT_OPT "-gdp"
|
||||||
# elif defined(_DEBUG)
|
# elif defined(_DEBUG)
|
||||||
# define CGAL_LIB_RT_OPT "-gdp"
|
# define CGAL_LIB_RT_OPT "-gdp"
|
||||||
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
|
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
|
||||||
# error "Build options aren't compatible with pre-built libraries"
|
# error "Build options aren't compatible with pre-built libraries"
|
||||||
# else
|
# else
|
||||||
# define CGAL_LIB_RT_OPT "-p"
|
# define CGAL_LIB_RT_OPT "-p"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||||
|
|
||||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||||
# define CGAL_LIB_RT_OPT "-gdpn"
|
# define CGAL_LIB_RT_OPT "-gdpn"
|
||||||
# elif defined(_DEBUG)
|
# elif defined(_DEBUG)
|
||||||
# define CGAL_LIB_RT_OPT "-gdpn"
|
# define CGAL_LIB_RT_OPT "-gdpn"
|
||||||
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
|
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
|
||||||
# error "Build options aren't compatible with pre-built libraries"
|
# error "Build options aren't compatible with pre-built libraries"
|
||||||
# else
|
# else
|
||||||
# define CGAL_LIB_RT_OPT "-pn"
|
# define CGAL_LIB_RT_OPT "-pn"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# else
|
# else
|
||||||
|
|
||||||
# if defined(_DEBUG)
|
# if defined(_DEBUG)
|
||||||
# define CGAL_LIB_RT_OPT "-gd"
|
# define CGAL_LIB_RT_OPT "-gd"
|
||||||
# else
|
# else
|
||||||
# define CGAL_LIB_RT_OPT
|
# define CGAL_LIB_RT_OPT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# else
|
# else
|
||||||
|
|
||||||
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
||||||
|
|
||||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||||
# define CGAL_LIB_RT_OPT "-sgdp"
|
# define CGAL_LIB_RT_OPT "-sgdp"
|
||||||
# elif defined(_DEBUG)
|
# elif defined(_DEBUG)
|
||||||
# define CGAL_LIB_RT_OPT "-sgdp"
|
# define CGAL_LIB_RT_OPT "-sgdp"
|
||||||
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
|
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
|
||||||
# error "Build options aren't compatible with pre-built libraries"
|
# error "Build options aren't compatible with pre-built libraries"
|
||||||
# else
|
# else
|
||||||
# define CGAL_LIB_RT_OPT "-sp"
|
# define CGAL_LIB_RT_OPT "-sp"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||||
|
|
||||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||||
# define CGAL_LIB_RT_OPT "-sgdpn"
|
# define CGAL_LIB_RT_OPT "-sgdpn"
|
||||||
# elif defined(_DEBUG)
|
# elif defined(_DEBUG)
|
||||||
# define CGAL_LIB_RT_OPT "-sgdpn"
|
# define CGAL_LIB_RT_OPT "-sgdpn"
|
||||||
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
|
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
|
||||||
# error "Build options aren't compatible with pre-built libraries"
|
# error "Build options aren't compatible with pre-built libraries"
|
||||||
# else
|
# else
|
||||||
# define CGAL_LIB_RT_OPT "-spn"
|
# define CGAL_LIB_RT_OPT "-spn"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# else
|
# else
|
||||||
|
|
||||||
# if defined(_DEBUG)
|
# if defined(_DEBUG)
|
||||||
# define CGAL_LIB_RT_OPT "-sgd"
|
# define CGAL_LIB_RT_OPT "-sgd"
|
||||||
# else
|
# else
|
||||||
# define CGAL_LIB_RT_OPT "-s"
|
# define CGAL_LIB_RT_OPT "-s"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#elif defined(__BORLANDC__)
|
#elif defined(__BORLANDC__)
|
||||||
|
|
||||||
//
|
//
|
||||||
// figure out whether we want the debug builds or not:
|
// figure out whether we want the debug builds or not:
|
||||||
//
|
//
|
||||||
#if __BORLANDC__ > 0x561
|
#if __BORLANDC__ > 0x561
|
||||||
#pragma defineonoption CGAL_BORLAND_DEBUG -v
|
#pragma defineonoption CGAL_BORLAND_DEBUG -v
|
||||||
#endif
|
#endif
|
||||||
//
|
//
|
||||||
// sanity check:
|
// sanity check:
|
||||||
//
|
//
|
||||||
#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
|
#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
|
||||||
#error "Pre-built versions of the CGAL libraries are not provided in STLPort-debug form"
|
#error "Pre-built versions of the CGAL libraries are not provided in STLPort-debug form"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# ifdef _RTLDLL
|
# ifdef _RTLDLL
|
||||||
|
|
||||||
# ifdef CGAL_BORLAND_DEBUG
|
# ifdef CGAL_BORLAND_DEBUG
|
||||||
# define CGAL_LIB_RT_OPT "-d"
|
# define CGAL_LIB_RT_OPT "-d"
|
||||||
# else
|
# else
|
||||||
# define CGAL_LIB_RT_OPT
|
# define CGAL_LIB_RT_OPT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# else
|
# else
|
||||||
|
|
||||||
# ifdef CGAL_BORLAND_DEBUG
|
# ifdef CGAL_BORLAND_DEBUG
|
||||||
# define CGAL_LIB_RT_OPT "-sd"
|
# define CGAL_LIB_RT_OPT "-sd"
|
||||||
# else
|
# else
|
||||||
# define CGAL_LIB_RT_OPT "-s"
|
# define CGAL_LIB_RT_OPT "-s"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// now include the lib:
|
// now include the lib:
|
||||||
//
|
//
|
||||||
#if defined(CGAL_LIB_NAME) \
|
#if defined(CGAL_LIB_NAME) \
|
||||||
&& defined(CGAL_LIB_TOOLSET) \
|
&& defined(CGAL_LIB_TOOLSET) \
|
||||||
&& defined(CGAL_LIB_THREAD_OPT) \
|
&& defined(CGAL_LIB_THREAD_OPT) \
|
||||||
&& defined(CGAL_LIB_RT_OPT) \
|
&& defined(CGAL_LIB_RT_OPT) \
|
||||||
|
|
||||||
#ifndef CGAL_AUTO_LINK_NOMANGLE
|
#ifndef CGAL_AUTO_LINK_NOMANGLE
|
||||||
# define CGAL_LIB_FULL_NAME BOOST_STRINGIZE(CGAL_LIB_NAME) "-" CGAL_LIB_TOOLSET CGAL_LIB_THREAD_OPT CGAL_LIB_RT_OPT ".lib"
|
# define CGAL_LIB_FULL_NAME BOOST_STRINGIZE(CGAL_LIB_NAME) "-" CGAL_LIB_TOOLSET CGAL_LIB_THREAD_OPT CGAL_LIB_RT_OPT ".lib"
|
||||||
#else
|
#else
|
||||||
# define CGAL_LIB_FULL_NAME BOOST_STRINGIZE(CGAL_LIB_NAME) ".lib"
|
# define CGAL_LIB_FULL_NAME BOOST_STRINGIZE(CGAL_LIB_NAME) ".lib"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CGAL_AUTO_LINK_NOMANGLE
|
#ifndef CGAL_AUTO_LINK_NOMANGLE
|
||||||
# pragma comment(lib, CGAL_LIB_FULL_NAME )
|
# pragma comment(lib, CGAL_LIB_FULL_NAME )
|
||||||
# ifdef CGAL_LIB_DIAGNOSTIC
|
# ifdef CGAL_LIB_DIAGNOSTIC
|
||||||
# pragma message ("Linking to lib file: " CGAL_LIB_FULL_NAME )
|
# pragma message ("Linking to lib file: " CGAL_LIB_FULL_NAME )
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
# error "some required macros where not defined (internal logic error)."
|
# error "some required macros where not defined (internal logic error)."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif // _MSC_VER || __BORLANDC__
|
#endif // _MSC_VER || __BORLANDC__
|
||||||
|
|
||||||
//
|
//
|
||||||
// finally undef any macros we may have set:
|
// finally undef any macros we may have set:
|
||||||
//
|
//
|
||||||
#if defined(CGAL_LIB_NAME)
|
#if defined(CGAL_LIB_NAME)
|
||||||
# undef CGAL_LIB_NAME
|
# undef CGAL_LIB_NAME
|
||||||
#endif
|
#endif
|
||||||
// Don't undef this one: it can be set by the user and should be the
|
// Don't undef this one: it can be set by the user and should be the
|
||||||
// same for all libraries:
|
// same for all libraries:
|
||||||
//#if defined(CGAL_LIB_TOOLSET)
|
//#if defined(CGAL_LIB_TOOLSET)
|
||||||
//# undef CGAL_LIB_TOOLSET
|
//# undef CGAL_LIB_TOOLSET
|
||||||
//#endif
|
//#endif
|
||||||
#if defined(CGAL_LIB_THREAD_OPT)
|
#if defined(CGAL_LIB_THREAD_OPT)
|
||||||
# undef CGAL_LIB_THREAD_OPT
|
# undef CGAL_LIB_THREAD_OPT
|
||||||
#endif
|
#endif
|
||||||
#if defined(CGAL_LIB_RT_OPT)
|
#if defined(CGAL_LIB_RT_OPT)
|
||||||
# undef CGAL_LIB_RT_OPT
|
# undef CGAL_LIB_RT_OPT
|
||||||
#endif
|
#endif
|
||||||
#if defined(CGAL_LIB_LINK_OPT)
|
#if defined(CGAL_LIB_LINK_OPT)
|
||||||
# undef CGAL_LIB_LINK_OPT
|
# undef CGAL_LIB_LINK_OPT
|
||||||
#endif
|
#endif
|
||||||
#if defined(CGAL_AUTO_LINK_NOMANGLE)
|
#if defined(CGAL_AUTO_LINK_NOMANGLE)
|
||||||
# undef CGAL_AUTO_LINK_NOMANGLE
|
# undef CGAL_AUTO_LINK_NOMANGLE
|
||||||
#endif
|
#endif
|
||||||
#if defined(CGAL_LIB_FULL_NAME)
|
#if defined(CGAL_LIB_FULL_NAME)
|
||||||
# undef CGAL_LIB_FULL_NAME
|
# undef CGAL_LIB_FULL_NAME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,289 +1,289 @@
|
||||||
// Copyright (c) 1996-2004 Utrecht University (The Netherlands),
|
// Copyright (c) 1996-2004 Utrecht University (The Netherlands),
|
||||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||||
// and Tel-Aviv University (Israel). All rights reserved.
|
// and Tel-Aviv University (Israel). All rights reserved.
|
||||||
//
|
//
|
||||||
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
|
// 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
|
// 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.
|
// published by the Free Software Foundation; version 2.1 of the License.
|
||||||
// See the file LICENSE.LGPL distributed with CGAL.
|
// See the file LICENSE.LGPL distributed with CGAL.
|
||||||
//
|
//
|
||||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
//
|
//
|
||||||
// Author(s): the install_cgal script
|
// Author(s): the install_cgal script
|
||||||
|
|
||||||
// Compiler specific configuration file for CGAL 3.2-I-437
|
// Compiler specific configuration file for CGAL 3.2-I-437
|
||||||
// System: i686_CYGWINNT-5.1_CL.EXE-1310
|
// System: i686_CYGWINNT-5.1_CL.EXE-1310
|
||||||
// generated by install_cgal 30348
|
// generated by install_cgal 30348
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_CCTYPE_MACRO_BUG is set, if a compiler defines the
|
//| The flag CGAL_CFG_CCTYPE_MACRO_BUG is set, if a compiler defines the
|
||||||
//| standard C library functions in cctype (isdigit etc.) as macros.
|
//| standard C library functions in cctype (isdigit etc.) as macros.
|
||||||
//| According to the standard they have to be functions.
|
//| According to the standard they have to be functions.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_CCTYPE_MACRO_BUG 1
|
//#define CGAL_CFG_CCTYPE_MACRO_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not properly parse comma separated
|
//| This flag is set, if the compiler does not properly parse comma separated
|
||||||
//| expressions in a base constructor call. (e.g. g++ 3.3).
|
//| expressions in a base constructor call. (e.g. g++ 3.3).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_COMMA_BUG 1
|
//#define CGAL_CFG_COMMA_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_CONVERSION_OPERATOR_BUG is set, if a compiler
|
//| The flag CGAL_CFG_CONVERSION_OPERATOR_BUG is set, if a compiler
|
||||||
//| crashes with some conversion operators. G++ 3.3.0 is affected by
|
//| crashes with some conversion operators. G++ 3.3.0 is affected by
|
||||||
//| this bug (it hits Darwin severely since it is the system compiler).
|
//| this bug (it hits Darwin severely since it is the system compiler).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_CONVERSION_OPERATOR_BUG 1
|
//#define CGAL_CFG_CONVERSION_OPERATOR_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler wants you to remove the word
|
//| This flag is set if the compiler wants you to remove the word
|
||||||
//| template in some complicated dependent types.
|
//| template in some complicated dependent types.
|
||||||
//| Any error with the message "Unexpected type name" is likely to be
|
//| Any error with the message "Unexpected type name" is likely to be
|
||||||
//| related to this bug in sunpro.
|
//| related to this bug in sunpro.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG 1
|
//#define CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs when handling denormal values at
|
//| This flag is set if the compiler bugs when handling denormal values at
|
||||||
//| compile time. At least PGCC 5.1-3 has the bug.
|
//| compile time. At least PGCC 5.1-3 has the bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_DENORMALS_COMPILE_BUG 1
|
//#define CGAL_CFG_DENORMALS_COMPILE_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with special features with IEEE 754
|
//| This flag is set if the compiler bugs with special features with IEEE 754
|
||||||
//| handling, concerning is_valid() and is_finite() testing of infinity and
|
//| handling, concerning is_valid() and is_finite() testing of infinity and
|
||||||
//| nans. The workaround is to use bitfield operations.
|
//| nans. The workaround is to use bitfield operations.
|
||||||
//| At least VC++, Borland and PGCC have the bug.
|
//| At least VC++, Borland and PGCC have the bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_IEEE_754_BUG 1
|
//#define CGAL_CFG_IEEE_754_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler (or assembler or linker) has problems with long names
|
//| If a compiler (or assembler or linker) has problems with long names
|
||||||
//| CGAL_CFG_LONGNAME_BUG is set.
|
//| CGAL_CFG_LONGNAME_BUG is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_LONGNAME_BUG 1
|
#define CGAL_CFG_LONGNAME_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not match function arguments
|
//| This flag is set, if the compiler does not match function arguments
|
||||||
//| of pointer type correctly, when the return type depends on
|
//| of pointer type correctly, when the return type depends on
|
||||||
//| the parameter's type. (e.g. sun C++ 5.3)
|
//| the parameter's type. (e.g. sun C++ 5.3)
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_3 1
|
//#define CGAL_CFG_MATCHING_BUG_3 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if a compiler cannot distinguish the signature
|
//| This flag is set, if a compiler cannot distinguish the signature
|
||||||
//| of overloaded function templates, which have arguments whose type
|
//| of overloaded function templates, which have arguments whose type
|
||||||
//| depends on the template parameter.
|
//| depends on the template parameter.
|
||||||
//| This bug appears for example on Sunpro 5.3 and 5.4.
|
//| This bug appears for example on Sunpro 5.3 and 5.4.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_4 1
|
//#define CGAL_CFG_MATCHING_BUG_4 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if a compiler cannot distinguish the signature
|
//| This flag is set, if a compiler cannot distinguish the signature
|
||||||
//| of overloaded function templates, which have one template parameter
|
//| of overloaded function templates, which have one template parameter
|
||||||
//| to be passed explicitely when being called.
|
//| to be passed explicitely when being called.
|
||||||
//| This bug appears for example on g++ 3.3 and 3.4.
|
//| This bug appears for example on g++ 3.3 and 3.4.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_5 1
|
//#define CGAL_CFG_MATCHING_BUG_5 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| VC 7.3 does not recognize when an operator in a class
|
//| VC 7.3 does not recognize when an operator in a class
|
||||||
//| redefines the operator with the same signature in a base class
|
//| redefines the operator with the same signature in a base class
|
||||||
//| It happens with the regular triangulation.
|
//| It happens with the regular triangulation.
|
||||||
//| No minimal testcase yet
|
//| No minimal testcase yet
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_MATCHING_BUG_6 1
|
#define CGAL_CFG_MATCHING_BUG_6 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG is set,
|
//| The flag CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG is set,
|
||||||
//| if the std::vector class does not have defined template constructors.
|
//| if the std::vector class does not have defined template constructors.
|
||||||
//| This is a feature of SunPro 5.5.
|
//| This is a feature of SunPro 5.5.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG 1
|
//#define CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.C is set
|
//| The flag CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.C is set
|
||||||
//| if the compiler cannot recognize the declaration of a nested
|
//| if the compiler cannot recognize the declaration of a nested
|
||||||
//| class as friend.
|
//| class as friend.
|
||||||
//| Compilers such as the Intel compiler 8.x (for linux or windows),
|
//| Compilers such as the Intel compiler 8.x (for linux or windows),
|
||||||
//| MSVC 7.1 or pgCC have this "bug". It should be noted that the C++
|
//| MSVC 7.1 or pgCC have this "bug". It should be noted that the C++
|
||||||
//| standard is a bit vague on this issue, in other words what is referred
|
//| standard is a bit vague on this issue, in other words what is referred
|
||||||
//| to as "bug" above, may not really be a bug. Hopefully, the next standard
|
//| to as "bug" above, may not really be a bug. Hopefully, the next standard
|
||||||
//| will resolve this issue.
|
//| will resolve this issue.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG 1
|
#define CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not match a member
|
//| This flag is set, if the compiler does not match a member
|
||||||
//| definition to an existing declaration (eg., cl1310 Beta).
|
//| definition to an existing declaration (eg., cl1310 Beta).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NET2003_MATCHING_BUG 1
|
#define CGAL_CFG_NET2003_MATCHING_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| When template implementation files are not included in the source files,
|
//| When template implementation files are not included in the source files,
|
||||||
//| a compiler may attempt to find the unincluded template bodies
|
//| a compiler may attempt to find the unincluded template bodies
|
||||||
//| automatically. For example, suppose that the following conditions are
|
//| automatically. For example, suppose that the following conditions are
|
||||||
//| all true.
|
//| all true.
|
||||||
//|
|
//|
|
||||||
//| - template entity ABC::f is declared in file xyz.h
|
//| - template entity ABC::f is declared in file xyz.h
|
||||||
//| - an instantiation of ABC::f is required in a compilation
|
//| - an instantiation of ABC::f is required in a compilation
|
||||||
//| - no definition of ABC::f appears in the source code processed by the
|
//| - no definition of ABC::f appears in the source code processed by the
|
||||||
//| compilation
|
//| compilation
|
||||||
//|
|
//|
|
||||||
//| In this case, the compiler may look to see if the source file xyz.n exists,
|
//| In this case, the compiler may look to see if the source file xyz.n exists,
|
||||||
//| where n is .c, .C, .cpp, .CPP, .cxx, .CXX, or .cc. If this feature is
|
//| where n is .c, .C, .cpp, .CPP, .cxx, .CXX, or .cc. If this feature is
|
||||||
//| missing, the flag CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION is set.
|
//| missing, the flag CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION 1
|
#define CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The byte order of a machine architecture distinguishes into
|
//| The byte order of a machine architecture distinguishes into
|
||||||
//| big-endian and little-endian machines.
|
//| big-endian and little-endian machines.
|
||||||
//| The following definition is set if it is a little-endian machine.
|
//| The following definition is set if it is a little-endian machine.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_BIG_ENDIAN 1
|
#define CGAL_CFG_NO_BIG_ENDIAN 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler doesn't support the operator Koenig
|
//| This flag is set if the compiler doesn't support the operator Koenig
|
||||||
//| lookup. That is, it does not search in the namespace of the arguments for
|
//| lookup. That is, it does not search in the namespace of the arguments for
|
||||||
//| the function.
|
//| the function.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_KOENIG_LOOKUP 1
|
//#define CGAL_CFG_NO_KOENIG_LOOKUP 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler doesn't know <limits> (g++-2.95)
|
//| If a compiler doesn't know <limits> (g++-2.95)
|
||||||
//| or has a bug in the implementation (Sun CC 5.4, MipsPro CC)
|
//| or has a bug in the implementation (Sun CC 5.4, MipsPro CC)
|
||||||
//| CGAL_CFG_NO_LIMITS is set.
|
//| CGAL_CFG_NO_LIMITS is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LIMITS 1
|
//#define CGAL_CFG_NO_LIMITS 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler doesn't know the locale classic
|
//| If a compiler doesn't know the locale classic
|
||||||
//| CGAL_CFG_NO_LOCALE is set.
|
//| CGAL_CFG_NO_LOCALE is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LOCALE 1
|
//#define CGAL_CFG_NO_LOCALE 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| Tests if std::cout supports long double IO.
|
//| Tests if std::cout supports long double IO.
|
||||||
//| pgCC 5.2-2 has this bug (only has for double and float).
|
//| pgCC 5.2-2 has this bug (only has for double and float).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LONG_DOUBLE_IO 1
|
//#define CGAL_CFG_NO_LONG_DOUBLE_IO 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The long long built-in integral type is not part of the ISO C++ standard,
|
//| The long long built-in integral type is not part of the ISO C++ standard,
|
||||||
//| but many compilers support it nevertheless since it's part of the ISO
|
//| but many compilers support it nevertheless since it's part of the ISO
|
||||||
//| C standard.
|
//| C standard.
|
||||||
//| The following definition is set if it is supported.
|
//| The following definition is set if it is supported.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LONG_LONG 1
|
//#define CGAL_CFG_NO_LONG_LONG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NO_STDC_NAMESPACE is set, if a compiler does not
|
//| The flag CGAL_CFG_NO_STDC_NAMESPACE is set, if a compiler does not
|
||||||
//| put the parts of the standard library inherited from the standard
|
//| put the parts of the standard library inherited from the standard
|
||||||
//| C library in namespace std. (only tests for the symbols used in CGAL)
|
//| C library in namespace std. (only tests for the symbols used in CGAL)
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_STDC_NAMESPACE 1
|
//#define CGAL_CFG_NO_STDC_NAMESPACE 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| A basic test for the STL.
|
//| A basic test for the STL.
|
||||||
//| If it fails, it probably means a bad CGAL installation.
|
//| If it fails, it probably means a bad CGAL installation.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_STL 1
|
//#define CGAL_CFG_NO_STL 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| G++ 2.95.2 has problems with member functions implemented outside of
|
//| G++ 2.95.2 has problems with member functions implemented outside of
|
||||||
//| the class body if this member function has a parameter type that is
|
//| the class body if this member function has a parameter type that is
|
||||||
//| dependant on a template in the template parameter list of the class. A
|
//| dependant on a template in the template parameter list of the class. A
|
||||||
//| workaround would be to implement the member function inline in the class.
|
//| workaround would be to implement the member function inline in the class.
|
||||||
//| The following definition is set if this error error occurs.
|
//| The following definition is set if this error error occurs.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_TMPL_IN_TMPL_DEPENDING_FUNCTION_PARAM 1
|
//#define CGAL_CFG_NO_TMPL_IN_TMPL_DEPENDING_FUNCTION_PARAM 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| Nested templates in template parameter, such as 'template <
|
//| Nested templates in template parameter, such as 'template <
|
||||||
//| template <class T> class A>' are not supported by any compiler.
|
//| template <class T> class A>' are not supported by any compiler.
|
||||||
//| The following definition is set if they are not supported.
|
//| The following definition is set if they are not supported.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_TMPL_IN_TMPL_PARAM 1
|
//#define CGAL_CFG_NO_TMPL_IN_TMPL_PARAM 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP is set,
|
//| The flag CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP is set,
|
||||||
//| if a compiler does not support the two stage name lookup.
|
//| if a compiler does not support the two stage name lookup.
|
||||||
//| This is a bug of G++ < 3.4 for example.
|
//| This is a bug of G++ < 3.4 for example.
|
||||||
//| Note that the program fails when the feature works,
|
//| Note that the program fails when the feature works,
|
||||||
//| which is different from the other test programs.
|
//| which is different from the other test programs.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP 1
|
#define CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler complains about an ambiguity between
|
//| This flag is set if the compiler complains about an ambiguity between
|
||||||
//| a type and itself when some members are defined out of line. This is
|
//| a type and itself when some members are defined out of line. This is
|
||||||
//| a Sun CC bug.
|
//| a Sun CC bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG 1
|
//#define CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set,
|
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set,
|
||||||
//| if a compiler does not support the definition of member templates
|
//| 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
|
//| 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.
|
//| definition inside the class. This is a feature of SunPro 5.5.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG 1
|
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 is set,
|
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 is set,
|
||||||
//| if a compiler does not support the definition of member templates
|
//| 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
|
//| out of line, i.e. outside class scope. The solution is to put the
|
||||||
//| definition inside the class.
|
//| definition inside the class.
|
||||||
//| The difference with CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
//| 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
|
//| is the return type of the member template.SunPro 5.5 should be OK with
|
||||||
//| this code.
|
//| this code.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 1
|
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler is Sun's compiler and it uses the
|
//| This flag is set if the compiler is Sun's compiler and it uses the
|
||||||
//| old Rogue Wave STL.
|
//| old Rogue Wave STL.
|
||||||
//| The workarounds consist in faking iterator_traits and using a wrapper
|
//| The workarounds consist in faking iterator_traits and using a wrapper
|
||||||
//| to reverse_iterator
|
//| to reverse_iterator
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_SUNPRO_RWSTD 1
|
//#define CGAL_CFG_SUNPRO_RWSTD 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG 1
|
#define CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler doesn't support "using Base::Member;" in
|
//| This flag is set if the compiler doesn't support "using Base::Member;" in
|
||||||
//| a derived class. The workaround is to write a forwarder.
|
//| a derived class. The workaround is to write a forwarder.
|
||||||
//| At least g++ 2.95 and SunPro CC 5.3 have this bug.
|
//| At least g++ 2.95 and SunPro CC 5.3 have this bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
||||||
//| a derived class. The workaround is to write a forwarder or not use using.
|
//| a derived class. The workaround is to write a forwarder or not use using.
|
||||||
//| At least SunPro CC 5.3 has this bug where the typical error message is :
|
//| At least SunPro CC 5.3 has this bug where the typical error message is :
|
||||||
//| "Error: The function B<int>::g() has not had a body defined."
|
//| "Error: The function B<int>::g() has not had a body defined."
|
||||||
//| Note that the subtlely is that the error message does not mention
|
//| Note that the subtlely is that the error message does not mention
|
||||||
//| "Member"...
|
//| "Member"...
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_2 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_2 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
||||||
//| a derived class, when there is a typedef of the base class.
|
//| a derived class, when there is a typedef of the base class.
|
||||||
//| The workaround is to write a forwarder or not use using.
|
//| The workaround is to write a forwarder or not use using.
|
||||||
//| At least MipsPRO CC 7.4 has this bug.
|
//| At least MipsPRO CC 7.4 has this bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_3 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_3 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler doesn't know nextafter() (or only knows _nextafter as VC++ 7.1).
|
//| If a compiler doesn't know nextafter() (or only knows _nextafter as VC++ 7.1).
|
||||||
//| nextafter() is part of ISO C99, but not ISO C++98 (hence <math.h> instead of <cmath>).
|
//| nextafter() is part of ISO C99, but not ISO C++98 (hence <math.h> instead of <cmath>).
|
||||||
//| CGAL_CFG_NO_NEXTAFTER is set.
|
//| CGAL_CFG_NO_NEXTAFTER is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_NEXTAFTER
|
#define CGAL_CFG_NO_NEXTAFTER
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,288 +1,288 @@
|
||||||
// Copyright (c) 1996-2004 Utrecht University (The Netherlands),
|
// Copyright (c) 1996-2004 Utrecht University (The Netherlands),
|
||||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||||
// and Tel-Aviv University (Israel). All rights reserved.
|
// and Tel-Aviv University (Israel). All rights reserved.
|
||||||
//
|
//
|
||||||
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
|
// 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
|
// 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.
|
// published by the Free Software Foundation; version 2.1 of the License.
|
||||||
// See the file LICENSE.LGPL distributed with CGAL.
|
// See the file LICENSE.LGPL distributed with CGAL.
|
||||||
//
|
//
|
||||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
//
|
//
|
||||||
// Author(s): the install_cgal script
|
// Author(s): the install_cgal script
|
||||||
|
|
||||||
// Compiler specific configuration file for CGAL 3.2-I-437
|
// Compiler specific configuration file for CGAL 3.2-I-437
|
||||||
// System: i686_CYGWINNT-5.1_CL.EXE-1310
|
// System: i686_CYGWINNT-5.1_CL.EXE-1310
|
||||||
// generated by install_cgal 30348
|
// generated by install_cgal 30348
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_CCTYPE_MACRO_BUG is set, if a compiler defines the
|
//| The flag CGAL_CFG_CCTYPE_MACRO_BUG is set, if a compiler defines the
|
||||||
//| standard C library functions in cctype (isdigit etc.) as macros.
|
//| standard C library functions in cctype (isdigit etc.) as macros.
|
||||||
//| According to the standard they have to be functions.
|
//| According to the standard they have to be functions.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_CCTYPE_MACRO_BUG 1
|
//#define CGAL_CFG_CCTYPE_MACRO_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not properly parse comma separated
|
//| This flag is set, if the compiler does not properly parse comma separated
|
||||||
//| expressions in a base constructor call. (e.g. g++ 3.3).
|
//| expressions in a base constructor call. (e.g. g++ 3.3).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_COMMA_BUG 1
|
//#define CGAL_CFG_COMMA_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_CONVERSION_OPERATOR_BUG is set, if a compiler
|
//| The flag CGAL_CFG_CONVERSION_OPERATOR_BUG is set, if a compiler
|
||||||
//| crashes with some conversion operators. G++ 3.3.0 is affected by
|
//| crashes with some conversion operators. G++ 3.3.0 is affected by
|
||||||
//| this bug (it hits Darwin severely since it is the system compiler).
|
//| this bug (it hits Darwin severely since it is the system compiler).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_CONVERSION_OPERATOR_BUG 1
|
//#define CGAL_CFG_CONVERSION_OPERATOR_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler wants you to remove the word
|
//| This flag is set if the compiler wants you to remove the word
|
||||||
//| template in some complicated dependent types.
|
//| template in some complicated dependent types.
|
||||||
//| Any error with the message "Unexpected type name" is likely to be
|
//| Any error with the message "Unexpected type name" is likely to be
|
||||||
//| related to this bug in sunpro.
|
//| related to this bug in sunpro.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG 1
|
//#define CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs when handling denormal values at
|
//| This flag is set if the compiler bugs when handling denormal values at
|
||||||
//| compile time. At least PGCC 5.1-3 has the bug.
|
//| compile time. At least PGCC 5.1-3 has the bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_DENORMALS_COMPILE_BUG 1
|
//#define CGAL_CFG_DENORMALS_COMPILE_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with special features with IEEE 754
|
//| This flag is set if the compiler bugs with special features with IEEE 754
|
||||||
//| handling, concerning is_valid() and is_finite() testing of infinity and
|
//| handling, concerning is_valid() and is_finite() testing of infinity and
|
||||||
//| nans. The workaround is to use bitfield operations.
|
//| nans. The workaround is to use bitfield operations.
|
||||||
//| At least VC++, Borland and PGCC have the bug.
|
//| At least VC++, Borland and PGCC have the bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_IEEE_754_BUG 1
|
//#define CGAL_CFG_IEEE_754_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler (or assembler or linker) has problems with long names
|
//| If a compiler (or assembler or linker) has problems with long names
|
||||||
//| CGAL_CFG_LONGNAME_BUG is set.
|
//| CGAL_CFG_LONGNAME_BUG is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_LONGNAME_BUG 1
|
#define CGAL_CFG_LONGNAME_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not match function arguments
|
//| This flag is set, if the compiler does not match function arguments
|
||||||
//| of pointer type correctly, when the return type depends on
|
//| of pointer type correctly, when the return type depends on
|
||||||
//| the parameter's type. (e.g. sun C++ 5.3)
|
//| the parameter's type. (e.g. sun C++ 5.3)
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_3 1
|
//#define CGAL_CFG_MATCHING_BUG_3 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if a compiler cannot distinguish the signature
|
//| This flag is set, if a compiler cannot distinguish the signature
|
||||||
//| of overloaded function templates, which have arguments whose type
|
//| of overloaded function templates, which have arguments whose type
|
||||||
//| depends on the template parameter.
|
//| depends on the template parameter.
|
||||||
//| This bug appears for example on Sunpro 5.3 and 5.4.
|
//| This bug appears for example on Sunpro 5.3 and 5.4.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_4 1
|
//#define CGAL_CFG_MATCHING_BUG_4 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if a compiler cannot distinguish the signature
|
//| This flag is set, if a compiler cannot distinguish the signature
|
||||||
//| of overloaded function templates, which have one template parameter
|
//| of overloaded function templates, which have one template parameter
|
||||||
//| to be passed explicitely when being called.
|
//| to be passed explicitely when being called.
|
||||||
//| This bug appears for example on g++ 3.3 and 3.4.
|
//| This bug appears for example on g++ 3.3 and 3.4.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_5 1
|
//#define CGAL_CFG_MATCHING_BUG_5 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| VC 7.3 does not recognize when an operator in a class
|
//| VC 7.3 does not recognize when an operator in a class
|
||||||
//| redefines the operator with the same signature in a base class
|
//| redefines the operator with the same signature in a base class
|
||||||
//| It happens with the regular triangulation.
|
//| It happens with the regular triangulation.
|
||||||
//| No minimal testcase yet
|
//| No minimal testcase yet
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_MATCHING_BUG_6 1
|
#define CGAL_CFG_MATCHING_BUG_6 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG is set,
|
//| The flag CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG is set,
|
||||||
//| if the std::vector class does not have defined template constructors.
|
//| if the std::vector class does not have defined template constructors.
|
||||||
//| This is a feature of SunPro 5.5.
|
//| This is a feature of SunPro 5.5.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG 1
|
//#define CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.C is set
|
//| The flag CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.C is set
|
||||||
//| if the compiler cannot recognize the declaration of a nested
|
//| if the compiler cannot recognize the declaration of a nested
|
||||||
//| class as friend.
|
//| class as friend.
|
||||||
//| Compilers such as the Intel compiler 8.x (for linux or windows),
|
//| Compilers such as the Intel compiler 8.x (for linux or windows),
|
||||||
//| MSVC 7.1 or pgCC have this "bug". It should be noted that the C++
|
//| MSVC 7.1 or pgCC have this "bug". It should be noted that the C++
|
||||||
//| standard is a bit vague on this issue, in other words what is referred
|
//| standard is a bit vague on this issue, in other words what is referred
|
||||||
//| to as "bug" above, may not really be a bug. Hopefully, the next standard
|
//| to as "bug" above, may not really be a bug. Hopefully, the next standard
|
||||||
//| will resolve this issue.
|
//| will resolve this issue.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG 1
|
#define CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not match a member
|
//| This flag is set, if the compiler does not match a member
|
||||||
//| definition to an existing declaration (eg., cl1310 Beta).
|
//| definition to an existing declaration (eg., cl1310 Beta).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NET2003_MATCHING_BUG 1
|
#define CGAL_CFG_NET2003_MATCHING_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| When template implementation files are not included in the source files,
|
//| When template implementation files are not included in the source files,
|
||||||
//| a compiler may attempt to find the unincluded template bodies
|
//| a compiler may attempt to find the unincluded template bodies
|
||||||
//| automatically. For example, suppose that the following conditions are
|
//| automatically. For example, suppose that the following conditions are
|
||||||
//| all true.
|
//| all true.
|
||||||
//|
|
//|
|
||||||
//| - template entity ABC::f is declared in file xyz.h
|
//| - template entity ABC::f is declared in file xyz.h
|
||||||
//| - an instantiation of ABC::f is required in a compilation
|
//| - an instantiation of ABC::f is required in a compilation
|
||||||
//| - no definition of ABC::f appears in the source code processed by the
|
//| - no definition of ABC::f appears in the source code processed by the
|
||||||
//| compilation
|
//| compilation
|
||||||
//|
|
//|
|
||||||
//| In this case, the compiler may look to see if the source file xyz.n exists,
|
//| In this case, the compiler may look to see if the source file xyz.n exists,
|
||||||
//| where n is .c, .C, .cpp, .CPP, .cxx, .CXX, or .cc. If this feature is
|
//| where n is .c, .C, .cpp, .CPP, .cxx, .CXX, or .cc. If this feature is
|
||||||
//| missing, the flag CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION is set.
|
//| missing, the flag CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION 1
|
#define CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The byte order of a machine architecture distinguishes into
|
//| The byte order of a machine architecture distinguishes into
|
||||||
//| big-endian and little-endian machines.
|
//| big-endian and little-endian machines.
|
||||||
//| The following definition is set if it is a little-endian machine.
|
//| The following definition is set if it is a little-endian machine.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_BIG_ENDIAN 1
|
#define CGAL_CFG_NO_BIG_ENDIAN 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler doesn't support the operator Koenig
|
//| This flag is set if the compiler doesn't support the operator Koenig
|
||||||
//| lookup. That is, it does not search in the namespace of the arguments for
|
//| lookup. That is, it does not search in the namespace of the arguments for
|
||||||
//| the function.
|
//| the function.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_KOENIG_LOOKUP 1
|
//#define CGAL_CFG_NO_KOENIG_LOOKUP 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler doesn't know <limits> (g++-2.95)
|
//| If a compiler doesn't know <limits> (g++-2.95)
|
||||||
//| or has a bug in the implementation (Sun CC 5.4, MipsPro CC)
|
//| or has a bug in the implementation (Sun CC 5.4, MipsPro CC)
|
||||||
//| CGAL_CFG_NO_LIMITS is set.
|
//| CGAL_CFG_NO_LIMITS is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LIMITS 1
|
//#define CGAL_CFG_NO_LIMITS 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler doesn't know the locale classic
|
//| If a compiler doesn't know the locale classic
|
||||||
//| CGAL_CFG_NO_LOCALE is set.
|
//| CGAL_CFG_NO_LOCALE is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LOCALE 1
|
//#define CGAL_CFG_NO_LOCALE 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| Tests if std::cout supports long double IO.
|
//| Tests if std::cout supports long double IO.
|
||||||
//| pgCC 5.2-2 has this bug (only has for double and float).
|
//| pgCC 5.2-2 has this bug (only has for double and float).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LONG_DOUBLE_IO 1
|
//#define CGAL_CFG_NO_LONG_DOUBLE_IO 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The long long built-in integral type is not part of the ISO C++ standard,
|
//| The long long built-in integral type is not part of the ISO C++ standard,
|
||||||
//| but many compilers support it nevertheless since it's part of the ISO
|
//| but many compilers support it nevertheless since it's part of the ISO
|
||||||
//| C standard.
|
//| C standard.
|
||||||
//| The following definition is set if it is supported.
|
//| The following definition is set if it is supported.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LONG_LONG 1
|
//#define CGAL_CFG_NO_LONG_LONG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NO_STDC_NAMESPACE is set, if a compiler does not
|
//| The flag CGAL_CFG_NO_STDC_NAMESPACE is set, if a compiler does not
|
||||||
//| put the parts of the standard library inherited from the standard
|
//| put the parts of the standard library inherited from the standard
|
||||||
//| C library in namespace std. (only tests for the symbols used in CGAL)
|
//| C library in namespace std. (only tests for the symbols used in CGAL)
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_STDC_NAMESPACE 1
|
//#define CGAL_CFG_NO_STDC_NAMESPACE 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| A basic test for the STL.
|
//| A basic test for the STL.
|
||||||
//| If it fails, it probably means a bad CGAL installation.
|
//| If it fails, it probably means a bad CGAL installation.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_STL 1
|
//#define CGAL_CFG_NO_STL 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| G++ 2.95.2 has problems with member functions implemented outside of
|
//| G++ 2.95.2 has problems with member functions implemented outside of
|
||||||
//| the class body if this member function has a parameter type that is
|
//| the class body if this member function has a parameter type that is
|
||||||
//| dependant on a template in the template parameter list of the class. A
|
//| dependant on a template in the template parameter list of the class. A
|
||||||
//| workaround would be to implement the member function inline in the class.
|
//| workaround would be to implement the member function inline in the class.
|
||||||
//| The following definition is set if this error error occurs.
|
//| The following definition is set if this error error occurs.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_TMPL_IN_TMPL_DEPENDING_FUNCTION_PARAM 1
|
//#define CGAL_CFG_NO_TMPL_IN_TMPL_DEPENDING_FUNCTION_PARAM 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| Nested templates in template parameter, such as 'template <
|
//| Nested templates in template parameter, such as 'template <
|
||||||
//| template <class T> class A>' are not supported by any compiler.
|
//| template <class T> class A>' are not supported by any compiler.
|
||||||
//| The following definition is set if they are not supported.
|
//| The following definition is set if they are not supported.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_TMPL_IN_TMPL_PARAM 1
|
//#define CGAL_CFG_NO_TMPL_IN_TMPL_PARAM 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP is set,
|
//| The flag CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP is set,
|
||||||
//| if a compiler does not support the two stage name lookup.
|
//| if a compiler does not support the two stage name lookup.
|
||||||
//| This is a bug of G++ < 3.4 for example.
|
//| This is a bug of G++ < 3.4 for example.
|
||||||
//| Note that the program fails when the feature works,
|
//| Note that the program fails when the feature works,
|
||||||
//| which is different from the other test programs.
|
//| which is different from the other test programs.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP 1
|
#define CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler complains about an ambiguity between
|
//| This flag is set if the compiler complains about an ambiguity between
|
||||||
//| a type and itself when some members are defined out of line. This is
|
//| a type and itself when some members are defined out of line. This is
|
||||||
//| a Sun CC bug.
|
//| a Sun CC bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG 1
|
//#define CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set,
|
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set,
|
||||||
//| if a compiler does not support the definition of member templates
|
//| 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
|
//| 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.
|
//| definition inside the class. This is a feature of SunPro 5.5.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG 1
|
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 is set,
|
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 is set,
|
||||||
//| if a compiler does not support the definition of member templates
|
//| 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
|
//| out of line, i.e. outside class scope. The solution is to put the
|
||||||
//| definition inside the class.
|
//| definition inside the class.
|
||||||
//| The difference with CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
//| 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
|
//| is the return type of the member template.SunPro 5.5 should be OK with
|
||||||
//| this code.
|
//| this code.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 1
|
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler is Sun's compiler and it uses the
|
//| This flag is set if the compiler is Sun's compiler and it uses the
|
||||||
//| old Rogue Wave STL.
|
//| old Rogue Wave STL.
|
||||||
//| The workarounds consist in faking iterator_traits and using a wrapper
|
//| The workarounds consist in faking iterator_traits and using a wrapper
|
||||||
//| to reverse_iterator
|
//| to reverse_iterator
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_SUNPRO_RWSTD 1
|
//#define CGAL_CFG_SUNPRO_RWSTD 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG 1
|
#define CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler doesn't support "using Base::Member;" in
|
//| This flag is set if the compiler doesn't support "using Base::Member;" in
|
||||||
//| a derived class. The workaround is to write a forwarder.
|
//| a derived class. The workaround is to write a forwarder.
|
||||||
//| At least g++ 2.95 and SunPro CC 5.3 have this bug.
|
//| At least g++ 2.95 and SunPro CC 5.3 have this bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
||||||
//| a derived class. The workaround is to write a forwarder or not use using.
|
//| a derived class. The workaround is to write a forwarder or not use using.
|
||||||
//| At least SunPro CC 5.3 has this bug where the typical error message is :
|
//| At least SunPro CC 5.3 has this bug where the typical error message is :
|
||||||
//| "Error: The function B<int>::g() has not had a body defined."
|
//| "Error: The function B<int>::g() has not had a body defined."
|
||||||
//| Note that the subtlely is that the error message does not mention
|
//| Note that the subtlely is that the error message does not mention
|
||||||
//| "Member"...
|
//| "Member"...
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_2 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_2 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
||||||
//| a derived class, when there is a typedef of the base class.
|
//| a derived class, when there is a typedef of the base class.
|
||||||
//| The workaround is to write a forwarder or not use using.
|
//| The workaround is to write a forwarder or not use using.
|
||||||
//| At least MipsPRO CC 7.4 has this bug.
|
//| At least MipsPRO CC 7.4 has this bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_3 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_3 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler doesn't know nextafter() (or only knows _nextafter as VC++ 7.1).
|
//| If a compiler doesn't know nextafter() (or only knows _nextafter as VC++ 7.1).
|
||||||
//| nextafter() is part of ISO C99, but not ISO C++98 (hence <math.h> instead of <cmath>).
|
//| nextafter() is part of ISO C99, but not ISO C++98 (hence <math.h> instead of <cmath>).
|
||||||
//| CGAL_CFG_NO_NEXTAFTER is set.
|
//| CGAL_CFG_NO_NEXTAFTER is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_NEXTAFTER
|
#define CGAL_CFG_NO_NEXTAFTER
|
||||||
|
|
@ -1,42 +1,42 @@
|
||||||
// Copyright (c) 1997-2002 Utrecht University (The Netherlands),
|
// Copyright (c) 1997-2002 Utrecht University (The Netherlands),
|
||||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||||
// and Tel-Aviv University (Israel). All rights reserved.
|
// and Tel-Aviv University (Israel). All rights reserved.
|
||||||
//
|
//
|
||||||
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
|
// 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
|
// 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.
|
// published by the Free Software Foundation; version 2.1 of the License.
|
||||||
// See the file LICENSE.LGPL distributed with CGAL.
|
// See the file LICENSE.LGPL distributed with CGAL.
|
||||||
//
|
//
|
||||||
// Licensees holding a valid commercial license may use this file in
|
// Licensees holding a valid commercial license may use this file in
|
||||||
// accordance with the commercial license agreement provided with the software.
|
// accordance with the commercial license agreement provided with the software.
|
||||||
//
|
//
|
||||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
//
|
//
|
||||||
// $URL: svn+ssh://CGAL/svn/cgal/trunk/wininst/include/CGAL/config/msvc7/CGAL/compiler_config.h $
|
// $URL$
|
||||||
// $Id: compiler_config.h 31170 2006-05-18 10:01:03Z afabri $
|
// $Id$
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// Author(s) : Radu Ursu
|
// Author(s) : Radu Ursu
|
||||||
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
# if _MSC_VER < 1310
|
# if _MSC_VER < 1310
|
||||||
# error Unsupported version of VC++
|
# error Unsupported version of VC++
|
||||||
# else
|
# else
|
||||||
# ifdef __ICL
|
# ifdef __ICL
|
||||||
# include "CGAL/icl_8_1.h"
|
# include "CGAL/icl_8_1.h"
|
||||||
# else
|
# else
|
||||||
# if _MSC_VER == 1310
|
# if _MSC_VER == 1310
|
||||||
# include "CGAL/cl_1310.h"
|
# include "CGAL/cl_1310.h"
|
||||||
# else
|
# else
|
||||||
# include "CGAL/cl_1400.h"
|
# include "CGAL/cl_1400.h"
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# define CGAL_LIB_NAME CGAL
|
# define CGAL_LIB_NAME CGAL
|
||||||
# include "CGAL/auto_link.h"
|
# include "CGAL/auto_link.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,279 +1,279 @@
|
||||||
// Copyright (c) 1996-2004 Utrecht University (The Netherlands),
|
// Copyright (c) 1996-2004 Utrecht University (The Netherlands),
|
||||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||||
// and Tel-Aviv University (Israel). All rights reserved.
|
// and Tel-Aviv University (Israel). All rights reserved.
|
||||||
//
|
//
|
||||||
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
|
// 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
|
// 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.
|
// published by the Free Software Foundation; version 2.1 of the License.
|
||||||
// See the file LICENSE.LGPL distributed with CGAL.
|
// See the file LICENSE.LGPL distributed with CGAL.
|
||||||
//
|
//
|
||||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
//
|
//
|
||||||
// Author(s): the install_cgal script
|
// Author(s): the install_cgal script
|
||||||
|
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_CCTYPE_MACRO_BUG is set, if a compiler defines the
|
//| The flag CGAL_CFG_CCTYPE_MACRO_BUG is set, if a compiler defines the
|
||||||
//| standard C library functions in cctype (isdigit etc.) as macros.
|
//| standard C library functions in cctype (isdigit etc.) as macros.
|
||||||
//| According to the standard they have to be functions.
|
//| According to the standard they have to be functions.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_CCTYPE_MACRO_BUG 1
|
//#define CGAL_CFG_CCTYPE_MACRO_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not properly parse comma separated
|
//| This flag is set, if the compiler does not properly parse comma separated
|
||||||
//| expressions in a base constructor call. (e.g. g++ 3.3).
|
//| expressions in a base constructor call. (e.g. g++ 3.3).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_COMMA_BUG 1
|
//#define CGAL_CFG_COMMA_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_CONVERSION_OPERATOR_BUG is set, if a compiler
|
//| The flag CGAL_CFG_CONVERSION_OPERATOR_BUG is set, if a compiler
|
||||||
//| crashes with some conversion operators. G++ 3.3.0 is affected by
|
//| crashes with some conversion operators. G++ 3.3.0 is affected by
|
||||||
//| this bug (it hits Darwin severely since it is the system compiler).
|
//| this bug (it hits Darwin severely since it is the system compiler).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_CONVERSION_OPERATOR_BUG 1
|
//#define CGAL_CFG_CONVERSION_OPERATOR_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler wants you to remove the word
|
//| This flag is set if the compiler wants you to remove the word
|
||||||
//| template in some complicated dependent types.
|
//| template in some complicated dependent types.
|
||||||
//| Any error with the message "Unexpected type name" is likely to be
|
//| Any error with the message "Unexpected type name" is likely to be
|
||||||
//| related to this bug in sunpro.
|
//| related to this bug in sunpro.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG 1
|
//#define CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs when handling denormal values at
|
//| This flag is set if the compiler bugs when handling denormal values at
|
||||||
//| compile time. At least PGCC 5.1-3 has the bug.
|
//| compile time. At least PGCC 5.1-3 has the bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_DENORMALS_COMPILE_BUG 1
|
//#define CGAL_CFG_DENORMALS_COMPILE_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with special features with IEEE 754
|
//| This flag is set if the compiler bugs with special features with IEEE 754
|
||||||
//| handling, concerning is_valid() and is_finite() testing of infinity and
|
//| handling, concerning is_valid() and is_finite() testing of infinity and
|
||||||
//| nans. The workaround is to use bitfield operations.
|
//| nans. The workaround is to use bitfield operations.
|
||||||
//| At least VC++, Borland and PGCC have the bug.
|
//| At least VC++, Borland and PGCC have the bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_IEEE_754_BUG 1
|
//#define CGAL_CFG_IEEE_754_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler (or assembler or linker) has problems with long names
|
//| If a compiler (or assembler or linker) has problems with long names
|
||||||
//| CGAL_CFG_LONGNAME_BUG is set.
|
//| CGAL_CFG_LONGNAME_BUG is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_LONGNAME_BUG 1
|
//#define CGAL_CFG_LONGNAME_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not match function arguments
|
//| This flag is set, if the compiler does not match function arguments
|
||||||
//| of pointer type correctly, when the return type depends on
|
//| of pointer type correctly, when the return type depends on
|
||||||
//| the parameter's type. (e.g. sun C++ 5.3)
|
//| the parameter's type. (e.g. sun C++ 5.3)
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_3 1
|
//#define CGAL_CFG_MATCHING_BUG_3 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if a compiler cannot distinguish the signature
|
//| This flag is set, if a compiler cannot distinguish the signature
|
||||||
//| of overloaded function templates, which have arguments whose type
|
//| of overloaded function templates, which have arguments whose type
|
||||||
//| depends on the template parameter.
|
//| depends on the template parameter.
|
||||||
//| This bug appears for example on Sunpro 5.3 and 5.4.
|
//| This bug appears for example on Sunpro 5.3 and 5.4.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_4 1
|
//#define CGAL_CFG_MATCHING_BUG_4 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if a compiler cannot distinguish the signature
|
//| This flag is set, if a compiler cannot distinguish the signature
|
||||||
//| of overloaded function templates, which have one template parameter
|
//| of overloaded function templates, which have one template parameter
|
||||||
//| to be passed explicitely when being called.
|
//| to be passed explicitely when being called.
|
||||||
//| This bug appears for example on g++ 3.3 and 3.4.
|
//| This bug appears for example on g++ 3.3 and 3.4.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_MATCHING_BUG_5 1
|
#define CGAL_CFG_MATCHING_BUG_5 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| VC 7.3 does not recognize when an operator in a class
|
//| VC 7.3 does not recognize when an operator in a class
|
||||||
//| redefines the operator with the same signature in a base class
|
//| redefines the operator with the same signature in a base class
|
||||||
//| It happens with the regular triangulation.
|
//| It happens with the regular triangulation.
|
||||||
//| No minimal testcase yet
|
//| No minimal testcase yet
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MATCHING_BUG_6 1
|
//#define CGAL_CFG_MATCHING_BUG_6 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG is set,
|
//| The flag CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG is set,
|
||||||
//| if the std::vector class does not have defined template constructors.
|
//| if the std::vector class does not have defined template constructors.
|
||||||
//| This is a feature of SunPro 5.5.
|
//| This is a feature of SunPro 5.5.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG 1
|
//#define CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.C is set
|
//| The flag CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.C is set
|
||||||
//| if the compiler cannot recognize the declaration of a nested
|
//| if the compiler cannot recognize the declaration of a nested
|
||||||
//| class as friend.
|
//| class as friend.
|
||||||
//| Compilers such as the Intel compiler 8.x (for linux or windows),
|
//| Compilers such as the Intel compiler 8.x (for linux or windows),
|
||||||
//| MSVC 7.1 or pgCC have this "bug". It should be noted that the C++
|
//| MSVC 7.1 or pgCC have this "bug". It should be noted that the C++
|
||||||
//| standard is a bit vague on this issue, in other words what is referred
|
//| standard is a bit vague on this issue, in other words what is referred
|
||||||
//| to as "bug" above, may not really be a bug. Hopefully, the next standard
|
//| to as "bug" above, may not really be a bug. Hopefully, the next standard
|
||||||
//| will resolve this issue.
|
//| will resolve this issue.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG 1
|
#define CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set, if the compiler does not match a member
|
//| This flag is set, if the compiler does not match a member
|
||||||
//| definition to an existing declaration (eg., cl1310 Beta).
|
//| definition to an existing declaration (eg., cl1310 Beta).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NET2003_MATCHING_BUG 1
|
//#define CGAL_CFG_NET2003_MATCHING_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| When template implementation files are not included in the source files,
|
//| When template implementation files are not included in the source files,
|
||||||
//| a compiler may attempt to find the unincluded template bodies
|
//| a compiler may attempt to find the unincluded template bodies
|
||||||
//| automatically. For example, suppose that the following conditions are
|
//| automatically. For example, suppose that the following conditions are
|
||||||
//| all true.
|
//| all true.
|
||||||
//|
|
//|
|
||||||
//| - template entity ABC::f is declared in file xyz.h
|
//| - template entity ABC::f is declared in file xyz.h
|
||||||
//| - an instantiation of ABC::f is required in a compilation
|
//| - an instantiation of ABC::f is required in a compilation
|
||||||
//| - no definition of ABC::f appears in the source code processed by the
|
//| - no definition of ABC::f appears in the source code processed by the
|
||||||
//| compilation
|
//| compilation
|
||||||
//|
|
//|
|
||||||
//| In this case, the compiler may look to see if the source file xyz.n exists,
|
//| In this case, the compiler may look to see if the source file xyz.n exists,
|
||||||
//| where n is .c, .C, .cpp, .CPP, .cxx, .CXX, or .cc. If this feature is
|
//| where n is .c, .C, .cpp, .CPP, .cxx, .CXX, or .cc. If this feature is
|
||||||
//| missing, the flag CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION is set.
|
//| missing, the flag CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION 1
|
#define CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The byte order of a machine architecture distinguishes into
|
//| The byte order of a machine architecture distinguishes into
|
||||||
//| big-endian and little-endian machines.
|
//| big-endian and little-endian machines.
|
||||||
//| The following definition is set if it is a little-endian machine.
|
//| The following definition is set if it is a little-endian machine.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_BIG_ENDIAN 1
|
#define CGAL_CFG_NO_BIG_ENDIAN 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler doesn't support the operator Koenig
|
//| This flag is set if the compiler doesn't support the operator Koenig
|
||||||
//| lookup. That is, it does not search in the namespace of the arguments for
|
//| lookup. That is, it does not search in the namespace of the arguments for
|
||||||
//| the function.
|
//| the function.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_KOENIG_LOOKUP 1
|
//#define CGAL_CFG_NO_KOENIG_LOOKUP 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler doesn't know <limits> (g++-2.95)
|
//| If a compiler doesn't know <limits> (g++-2.95)
|
||||||
//| or has a bug in the implementation (Sun CC 5.4, MipsPro CC)
|
//| or has a bug in the implementation (Sun CC 5.4, MipsPro CC)
|
||||||
//| CGAL_CFG_NO_LIMITS is set.
|
//| CGAL_CFG_NO_LIMITS is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LIMITS 1
|
//#define CGAL_CFG_NO_LIMITS 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| If a compiler doesn't know the locale classic
|
//| If a compiler doesn't know the locale classic
|
||||||
//| CGAL_CFG_NO_LOCALE is set.
|
//| CGAL_CFG_NO_LOCALE is set.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LOCALE 1
|
//#define CGAL_CFG_NO_LOCALE 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| Tests if std::cout supports long double IO.
|
//| Tests if std::cout supports long double IO.
|
||||||
//| pgCC 5.2-2 has this bug (only has for double and float).
|
//| pgCC 5.2-2 has this bug (only has for double and float).
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LONG_DOUBLE_IO 1
|
//#define CGAL_CFG_NO_LONG_DOUBLE_IO 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The long long built-in integral type is not part of the ISO C++ standard,
|
//| The long long built-in integral type is not part of the ISO C++ standard,
|
||||||
//| but many compilers support it nevertheless since it's part of the ISO
|
//| but many compilers support it nevertheless since it's part of the ISO
|
||||||
//| C standard.
|
//| C standard.
|
||||||
//| The following definition is set if it is supported.
|
//| The following definition is set if it is supported.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_LONG_LONG 1
|
//#define CGAL_CFG_NO_LONG_LONG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NO_STDC_NAMESPACE is set, if a compiler does not
|
//| The flag CGAL_CFG_NO_STDC_NAMESPACE is set, if a compiler does not
|
||||||
//| put the parts of the standard library inherited from the standard
|
//| put the parts of the standard library inherited from the standard
|
||||||
//| C library in namespace std. (only tests for the symbols used in CGAL)
|
//| C library in namespace std. (only tests for the symbols used in CGAL)
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_STDC_NAMESPACE 1
|
//#define CGAL_CFG_NO_STDC_NAMESPACE 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| A basic test for the STL.
|
//| A basic test for the STL.
|
||||||
//| If it fails, it probably means a bad CGAL installation.
|
//| If it fails, it probably means a bad CGAL installation.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_STL 1
|
//#define CGAL_CFG_NO_STL 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| G++ 2.95.2 has problems with member functions implemented outside of
|
//| G++ 2.95.2 has problems with member functions implemented outside of
|
||||||
//| the class body if this member function has a parameter type that is
|
//| the class body if this member function has a parameter type that is
|
||||||
//| dependant on a template in the template parameter list of the class. A
|
//| dependant on a template in the template parameter list of the class. A
|
||||||
//| workaround would be to implement the member function inline in the class.
|
//| workaround would be to implement the member function inline in the class.
|
||||||
//| The following definition is set if this error error occurs.
|
//| The following definition is set if this error error occurs.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_TMPL_IN_TMPL_DEPENDING_FUNCTION_PARAM 1
|
//#define CGAL_CFG_NO_TMPL_IN_TMPL_DEPENDING_FUNCTION_PARAM 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| Nested templates in template parameter, such as 'template <
|
//| Nested templates in template parameter, such as 'template <
|
||||||
//| template <class T> class A>' are not supported by any compiler.
|
//| template <class T> class A>' are not supported by any compiler.
|
||||||
//| The following definition is set if they are not supported.
|
//| The following definition is set if they are not supported.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_NO_TMPL_IN_TMPL_PARAM 1
|
//#define CGAL_CFG_NO_TMPL_IN_TMPL_PARAM 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP is set,
|
//| The flag CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP is set,
|
||||||
//| if a compiler does not support the two stage name lookup.
|
//| if a compiler does not support the two stage name lookup.
|
||||||
//| This is a bug of G++ < 3.4 for example.
|
//| This is a bug of G++ < 3.4 for example.
|
||||||
//| Note that the program fails when the feature works,
|
//| Note that the program fails when the feature works,
|
||||||
//| which is different from the other test programs.
|
//| which is different from the other test programs.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
#define CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP 1
|
#define CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler complains about an ambiguity between
|
//| This flag is set if the compiler complains about an ambiguity between
|
||||||
//| a type and itself when some members are defined out of line. This is
|
//| a type and itself when some members are defined out of line. This is
|
||||||
//| a Sun CC bug.
|
//| a Sun CC bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG 1
|
//#define CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set,
|
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set,
|
||||||
//| if a compiler does not support the definition of member templates
|
//| 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
|
//| 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.
|
//| definition inside the class. This is a feature of SunPro 5.5.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG 1
|
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 is set,
|
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 is set,
|
||||||
//| if a compiler does not support the definition of member templates
|
//| 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
|
//| out of line, i.e. outside class scope. The solution is to put the
|
||||||
//| definition inside the class.
|
//| definition inside the class.
|
||||||
//| The difference with CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
//| 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
|
//| is the return type of the member template.SunPro 5.5 should be OK with
|
||||||
//| this code.
|
//| this code.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 1
|
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler is Sun's compiler and it uses the
|
//| This flag is set if the compiler is Sun's compiler and it uses the
|
||||||
//| old Rogue Wave STL.
|
//| old Rogue Wave STL.
|
||||||
//| The workarounds consist in faking iterator_traits and using a wrapper
|
//| The workarounds consist in faking iterator_traits and using a wrapper
|
||||||
//| to reverse_iterator
|
//| to reverse_iterator
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_SUNPRO_RWSTD 1
|
//#define CGAL_CFG_SUNPRO_RWSTD 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG 1
|
//#define CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler doesn't support "using Base::Member;" in
|
//| This flag is set if the compiler doesn't support "using Base::Member;" in
|
||||||
//| a derived class. The workaround is to write a forwarder.
|
//| a derived class. The workaround is to write a forwarder.
|
||||||
//| At least g++ 2.95 and SunPro CC 5.3 have this bug.
|
//| At least g++ 2.95 and SunPro CC 5.3 have this bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
||||||
//| a derived class. The workaround is to write a forwarder or not use using.
|
//| a derived class. The workaround is to write a forwarder or not use using.
|
||||||
//| At least SunPro CC 5.3 has this bug where the typical error message is :
|
//| At least SunPro CC 5.3 has this bug where the typical error message is :
|
||||||
//| "Error: The function B<int>::g() has not had a body defined."
|
//| "Error: The function B<int>::g() has not had a body defined."
|
||||||
//| Note that the subtlely is that the error message does not mention
|
//| Note that the subtlely is that the error message does not mention
|
||||||
//| "Member"...
|
//| "Member"...
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_2 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_2 1
|
||||||
|
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
||||||
//| a derived class, when there is a typedef of the base class.
|
//| a derived class, when there is a typedef of the base class.
|
||||||
//| The workaround is to write a forwarder or not use using.
|
//| The workaround is to write a forwarder or not use using.
|
||||||
//| At least MipsPRO CC 7.4 has this bug.
|
//| At least MipsPRO CC 7.4 has this bug.
|
||||||
//+--------------------------------------------------------------------------
|
//+--------------------------------------------------------------------------
|
||||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_3 1
|
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_3 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue