Commit Graph

21 Commits

Author SHA1 Message Date
Fred Baksik
bfed613132 STL Support: Fix cm::filesystem warnings; check for '\' not multichar ' \'.
Utilities/std/cm/bits/fs_path.cxx:334:24: warning: multi-character character constant [-Wmultichar]
             || *ptr == ' \\'
                        ^~~~~
2020-07-24 19:36:46 -04:00
Marc Chevrier
259356f3b5 STL Support: cm::filesystem::path: add support of Cygwin 2020-07-20 16:20:42 +02:00
Marc Chevrier
d654bf3449 STL Support: Add cm::filesystem::path in <cm/filesystem> 2020-07-09 17:02:42 +02:00
Marc Chevrier
e5798126fc STL Support: introduce dedicated configuration file 2020-07-09 15:24:43 +02:00
Marc Chevrier
4408f34cfe STL Support: Add function cm::quoted in <cm/iomanip> 2020-07-09 15:24:43 +02:00
Sumit Bhardwaj
782d7387d5 Implement cm::static_reference_cast by declval
Previously, cm::static_reference_cast used invoke_result_t and took the
address of O::get. This is not in complete conformance with standard.

This MR changes the implementation to use std::declval<O>.get() which is
always well-defined.
2020-07-04 11:03:46 -07:00
Marc Chevrier
2faa3f6c55 Refactoring: Third-parties public headers are under cm3p prefix
Fixes: #20666
2020-05-07 12:06:08 +02:00
Marc Chevrier
8d4a9ee398 Refactoring: rename "cm_static_string_view.hxx" as <cmext/string_view> 2020-04-30 09:53:27 +02:00
Marc Chevrier
aacd4e4a90 Refactoring: add cm::contains to <cmext/algorithm> 2020-04-17 10:00:03 +02:00
Marc Chevrier
f034b0f663 CMake compilation: do not use compiler extensions
For now, compiler extensions are no longer activated on CMake sources.
However these extensions are still used for various third parties.

This MR is a partial answer to the issue #20454.
2020-03-23 10:29:58 +01:00
Marc Chevrier
fa828b8fba STL support: make_unique can now handle array 2020-01-28 17:38:17 +01:00
Marc Chevrier
73d1da4f86 Stl support: cm::append now supports any sequential container 2020-01-24 15:55:32 +01:00
Marc Chevrier
b9a3f2e7e2 STL Support: enhance behavior of cm::dynamic_reference_cast
Ensure cm::dynamic_reference_cast has same behavior as dynamic_cast
on reference: raise std::bad_cast if dynamic_cast is not possible.
2020-01-17 11:09:53 +01:00
Marc Chevrier
04c2f67492 STL Support: extends type_traits for future developments 2020-01-17 11:09:48 +01:00
Marc Chevrier
348b60d19d STL support: add c++20 std::erase and std::erase_if functions 2020-01-08 17:35:16 +01:00
Marc Chevrier
a38d04c076 Refactoring: introduce header cmext/algorithm with append functions 2019-12-17 10:43:58 +01:00
Marc Chevrier
fc3b4caa2e Memory management: cast functions for managed pointers 2019-11-27 16:03:04 +01:00
Kitware Robot
ed98209ddc Revise include order using clang-format-6.0
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Regina Pfeifer
6a05bd3fa6 cm/algorithm: Provide function cm::clamp 2019-09-25 10:30:58 +02:00
Marc Chevrier
4a08690ccf cmstd: Extend header <cm/iterator> 2019-09-20 10:01:56 -04:00
Marc Chevrier
c688b401d3 cmstd: Modernize CMake system headers
Provide a standardized way to handle the C++ "standard" headers
customized to be used with current CMake C++ standard constraints.
Offer under directory `cm` headers which can be used as direct
replacements of the standard ones.  For example:

    #include <cm/string_view>

can be used safely for CMake development in place of the `<string_view>`
standard header.

Fixes: #19491
2019-09-20 10:01:37 -04:00