Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Commit 2020-07-24 - Fixes for C++20, Clang and MSVC.

Promotes ssize(), de-promotes make_array(), adds and fixes features to use under more recent Clang and MSVC versions. check-in: 22a54863 user: luismachuca tags: clang_min_400, gcc_min_408, msvc_min_1600, release, stable, y2020

Commit 2020-07-20 - One (1) is the lowest biggest thing.

Fixes a few issues in algorithm and adds to the base feature set. check-in: e6c8807a user: luismachuca tags: clang_min_400, y2020, gcc_min_505, pre-release

Commit 2020-06-18 - MSVC compatibility fixes and Geany-tag fixes.

Changes in CHANGELOG.txt. check-in: 98e4fb9c user: luismachuca tags: trunk, clang_min_400, gcc_min_408, msvc_min_1600, y2020, geany_tags, tagfiles

Commit 2019-08-28 - MSVC and the End of <time.h>s as we Know Itâ„¢
  • config: Fixed namespace placement of ere-TR1 features in MSVC 2010, 2012 (enhances: [70b70d8017]).
  • ctime: Added header with backports for timespec_get.
  • algorithm: Moved copy_if_not out of std and into its proper location in supplement.
  • algorithm: Documentation of algorithms now points to the corresponding cppreference page.
  • ios: Added header, with backport of C++11 io_errc.
  • ios: Added missing left,right manips to ios in OpenWatcom (enhances: [b8ea55b791]).
  • memory: Fixed to_bool of shared_ptr when the latter is unavailable (enhances: [11f57a70cf]).
  • numeric: Added midpoint, from C++20.
  • string_view: Fixed implementation to not use inheritance.
  • string_view: Fixed an issue where it did not include the correct <system_error> implementation.
  • typeindex: Removed a warning of conversion to bool when in MSVC.
  • type_traits: Fixed is_base_of for Clang 2.8, 3.0 (enhances: [1cbdc0b48d]).
  • library:string: ifdef-out the header for pre-C++1997 mode.
  • library:string: Partially extended support for variadic to_string.
  • library:utility: ifdef-out the header for pre-C++1997 mode.
  • library:typesafe_enum: Now default-constructs to 0 to emulate enum class behaviour.
  • tags: Updated with new information on macros.
check-in: 44499e7b user: luismachuca tags: trunk
Commit 2019-08-25 - Looking for a more independent solution.
  • cxxomfort: Warning: this commit breaks for Clang.
  • cxxomfort: Renamed CXXO_COMPILER_SUPPORT_cstd_... to CXXO_CXXSTDHEADER_... .
  • cxxomfort: Reworked some macros related to TR1 and its headers/namespaces to be more uniform.
  • cxxomfort: Taken the first steps in removing the need for a TR1 forwarder, with <array>.
  • array: Fixed detecting an <array> that is not there in MSVC 2005 (enhances: [11f57a70cf]).
  • array: Testing removal of requirement for a TR1 forwarder in the header.
  • cerrno: Added header, with definitions of some later POSIX error code macros for MSVC (enhances: [11f57a70cf]).
  • functional: Fixed visibility of (tr1::)hash when in GCC/Clang with TR1.
  • functional: Added baseline implementations for reference_wrapper, hash when before C++03.
  • random: Fixed detecting a <random> that is not there in MSVC 2005 (enhances: [11f57a70cf]).
  • random: Testing removal of requirement for a TR1 forwarder in the header.
  • type_traits: Testing ability to fake some intrinsics for is_enum, et al, in OpenWatcom (enhances: [b8ea55b791]).
  • system_error: Removed a warning of conversion to bool when in MSVC.
  • utility: Fixed make_integer_sequence et al, to use C++11 using... = where appropriate.
  • library:array_ref: Made def-ctor trivial in C++11 and do the "right thing" in <C++11.
check-in: deb47099 user: luismachuca tags: trunk, y2019, gcc_min_404, pre-release, msvc_max_1700, msvc_min_1599
Commit 2019-08-22 - A forgotten error in <memory>.
  • config: Updated some changes to documentation.
  • memory: Fixed a wrong argument name in uninitialized_default_construct.
  • system_error: Fixed errc not default-constructing to zero in C++03 like enums do.
  • docgen: Improved documentation for library:tuple, library:typesafe_enum.
check-in: d5fcc075 user: luismachuca tags: trunk, y2019, clang_min_302, gcc_min_404, openwatcom_min_200, docgen
Commit 2019-02-13 - Love-- for OpenWatcom; various minor fixes.
  • cxxomfort: Updated CHANGELOG.txt which missed out an update.
  • cxxomfort: Initial compatibility testings for MSVC 2005 compatibility (has no TR1).
  • config: CXXO_INCLUDE_SYS notices got demoted to notice level 3.
  • config: Added basic detection of MSVC 2005 (still not supported).
  • base: Base feature implementation notices got demoted to notice level 4.
  • cstddef: Reimplemented std::byte, with better compatibility for C++<97.
  • cstddef: Added std::byte support for MSVC 2005.
  • array: Added support for MSVC 2005.
  • system_error: Fixed forwarding of @ref cxxomfort::fix::errc for MSVC 2012.
  • type_traits: Added support for the "primary" traits in MSVC 2005.
  • library:algorithm: Add p1223 find_backward().
  • library:algorithm: Add p1223r0 find_not().
  • library:algorithm: Add lwg217 find() (binary predicate form).
