The include guard is unnecessary (tags.h is part of basic and no one
else defines it anymore) and it shouldn't be used anyway.
assert_equal_types doesn't do it's job completely and it's usage in
Nef_2 has been replaced.
Wextra results in a dreadful wall of yellow in the test-suite and is
scary when using CGAL. Reduce some of the noise by silencing the
obvious cases with CGAL_USE or comments.
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
by -Wall since gcc-4.8 (not yet released).
The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
*naive replacement of void* and geninfo by boost::any.
*old code can be used if CGAL_I_DO_WANT_TO_USE_GENINFO is defined
*info was printed, I simply ignored that for boost::any
(it probably made sense why the old implementation of geninfo that was using placement new to write
inside the void*)
*some sizeof(void*) was used in SNC_structure.h for printing the size of something.
I guessed this was related to the void* used as info. I left that code untouched.
*testsuite is OK on my machine except Nef_3/example/Nef_3/polygon_construction which also
does not work with next on my machine
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
Use a form "#ifndef" more consistently.
The idea is to automatize most of the verification of the consistency
in the names used in the #ifndef and the following #define using a simple :
grep -r -m 1 '#ifndef' */include/CGAL | grep CGAL_ | cut -d' ' -f2 | sort > ifndef.macros
grep -r -m 1 '#define' */include/CGAL | grep CGAL_ | cut -d' ' -f2 | sort > define.macros
diff ifndef.macros define.macros
There were some differences :
- CGAL::Object has no template constructor, so using make_object() was required.
- CGAL::Object had no comparison with NULL to check emptyness. I added
such comparison operators to CGAL::Object as *deprecated*.
(it was alrady the same type, but now the filtering code can be independent on Interval_nt_advanced
(think other interval types, or other types of filters).