In KDS, predicates will call rep->static_object() on Point_3 (say, e.g.,
for an orientation predicate). If the triangulation is a regular triangulation,
the points are weighted and are thus in the weighted point table.
Since we don't want to store and maintain the bare points in the point table,
we use this class, which redirects the calls to static_object() and
kinetic_object() that would query the table points to instead query the
weighted points table and return the appropriate bare point.
Can't abuse active_points_3_table by camouflaging weighted points in it because
we need a separate point and weighted point type (since we do not want to
redefine all predicates less_x_3 for weighted points)
This macro is always defined. Its value will be true when assertions are defined
and false when assertions are not defined. This macro can then be used in place
of a true false constant, such as is needed for CGAL_NOEXCEPT.
This macro is available for future compatibility with c++11, which
by default marks destructors noexcept(true). Some destructors
in CGAL do throw exceptions an so should be marked noexcept(false).
Since noexcept is not available in c++0x and below the macro is
disabled when CGAL_CXX11 is not defined since it is not required.
There was a warning with gcc 4.1.2, on CentOS 5:
```
In file included from /mnt/testsuite/include/CGAL/Kinetic/Active_objects_vector.h:27,
from /mnt/testsuite/include/CGAL/Kinetic/Exact_simulation_traits.h:27,
from /home/cgal_tester/build/src/cmake/platforms/CentOS5/test/Kinetic_data_structures/Delaunay_triangulation_3.cpp:7:
/mnt/testsuite/include/CGAL/Kinetic/internal/debug_counters.h:79:33: warning: no newline at end of file
```
When including CGAL/Polynomial/CORE_Expr_root_stack.h in a header file
that in turn gets included in multiple .cpp files, code from
CORE_Expr_root_stack.h ends up in multiple object files and causes
linking problems:
multiple definition of `CGAL::POLYNOMIAL::operator<<(std::ostream&, CGAL::POLYNOMIAL::CORE_Expr_root_stack const&)'
multiple definition of `CGAL::POLYNOMIAL::internal::operator*(CORE::BigRat const&, CGAL::POLYNOMIAL::internal::CORE_polynomial const&)'
Work around this issue by declaring both operators inline.