Commit Graph

36 Commits

Author SHA1 Message Date
Laurent Rineau 15349f0bda simplify the code for MSVC 2017 (compiler bug_ 2024-04-26 10:39:41 +02:00
Laurent Rineau 940a7ebe9f fix make_array with is_convertible_without_narrowing 2024-04-23 14:29:33 +02:00
Laurent Rineau 736ab7a555 make_array now use perfect forwarding, and remove fwd_make_array 2024-04-19 16:47:47 +02:00
Laurent Rineau 1926ffd619 Merge remote-tracking branch 'cgal/master' into Kernel-Perfect_forwarding 2024-03-27 17:00:45 +01:00
Laurent Rineau 661512b284 add a test of CGAL::fwd_make_array 2023-04-26 16:48:30 +02:00
Sébastien Loriot a6098368a9 really move it 2023-04-26 13:24:36 +02:00
Sébastien Loriot 72624bb0f1 fix narrowing 2023-04-26 09:55:14 +02:00
Sébastien Loriot a88af6c0c6 boost::array -> std::array 2023-04-23 22:37:07 +02:00
Mael Rouxel-Labbé b5c21e1f5d Http -> https + update some dead links 2022-11-23 18:54:37 +01:00
Laurent Rineau 160118e7e9 Fix a warning from MSVC 2015
include\CGAL/array.h(67): warning C4814:
     'CGAL::Construct_array::operator ()': in C++14 'constexpr' will
     not imply 'const'; consider explicitly specifying 'const'

It cannot harm.
2021-02-11 14:36:26 +01:00
Laurent Rineau 519870c4cb Add support for MSVC 2015
MSVC 2015 has a partial support for C++14, and in particular for C++14
`constexpr` functions. Since Boost-1.57 (that is the minimal
requirement for CGAL since version 5.0), `<boost/config.hpp>` has a
macro `BOOST_CXX14_CONSTEXPR` that can be either `constexpr` for
fully-C++14 compilers, or empty for non-compliant compilers.
2021-02-09 15:38:08 +01:00
Laurent Rineau 9799879eef Modernize a bit <CGAL/array.h> assuming C++14 2021-02-03 21:51:00 +01:00
Laurent Rineau 8dbf50a94b Create CGAL::make_filled_array
That function template will replace my adhoc
`create_array_of_triangulation`.
2021-02-03 21:50:10 +01:00
Sébastien Loriot 52164b1fba First pass on removing license notice in header for LGPL files 2019-10-19 15:40:30 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Sébastien Loriot db65bd8ecc Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2019-04-11 21:38:48 +02:00
albert-github 1dd7473818 Correction of links
Correction of redirected links and links that moved to another place.
2019-04-11 21:37:05 +02:00
Sébastien Loriot 124012d9f9 replace cpp11::array by std::array 2019-03-29 13:28:33 +01:00
Sébastien Loriot 3cfbccd44a remove workaround c++11 features in STL_extension 2019-03-29 10:41:49 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Simon Giraudot df5cf3e5b1 Simplify Construct_array and add version for non-variadic compilers 2017-07-11 11:58:49 +02:00
Simon Giraudot 783d643cb6 Add functor Construct_array 2017-07-11 11:58:47 +02:00
Sébastien Loriot 82b2ebc865 apply the cpp0x namespace renaming in all files 2012-12-19 11:33:17 +01:00
Philipp Möller ab5c017c08 Unconditionally disable NO_TR1 defines.
Those cause trouble, because on MSVC the include paths for tr1
components are different from gcc. Instead of fixing up the include
paths depending on platform, just never use a tr1 component. Nothing
of value is lost compared to the boost equivalents and it removes
another code-path.
2012-09-28 13:15:14 +00:00
Philipp Möller dd7403c765 Change the namespace to cpp11 and add an alias cpp0x. 2012-05-24 11:23:21 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Marc Glisse 6ea5914309 Import fix for narrowing conversions from the relevant LWG issue 2010-07-08 09:12:23 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Sylvain Pion 1948ac7df0 Add more information about make_array().
It's potentially removable, actually, apart from VC++ being too buggy as usual.
2009-08-04 15:03:23 +00:00
Sylvain Pion 6335879bb6 Properties. 2009-07-20 08:52:20 +00:00
Sylvain Pion f0ed774e37 Move CGAL::array to namespace CGAL::cpp0x, like tuple. 2009-04-30 14:03:52 +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 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
Sylvain Pion ef30aa5ffe Add a variadic template version of make_array() (by Samuel Hornus). 2008-05-07 16:46:15 +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