bad() implies fail() but std::basic_ios::operator! is actually equivalent
to std::basic_ios::fail(), not bad().
For example,
std::ifstream is(argv[1]);
if (is.bad()) {
is probably wrong because, in case the file does not exist, only the failbit it set,
and not the badbit.
Other example:
double x;
is >> x;
If the stream 'is' does not contains a string that can represent a double,
then failbit is set (and maybe the eofbit if the stream is actually too
short), but not the badbit.
bad() can be used, in case fail() returned true, to discriminate between a
I/O error and a logical error.
See:
http://en.cppreference.com/w/cpp/io/basic_ios/operator_boolhttp://en.cppreference.com/w/cpp/io/ios_base/iostate
File created by the Windows port of Emacs, and then commited using the
Cygwin version of Git, have incorrect permissions: they are all executable!
Andreas works using that combination of software.
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
We declare
cmake_minimum_required(VERSION 2.6.2)
but we also use
cmake_policy(VERSION 2.8.4)
to declare that our CMake scripts are OK with all the defaults of CMake policies
as of CMake-2.8.4. That shuts down the warnings of CMake-2.8.4.
That way, we no longer need any declaration of specific policies.
Those two lines must be present and maintained in all our CMakeLists.txt
files (the one for the libraries, and also the one for examples and demos,
and maybe tests).
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
- change cmake_minimum_required to VERSION 2.6.2
- no longer any need for the policy CMP0003 (was for 2.4.x)
- no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
In particular remove UNTESTED_XXXXXXXXXXX unused variable that possibly hide true warnings.
In those cases, the string printed while executed now starts with "NOTE: ".
*CGAL internal code no longer rely on depecrated features
The tests of compare_distance(T1, T2, T3, T4) are minimalist. As the
implementation is trivial and rely on CGAL_NTS compare and
CGAL::square_distance, that should be enought.
| ------------------------------------------------------------------------
| r57752 | lrineau | 2010-08-03 16:22:25 +0200 (Tue, 03 Aug 2010) | 6 lines
| Changed paths:
| M /trunk/Cartesian_kernel/include/CGAL/Cartesian/function_objects.h
| M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/function_objects.h
| M /trunk/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CompareDistance_2.tex
| M /trunk/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CompareDistance_3.tex
| M /trunk/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CompareSquaredDistance_2.tex
| M /trunk/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CompareSquaredDistance_3.tex
| M /trunk/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredDistance_2.tex
| M /trunk/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredDistance_3.tex
| A /trunk/Kernel_23/doc_tex/Kernel_23_ref/compare_distance.tex
| M /trunk/Kernel_23/doc_tex/Kernel_23_ref/compare_squared_distance.tex
| M /trunk/Kernel_23/include/CGAL/Kernel/global_functions.h
| M /trunk/Kernel_23/include/CGAL/Kernel/global_functions_internal_2.h
| M /trunk/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h
| M /trunk/Kernel_23/test/Kernel_23/include/CGAL/_test_new_2.h
| M /trunk/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h
|
| - Deprecate operator()(T1, T2, T3, T4) of Kernel::CompareSquaredDistance_[23]
| and move it to Kernel::CompareDistance_[23].
| - Add CGAL::compare_distance(T1, T2, T3, T4).
|
| (Test suite OK.)
|
| ------------------------------------------------------------------------