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
c2d8057e2e
Use certainly_not in the examples
2008-08-12 08:38:26 +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
fea8090201
Fix the example code (make_uncertain() added otherwise the ?: operator is ambiguous).
2008-08-11 08:10:11 +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
3e6ab45543
Make it pass in -DCGAL_NDEBUG mode as well
2008-07-31 11:49:52 +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
Sylvain Pion
65dde8e7cc
Mark Twotuple, Threetuple, Fourtuple and Sixtuple as deprecated.
2008-07-25 11:25:36 +00:00
Sylvain Pion
dc3bf72707
Remove changes.txt files.
2008-07-24 17:47:16 +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
Michael Hoffmann
f0eefae126
Remove section about functor adaptors.
2008-06-19 10:59:11 +00:00
Michael Hoffmann
a156bad385
Remove bind/compose adaptors and change the AdaptableFunctor concept
...
accordingly.
2008-06-19 10:57:52 +00:00
Michael Hoffmann
9a1eea3563
Outdated -> removed.
2008-06-19 10:53:16 +00:00
Sylvain Pion
7a6b5546f0
Remove white space at end of line to ease merge
2008-06-03 12:03:58 +00:00