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
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
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
Sylvain Pion
29d15d7eb1
Remove obsolete SunPRO workarounds
2008-01-20 21:51:12 +00:00
Sylvain Pion
4d1b8d63e3
Remove workarounds and support for the BORLAND compiler.
2008-01-20 20:24:20 +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
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
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
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
848b455cc6
Use default arguments...
2007-11-05 17:13:21 +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 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
Sylvain Pion
8cb773f976
Rename variable to avoid shadowing warning.
2007-04-18 09:01:37 +00:00
Sylvain Pion
1fd9eeaeef
Fix Quadruple's operator!=.
2007-04-16 16:26:57 +00:00
Laurent Rineau
f9538d6cb8
Same think: missing operator!= for Quadruple.
...
Warning: I have not tested that one.
2007-04-14 18:10:44 +00:00
Laurent Rineau
ec055e953b
Triple had an operator==. The operator!= was missing.
2007-04-14 17:58:29 +00:00
Andreas Meyer
116d4b6570
* EXACUS -> CGAL cleanups
...
* license header
* cosmetic changes
2007-04-03 16:07:32 +00:00
Sylvain Pion
57730e837e
Fix headers.
2007-04-03 15:13:47 +00:00
Andreas Fabri
4b8a772dee
replacement new instead of allocator::construct
2007-03-19 14:42:00 +00:00
Sylvain Pion
09c71b26f9
warning--
2007-03-08 09:48:21 +00:00
Sylvain Pion
675f5c6104
add parenthesis to remove g++ 4.3 warning
2007-03-05 16:27:54 +00:00
Sylvain Pion
62fc224512
comment unused argument to prevent warning
2007-03-02 11:05:53 +00:00
Fernando Cacciola
63442a954a
License headers fixed.
2007-02-28 18:06:42 +00:00
Fernando Cacciola
8a3dee2292
C2vcproj fixed to look for master_71.vcproj instead of master_VC71.vcproj.
...
Missing svn properties added
2007-02-27 16:50:16 +00:00
Bernd Gärtner
34dd0eae83
- unused ariable warning fix
2007-02-23 08:35:43 +00:00
Andreas Meyer
1996f8c159
added a mpl struct is_same_or_equal, similar to
...
boost::is_same / boost::is_base_and_derived
2007-02-17 21:25:09 +00:00
Sylvain Pion
25e0f2349f
Try replacing custom int_to_string by boost::lexical_cast
2007-02-05 15:53:32 +00:00
Michael Hemmer
95d26f6787
the function check_tag is deprecated since CGAL 3.3
2007-02-02 08:37:35 +00:00
Fernando Cacciola
c211eb0aa9
Fixed incorrect 'typename'
2007-01-19 19:05:10 +00:00
Fernando Cacciola
278e0bbc77
VC8 STL iterator fixes
2007-01-18 13:46:53 +00:00
Sylvain Pion
0530a7d920
min_n() and max_n() functions similar to std::min() and std::max(),
...
but which allow more than 2 arguments.
2006-12-02 21:50:30 +00:00
Andreas Fabri
dd978791ea
Workaround for VC++ -- reintroduced
2006-11-10 11:51:35 +00:00
Michael Hemmer
6e8bfad68a
new design for Tag_true/Tag_false
...
get tag via Boolean_tag<bool>
has public member: bool value
2006-11-08 14:36:53 +00:00
Michael Hemmer
7936604249
restored original version of Null_functor
2006-11-08 10:11:49 +00:00
Andreas Fabri
412c009679
Give Null_functor some nested types
2006-10-27 17:55:23 +00:00
Andreas Meyer
f8c89d0986
* included EXACUS test programs in STL_Extension test (hardcoded in makefile and cgal_test)
...
* removed some leftover #include <CGAL/LiS/basic.h>
2006-10-26 11:24:40 +00:00
Andreas Meyer
e9e8387260
merged changes from CGAL_with_EXACUS branch into trunk.
...
revisions used:
(1) 32995:34537
(2) 34538:34906
2006-10-24 15:21:25 +00:00