In the doc page of Intersect_2, intersection for Iso_rectangle_2 and Triangle_2
is documented while in the doc page of intersection, it is not
(and all is implemented).
One cannot expect exact intersections computations results when the kernel
is not. This patch fixes the test: the equality between the result and the
expected result is tested with an epsilon unless the kernel has exact
constructions.
1/ The requirement on the constructor of
Polyhedral_mesh_domain_with_features_3 was wrong: the argument must be
convertible to Mesh_polyhedron_3, and not to Polyhedron_3.
2/ The geom traits of Mesh_polyhedron_3<Gt> must be model of
PolyhedronTraits_3 *and* of IntersectionGeometricTraits_3.
(That patch passes the manual testsuite.)
*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
is_streamable is a meta-function that checks if a type is streamable
is_streamable<T>::value is true iff the type T has stream operators <<
and >>. Otherwise it is false.
That commit adds a new header, used nowhere, and a new test. That cannot
break anything. I do it directly to 'next', with my own approval.
On that machine, I use g++-4.5, 4.6, and 4.7. If I compile the Boost
libraries with the oldest compiler, the binary compatibility is ensured,
because the soname of libstd++ is libstdc++.so.6 for all of those
compilers (but the binary compatibility is only ensured backward: if a
Boost library is compiled with g++-4.6, that does not work if it is after
linked with libstdc++ of g++-4.5).