Andreas Fabri
f64b5e9e2c
Undo of Rev 46756 and 46737
2008-11-25 17:17:06 +00:00
Sylvain Pion
6f5963131b
Fix comment.
2008-11-21 16:47:39 +00:00
Sylvain Pion
8eab7e07dd
Split <CGAL/assertions.h> in 2 files, by moving the assertion behaviour
...
changing functions to a separate header, not included by default
(<CGAL/assertions_behaviour.h>). The motivation is to hide the enum
values with risky names (ABORT, EXIT, CONTINUE) to a header file which
is most probably not used by any user (or very few).
(breaks backward compatibility for an expected very few, for the sake
of erasing random surprises for "many" ?)
2008-11-21 16:42:02 +00:00
Andreas Fabri
0f9ed11e99
Turn operator== into a member function
2008-11-08 11:35:40 +00:00
Andreas Fabri
06f25ea9e6
turn operator==(Filter_iterator, Filter_iterator) into a member function
2008-11-07 09:47:54 +00:00
Andreas Fabri
e354f7ce4d
Include boost header file, as we use a boost macro
2008-10-13 14:18:24 +00:00
Andreas Fabri
f4e89cf427
suppress VC++ warning
2008-10-13 13:11:05 +00:00
Sylvain Pion
4aa1cb057a
Remove my email adress from header files.
2008-10-11 20:21:08 +00:00
Sylvain Pion
6aba449434
Replace Nef's custom Object_handle by CGAL::Object.
...
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*.
2008-09-09 16:03:25 +00:00
Sylvain Pion
a565db4da9
Apply std::remove_reference *before* std::remove_cv...
2008-08-28 12:38:14 +00:00
Sylvain Pion
d79048ab40
Add comment.
2008-08-27 17:31:06 +00:00
Sylvain Pion
7aa01562bd
typo
2008-08-27 15:36:24 +00:00
Sylvain Pion
8865f7ea4f
Use C++0x rvalue references in Object, Handle_for, MP_Float and Quotient.
2008-08-27 14:19:18 +00:00
Sylvain Pion
44c185f1f4
Rename boost::array to CGAL::array.
2008-08-26 13:15:21 +00:00
Sylvain Pion
53f5c9679b
Add a using directive "using std::array" in namespace CGAL to import either:
...
- C++0x's std:array from <array>
- TR1's std::tr1::array from <tr1/array>
- boost::array from <boost/array.hpp>
Motivation : GCC's std::array is faster than boost::array.
Move CGALi:make_array to namespace CGAL.
Document CGAL::array.
2008-08-26 13:08:16 +00:00
Sylvain Pion
f615d84fe0
Add new function CGAL::indeterminate() to help generate an indeterminate
...
in template context.
2008-08-22 16:06:53 +00:00
Sylvain Pion
e829727e6a
Add overloads of the handy functions:
...
bool are_sorted(const T & a, const T & b, const T & c)
bool are_strictly_sorted(const T & a, const T & b, const T & c)
bool are_ordered(const T & a, const T & b, const T & c)
bool are_strictly_ordered(const T & a, const T & b, const T & c)
with a Compare functor as last argument.
2008-08-12 15:22:47 +00:00
Sylvain Pion
25051d8809
Move CGAL::copy_n() from the obsolete <CGAL/copy_n.h> to <CGAL/algorithm.h>.
2008-08-12 12:51:15 +00:00
Sylvain Pion
c1389c006d
Add a couple of handy functions:
...
bool are_sorted(const T & a, const T & b, const T & c)
bool are_strictly_sorted(const T & a, const T & b, const T & c)
bool are_ordered(const T & a, const T & b, const T & c)
bool are_strictly_ordered(const T & a, const T & b, const T & c)
2008-08-12 12:43:20 +00:00
Sylvain Pion
0c34dc2525
- Refine CGAL_AND or CGAL_OR to make sure they work when the second argument is a bool.
...
- Add CGAL_AND_3 and CGAL_OR_3 for 3-arguments boolean operations.
2008-08-12 11:23:34 +00:00
Sylvain Pion
449195eb9d
Add CGAL_AND() and CGAL_OR() macros, which do the same as && and || but propagate Uncertain-ty.
...
(for compilers that support statement expressions, like GCC).
Add Uncertain::is_same() to help in the test-suite.
2008-08-12 10:50:39 +00:00
Sylvain Pion
0b58aac0d4
Add certainly_not() and possibly_not() (more expressive and maybe faster), and
...
simplify the implementation of certainly() and possibly().
2008-08-12 08:26:00 +00:00
Sylvain Pion
34be1f4a81
Introduce a macro CGAL_NO_UNCERTAIN_CONVERSION_OPERATOR to restrict the automatic
...
conversion operator.
Update the test-suite to work in this setting on Leopard (assert macro restrictions).
2008-08-11 08:24:31 +00:00
Sylvain Pion
aff1bf74aa
Replace CGAL::Interval_nt<>::number_of_failures() by a CGAL_PROFILER() counter.
2008-08-06 13:16:04 +00:00
Sylvain Pion
5641a7fe20
Fix the FIXME : improved operator==
2008-08-04 15:42:10 +00:00
Sylvain Pion
8828ebec1c
- The default constructor of Uncertain now initializes to T(),
...
not indeterminate.
- Add some examples in the manual.
2008-08-04 15:12:59 +00:00
Sylvain Pion
0c65a5a092
- It is not possible to use the CONTINUE mode in set_error_behaviour().
...
- Various formatting fixes.
- Mark the assertion_fail and similar functions as CGAL_NORETURN.
2008-07-31 09:50:28 +00:00
Sylvain Pion
9ae3ea91b7
Add documentation and test-suite for CGAL::Uncertain.
...
Some other fixes.
2008-07-30 16:34:14 +00:00
Sylvain Pion
2da32b8ba8
Replace && by & and || by | inside the definition of the overloaded operators & and |.
2008-07-30 14:23:36 +00:00
Sylvain Pion
5c11fa3a56
Add assignment operator from T.
...
Add fixme comment.
2008-07-30 12:46:56 +00:00
Sylvain Pion
265ce473b4
Rename extract_singleton(Uncertain<T>) to get_certain()
2008-07-30 12:03:07 +00:00
Sylvain Pion
f70c3779c7
Rename Uncertain::is_singleton() to is_certain()
2008-07-30 08:29:37 +00:00
Sylvain Pion
2f0abc4b6f
Move CGAL::Object from Kernel_23 to STL_Extension.
2008-07-29 15:26:38 +00:00
Sylvain Pion
da4a9f4fd4
Undo previous change in utility.h : I can't mark Triple/Quadruple as CGAL_NO_DEPRECATE_CODE,
...
since they are still used (so they can't be disabled).
However: mark Twotuple, Threetuple, Fourtuple, Sixtuple as CGAL_NO_DEPRECATE_CODE.
2008-07-28 16:49:46 +00:00
Sylvain Pion
0cca1762e4
Mark Triple/Quadruple with CGAL_NO_DEPRECATED_CODE.
2008-07-28 16:45:00 +00:00
Sylvain Pion
6bffa76272
Phase out Triple and Quadruple:
...
- add get<i>() member function
- add make_tuple() function.
2008-07-28 15:29:54 +00:00
Sylvain Pion
b4aaa1bbd1
Mark Twotuple, Threetuple, Fourtuple, Sixtuple with CGAL_DEPRECATED.
...
(marke the constructors as such, as marking the classes does not work
with templates with GCC right now).
2008-07-25 17:57:22 +00:00
Sylvain Pion
c36fe88397
Mark Triple and Quadruple "not-recommended anymore".
2008-07-25 15:21:06 +00:00
Michael Hoffmann
ee574c68c6
Removed include of functional_base.
2008-07-23 13:57:55 +00:00
Michael Hoffmann
ff118c1e63
Remove bind/compose/swap adaptors.
2008-07-23 13:19:15 +00:00
Sylvain Pion
79864c0c8e
Remove Arity_tag.
2008-07-22 12:29:01 +00:00
Sylvain Pion
ea17d27c87
Define is_singleton() and extract_singleton() for non-Uncertain types,
...
so that Filtered_predicate still works with predicates returning non-Uncertain types.
2008-07-17 09:31:44 +00:00
Sylvain Pion
91d2d7478b
Move Uncertain.h from Filtered_kernel to STL_Extension
2008-07-16 16:07:27 +00:00
Sylvain Pion
2eb0d8f9e9
certainly() -> possibly().
2008-07-14 11:16:41 +00:00
Sylvain Pion
eff6efd3af
CGAL_NULL and CGAL_NULL_TYPE are now constant macros, so replace them by:
...
- CGAL_NULL -> NULL
- CGAL_NULL_TYPE -> CGAL::Nullptr_t (typedef to const void *)
2008-07-12 21:58:52 +00:00
Sylvain Pion
9d7a609ff2
Make assertions trigger an error only for *certain* conditions (using CGAL::certainly()).
...
This is useful for interval arithmetic code.
(replay of r44002 with the header order hopefully fixed)
2008-07-10 21:49:17 +00:00
Sylvain Pion
2b4ebf01f7
Undo r44002 as it's buggy
2008-07-06 20:47:29 +00:00
Sylvain Pion
514a17ad4f
Improve the interaction of assertions and interval computations.
...
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
(CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
2008-07-06 17:05:47 +00:00
Michael Hoffmann
d92021ba08
Remove bind/compose/swap functor adaptors.
...
We use boost::bind instead now.
2008-06-19 11:03:40 +00:00
Sylvain Pion
7a6b5546f0
Remove white space at end of line to ease merge
2008-06-03 12:03:58 +00:00