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
Sylvain Pion
575edb7499
Added 2008 as copyright year, and make it INRIA only owner (this is post-GALIA code).
2008-06-03 11:56:43 +00:00
Sylvain Pion
dfce30f55c
Finish the rewrite of the "bit squatting".
2008-06-03 11:43:25 +00:00
Sylvain Pion
3901116641
Replace the union used for the bit manipulation of pointers, by casting
...
to (char *), substraction with NULL, and then changing bits on the integer.
(draft patch for now to synchronize with the parallel-branch, cleanup to follow)
The previous approach failed on sparc/linux as the bit representations
of pointers and integers are different.
2008-06-03 09:22:06 +00:00
Sylvain Pion
110a5db8be
Rename all C++0x related config macros to consistently have CPP0X in their name,
...
as in CGAL_CFG_NO_CPP0X_VARIADIC_TEMPLATES.
2008-05-21 15:34:36 +00:00
Andreas Fabri
54ad19e4db
handle struct mixup
2008-05-11 18:14:25 +00:00
Sylvain Pion
ef30aa5ffe
Add a variadic template version of make_array() (by Samuel Hornus).
2008-05-07 16:46:15 +00:00
Fernando Cacciola
f93437ca22
Removed *unmodified* auto-generated CMakeLists.txt (now created by create_internal_release)
2008-05-05 14:01:55 +00:00
Laurent Rineau
4bf21e39ed
Revert r42877:
...
"Use boost::iterator_facade for the Compact_container's iterators."
That modification triggers compilation errors with Visual C++.
2008-04-24 13:08:49 +00:00
Samuel Hornus
8f902841c6
adding operator->() with a proxy-trick
2008-04-17 09:03:06 +00:00
Sylvain Pion
5699aa2aca
Add back the comparisons with NULL... they are needed.
2008-04-12 21:23:08 +00:00
Sylvain Pion
57904f1e25
Use boost::iterator_facade for the Compact_container's iterators.
2008-04-12 18:19:43 +00:00
Sylvain Pion
4416bee3de
Move all Handle* classes to STL_Extension. There's no geometry in them,
...
so the kernel is not the most appropriate place for them.
2008-04-12 10:38:07 +00:00
Sylvain Pion
cab843595b
Replace {Two|Three|Four}tuple<FT> or <RT> by boost::array.
...
It makes more code parameterized by the dimension as template argument.
It provides iterators and a few basic functions already such as operator==...
I added CGALi::make_array() to easily and efficiently construct them.
2008-04-09 11:44:28 +00:00
Andreas Meyer
20315de571
* replaced CGAL_test_assert with ::assert, instead of CGAL_assertion
...
* removed include/Testsuite/assert.h
2008-03-19 13:45:36 +00:00
Fernando Cacciola
b704509dcf
Examples/Demos/Test CMake scripts updated
2008-03-05 21:14:02 +00:00
Fernando Cacciola
a659cd852a
Added project() and conditional test for CGAL_DIR
2008-02-14 15:42:36 +00:00
Fernando Cacciola
14043c43a0
Replaced CGALROOT by CGAL_DIR (the latters is used by CMake automatically)
2008-02-08 17:47:21 +00:00
Fernando Cacciola
afddfc4fca
CMake scripts for demos/examples/test added
2008-02-06 19:06:24 +00:00
Sylvain Pion
29d15d7eb1
Remove obsolete SunPRO workarounds
2008-01-20 21:51:12 +00:00
Sylvain Pion
0f587ba0b5
This SUNPRO workaround is not needed anymore
2008-01-20 20:34:39 +00:00
Sylvain Pion
4d1b8d63e3
Remove workarounds and support for the BORLAND compiler.
2008-01-20 20:24:20 +00:00
Sylvain Pion
b24108f5fd
Remove #include <cassert> from everywhere under include/CGAL/.
...
CGAL code has to use CGAL assertions instead.
2008-01-20 18:47:19 +00:00
Sylvain Pion
1d2b1f3b6a
Make CGAL_NDEBUG depend on NDEBUG, and simplify code.
2008-01-20 18:07:46 +00:00
Sylvain Pion
3eb3e168e8
The main (non package-specific) macros like CGAL_assertion() should not depend on
...
kernel specific knobs like CGAL_KERNEL_NO_ASSERTIONS.
2008-01-20 17:39:27 +00:00
Sylvain Pion
5c551050a5
Remove obsolete VC++ 6 specific code.
2008-01-20 15:27:47 +00:00
Sylvain Pion
2b46416907
Remove more SUNPRO + RW's STL obsolete workarounds:
...
CGAL_CFG_SUNPRO_RWSTD (partially)
CGAL_reverse_iterator()
2008-01-03 15:04:30 +00:00
Sylvain Pion
83b76e21e9
Remove obsolete .C example files (there are uptodate .cpp files under examples/).
2007-12-28 16:07:38 +00:00
Sylvain Pion
360d29f72a
Rename CGAL_CIRC_NULL to CGAL_NULL.
2007-12-28 15:40:36 +00:00
Sylvain Pion
e8591b3b32
Change Counting_output_iterator to store a pointer to the counter, instead of
...
the counter itself. It fixes a problem with g++ 4.3 since std::copy now
performs the assignments on *copies* of the output iterator.
See : http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34595
2007-12-26 17:34:36 +00:00
Sylvain Pion
be95afcd9b
Fix const-correctness issue.
2007-12-25 11:22:48 +00:00
Sylvain Pion
ef3ba8a5ec
variadic template fix
2007-12-24 13:30:24 +00:00
Sylvain Pion
d49e006c53
Remove default argument "0" to calls to assertion_fail() et al,
...
as the default is now the empty string "".
It should fix the problem that we have lost the assertion messages
(seeing "what(): basic_string::_S_construct NULL not valid" instead),
for packages that use package-specific assertion macros.
2007-12-21 21:58:27 +00:00
Sylvain Pion
a46b55bf71
The files "changes.txt", "description.txt", "long_description.txt" and "maintainer"
...
are now under /trunk/$Package/package_info/$Package/ .
2007-12-02 15:06:42 +00:00
Sylvain Pion
dddf37f5cc
Avoid duplicating error messages with g++.
2007-11-21 16:44:44 +00:00
Sylvain Pion
1f492aa1e8
Remove unused, undocumented, and superceeded by boost::function_output_iterator (more or less)
...
class Transform_output_iterator.
2007-11-20 14:05:31 +00:00
Andreas Meyer
6623d525eb
* replaced assert in */test/*/*.{cpp,h} with CGAL_test_assertion
...
* replaced #include <assert.h> with the according CGAL/Testsuite/assert.h
2007-11-07 21:35:42 +00:00
Andreas Meyer
fdeedcf8b0
some low level code cleanup. renamed
...
* CGAL_error to CGAL_error_msg
* introduced a macro CGAL_error()
* added some words about CGAL_error to the developers manual
* renamed most of assert(x) into CGAL_assertion(x)
* renamed exit(x) with x != 0 , CGAL_assertion(false) and assert(false) into CGAL_error
* CORE left untouched, OpenNL changed
2007-11-07 16:51:18 +00:00
Sylvain Pion
80f14be579
Using an anonymous namespace is much more funky than static funcitons/variables.
2007-11-07 15:50:25 +00:00
Sylvain Pion
84719ab22f
Mention bug-report URL in the assertion failure error message.
2007-11-07 15:38:48 +00:00
Sylvain Pion
848b455cc6
Use default arguments...
2007-11-05 17:13:21 +00:00
Sylvain Pion
9d7c8b949d
Variadic template syntax is not supported by the manual tools
...
(and hopefully will never).
2007-11-02 22:23:46 +00:00
Sylvain Pion
2c25427164
- New class Default_argument that helps shrink error messages
...
and mangled names.
- Use it in Compact_container in place of Default_allocator
which was playing the same role, but less generally.
2007-11-02 16:16:02 +00:00
Sylvain Pion
ef264999b3
Renaming of Compact_container's construct_insert() to emplace() to match C++0x.
...
It breaks backward compat, but I doubt many people use Compact_container directly.
Make it use variadic templates, while at it.
2007-10-20 20:51:59 +00:00
Sylvain Pion
4da7713aa8
Remove obsolete config flag CGAL_CFG_NO_STDC_NAMESPACE and rename
...
its dependant macro CGAL_CLIB_STD to "std".
2007-08-08 15:59:25 +00:00
Andreas Meyer
ba23c28c2b
* added #include <CGAL/basic>
...
* moved some support functions/classes from EXACUS to STL_Extensions/iostream:
- Benchmark_rep (similar to Output_rep)
- a functor Pair_lexicographical_less_than
(previously called Product_order in EXACUS)
- a functor Handle_id_less_than
2007-07-04 16:25:33 +00:00
Sylvain Pion
54b01bd44f
Speed up the clear() function (and therefore the destructor), by allowing
...
the compiler to optimize away a complete walk over the container for
types with trivial destructors.
2007-06-08 22:35:58 +00:00
Sylvain Pion
bea63ec2f6
formatting
2007-06-08 21:22:45 +00:00
Andreas Fabri
01e763217b
3.3 branch -> trunk
2007-06-04 14:27:09 +00:00
Andreas Meyer
7c09dc370a
* removed unused "old_alloc_strategy", based on LEDA
...
* some leda stuff remains : added version-dependent include for leda/memory.h
2007-04-20 12:16:17 +00:00
Andreas Meyer
c1e9765ff4
manual fix: moved labels inside sectioning command
2007-04-18 14:20:12 +00:00
Sylvain Pion
8cb773f976
Rename variable to avoid shadowing warning.
2007-04-18 09:01:37 +00:00
Sylvain Pion
0d4a66304b
Spell check.
2007-04-17 15:32:22 +00:00
Sylvain Pion
1fd9eeaeef
Fix Quadruple's operator!=.
2007-04-16 16:26:57 +00:00