check-in: 0ad1617a user: luismachuca tags: trunk, y2019, gcc_min_404, msvc_min_1500, msvc_max_1700, gcc_max_505, openwatcom_min_109, testing
Commit 2019-02-04 - Barebones implementations for C++<1997, and some compatibility fixes.
  • cxxomfort: Fixed identification of OpenWatcom 1.9, 2.0 (Per-Compiler Notes).
  • cxxomfort: Added a separate header for code generation macros.
  • array: Added barbeones feature for Watcom (Per-Compiler Notes).
  • cstddef: Pending extend backport of std::byte.
  • functional: Fixed transparent functors detected in MSVC 2013.
  • random: Disabled temporarily in C++<1997 mode.
  • string: Added operator<< for Watcom.
  • string_view: Reimplemented for C++<1997 mode.
  • string_view: Fixed ostream operator for C++<1997, basic_ostream<char> only.
  • system_error: Disabled in <1997 mode.
  • tuple: Disabled in <1997 mode (Per-Compiler Notes).
  • library: Disabled temporarily in <1997 mode (Per-Compiler Notes).
check-in: d5f10c30 user: luismachuca tags: trunk, y2019, pre-release, msvc_max_1700, gcc_max_505, clang_max_303
Commit 2019-02-01 - All these fixes have some traits in std::common.
  • cxxomfort: Fixed detection of Clang 3.x, 4.x and features.
  • cxxomfort: Fixed detection of namespace tr1 in Clang C++03 mode, STDLIB mode.
  • cxxomfort: Fixed to_byte missing cxxomfort::fix.
  • cxxomfort: Improved documentation.
  • config: Fixed the definition of CXXO_TYPEOF and scenarios.
  • config: Fixed (partial) OpenWatcom seeing C++03 features it can't compile with (templates).
  • cuchar: Fixed detection of typedefs in Clang (< 5.0).
  • functional: Fixed usage of tr1::hash in Clang C++03 mode.
  • memory: Fixed hash<unique_ptr> (C++03, MSVC, Clang).
  • string: Fixed hash<basic_string< > > (C++03, Clang).
  • type_traits: Fixed detection of traits in Clang in C++03 mode.
  • type_traits: Fixed forwarding of common_type for MSVC >= 2012.
  • library: Fixed type_name for Clang (< 5.0).
  • TBA: cxxomfort: Adjust for Clang with LIBCXX, in C++03 mode.
check-in: f5381a77 user: luismachuca tags: trunk, y2019, pre-release, msvc_max_1700, gcc_max_505, clang_max_303
Commit 2019-01-28 - New year, new major, fix::ing some stuff.
  • cxxomfort: Added basic identification for OpenWatcom C++.
  • cxxomfort: Deprecated VERSION.txt.
  • cxxomfort: Removed the deprecated *fn.hpp headers in library/.
  • tags: Updated tags file with new version, containing only the library functions.
  • tags: Added cxxomfort-macros.cpp.tags with the configuration and code generation macros.
  • functional: Moved hash to cxxomfort::fix.
  • random: Added cxxomfort::fix for shuffle_order_engine, knuth_b for MSVC 2010.
  • type_traits: Move cxxomfort's common_type to cxxomfort:fix.
  • type_traits: Fixed cxxomfort::fix::common_type to recurse from the left instead of from the right, as per cppreference.
  • type_traits: Added remove_cvref from C++20.
  • library: Removed make_array_ref.
  • library: Added functional: equivalent_equal_to.
  • library: Moved randint() and related utilities to lfv2 namespace.
  • library: Added utility: simple_pair.
  • TBA: cstdio fix:: for vsnprintf.

This is the first commit to be tagged as "pre-release", in preparation to what could reasonably be called cxxomfort v1.0.

Starting with this version, we'll hopefully also see more isolated, atomic commits, in particular when it comes to features that have to go inside the fix:: namespace. check-in: 4dc2d6a4 user: luismachuca tags: trunk, y2019, pre-release, msvc_max_1700, gcc_max_505

Commit 2018-12-31 - A year ends in function.
  • cxxomfort: Most of the code in Features (not in Supplementals) has been edited to not require using.hpp.
  • config: Fixed an error that undefined "emulation" mode in GCC 4.7 to 4.9 when using "-std=c++11" rather than "-std=c++0x".
  • config: Minor fixed for GCC 4.4, even if still unsupported.
  • array: Added file.
  • functional: Added std::invoke for C++11, C++14.
  • functional: Added std::not_fn from C++17.
  • random: Added std::default_random_engine to C++03.
  • string_view: Removed constexpr from member functions that can't support it in C++11.
  • string_view: Added relational operators.
  • library:algorithm: Added valcmp (generic version of strcmp, memcmp).
  • library:algorithm: Added erase, erase_if from Fundamentals V2.
  • library:functional: Added function_ref from llvm.
  • library:functional: Added function_caller, function_facet.
  • library:random: Added numerical_recipes, MMIX typedefs for lcg.
  • library:random: Added splitmix64, from Sebastiano Vigna.
  • library:random: Added reseed, randint from Fundamentals V2.
check-in: b64fff24 user: luismachuca tags: trunk