Releases: ETLCPP/etl
Updated etl::array and etl::delegate
Added perfect forwarding for alternative callback for etl::delegate::call_or()
Pull Requests:
#1208 array noexcept expr
Fixed ETL_NOEXCEPT_EXPR for etl::array
Added ETL_NOEXCEPT for zero sized etl::array specialisation.
Fixes and pull requests
Updates:
Added etl::type_list_has_duplicates_of and etl::type_list_count_of
Fixes:
#1186 Fix usage of noexcept
#1203 Potential issue with forwarding in etl::delegate
Improved forwarding of arguments to bound functions.
Added compile time checks for functors and lambdas argument compatibility.
Pull Requests:
#1012 Implement Signal
A signal/slot implementation.
#1155 Added callbacks when a timer is inserted or removed
#1175 Debug assert
Added ETL_DEBUG_ASSERT macro, which is a debug only assert.
Added extra assert enable/disable macros.
#1188 etl::array checks
#1190 Enforce semicolon after ETL_ASSERT
#1191 Introduce cast to void for condition of assert
Avoids compiler warnings for unused results of ETL_ASSERT and ETL_DEBUG_ASSERT
#1192 Allow easy creation of generic exceptions with just a text
#1195 Added conditional support of noexcept to fix IAR support
#1196 Added back in support for populating non 8 bit strings with 8 bit data
#1198 Add etl::is_constant_evaluated
#1199 Added support for transitions on state enter for HFSM
#1201 etl::span checks
Reverted some noexcept changes
#1185 Remove noexcept from delegate method stubs.
Removed ETL_NOEXCEPT from delegate operator(), call_if(), and call_or()
Removed ETL_NOEXCEPT from closure
Reverted some breaking changes
Multiple fixes
Updates:
Added automatic use of __builtin_memcpy, __builtin_memmove, __builtin_memset, __builtin_memcmp, and __builtin_memchr for GCC and Clang, if available.
#1170 Place a typed pointer instead of a bool into etl::typed_storage
Modified the storage used by etl::typed_storage to be a union, along the lines of etl::optional.
Added etl::typed_storage_ext to wrap external storage.
Fixes:
#1171 optional of a const arary can't be emplaced with gcc-15
#1176 Fix GCC __builtin_memcpy errors when compiling with -O2 optimisation
#1180 Duplicate definition of const_reference in etl::const_set_ext
#1181 Compilation errors on basic_string
Pull Requests:
#1169 Remove Unreachable Break Statements
#1172 Make call interfaces in etl::delegate and etl::closure conditionally noexcept
#1177 Fix .clang-format
#1179 Made all 'noexcept' statements use ETL_NOEXCEPT macro
Many updates and fixes
Updates:
Added 'emplace' constructor to etl::optional
Added etl::delegate_observable
Added return_type and argument_types to etl::delegate
Added etl::nontype_t<>
Added etl::not_null<>
#1054 Using #pragma once
#1159 etl::fsm helper to check states id sequence at compile time
#1160 Feature request: rounded division (similar to scaled rounding)
#1162 etl::fsm: Allow set_state(new_id) from the outer calls
Fixes:
Fix gamma tests (removed integral tests)
#1126 to_arithmetic does not compile on C++98
#1150 Bug in the void etl::unlink(first, last) for bidirectional links.
#1151 test failure in i386 in 20.42.1: test_replace_strings in test_string_utilities.c fails
#1152 Patch: use "python3 -m cogapp" instead of "cog" in generate.bat
#1153 ROM size increase after algorithm_exception introduction
#1156 Name conflict between template parameter and status register macro on MSP430 devices
#1158 Bug: Inverted logic in ! __has_include() check causes compilation failure on compilers without header
Pull Requests:
#955 Implements deferred callback timer with optional priority
#1147 Fix compile error in closure.h by using etl::forward
Fixes and additions
Updates:
Added etl::crc8_opensafety
Added etl::crc16_opensafety_a and etl::crc16_opensafety_b
Added etl::crc64_iso
Added etl::type_lists_are_convertible
Made etl::closure constexpr for C++14
Made invocation of delegate consrexpr for C++14
#1132 Request: Make type_def Methods Noexcept
Fixes:
Fix gamma tests (removed integral tests)
#1126 to_arithmetic does not compile on C++98
#1150 Bug in the void etl::unlink(first, last) for bidirectional links.
#1151 test failure in i386 in 20.42.1: test_replace_strings in test_string_utilities.c fails
Pull Requests:
#955 Implements deferred callback timer with optional priority
#1147 Fix compile error in closure.h by using etl::forward
#1147 Fix compile error in closure.h by using etl::forward
#1147 Fix compile error in closure.h by using etl::forward
Added const maps and sets. Added etl::closure
Updates:
Removed redundant ETL_USING_WIDE_CHARACTERS
#1118 Constexpr constructible flat_map, map, and set containers.
Added etl::const_map, etl::const_map_ext,
etl::const_multimap, etl::const multimap_ext
etl::const_set, etl::const_set_ext,
etl::const_multiset, etl::const multiset_ext
Fixes:
#1126 to_arithmetic-does-not-compile-on-C++98
#1128 Request: Make Delegate Methods noexcept
#1130 Use of etl::mem_copy for overlaped areas
#1132 Make type_def Methods Noexcept
#1143 v20.41.x, risc-v (esp32-c3) "No user defined specialisation of etl::underlying_type for this type"
Pull Requests:
#1131 Fix usage of template keyword
#1136 Fix gamma.h on i386
#1137 Add etl::closure
#1138 Ignore deprecation of std::float_denorm_style
#1139 Cleanup to get more independent of std
#1140 Use std::byteswap only if available
#1141 Fix build of tuple on clang >= 19
#1142 Fix tests on big endian
#1144 Add support for CRC8-NRSC5
#1145 Workaround for link libraries call on Zephyr platform