Releases: ETLCPP/etl
Various fixes
#749 Code change causes warning with armcc compiler
#753 IAR's overload resolution struggles with etl::span::span(etl::array&)
#754 ambiguous etl::bit_stream_reader::bit_stream_reader()
for some etl::span
#755 warning about constexpr
in array.h
#756 Parameter pack compilation error
#758 Move assignment not working for non-empty containers
#761 Make "private" includes relative
#765 etl::optional
cannot be constexpr
#766 etl::unique_ptr::reset()
can call deleter
with nullptr
argument
Re-enabled bit_stream_writer
tests
Updates & fixes
#696 fsm/hfsm self-transitions
#702 etl::message
not trivially_copyable
#744 Feature request: Get time when next timer will expire etl::callback_timer
#745 Assertion triggered in hash.h
when compiling for MSP430
#746 Missing etl::legacy::variant overload of emplace with 0 Arguments
#748 armcc error on vector::insert
Fixed unexpected pool release behavior when the pool is empty
Added C++03 compatible etl::move
and etl::move_backward
Allow C++03 delegate in etl::callback_timer
Change to require semicolons after debug count macros
Re-enabled tests for etl::string_ext
Removed redundant #includes
Added MutexMessageRouter
example
Fixes for etl::span, etl::expected and etl::variant
- #737
etl::equal
specialisation foretl::span
is deduced wrongly when using STL and CPP20. Added C++20 four iteratorstd::equal
variants. - #738
etl::expected
assignment operator won't work whenTValue
andTError
are the same type. Changed assignment frometl::unexpected
to usevariant::emplace
instead of direct assignment. - #739 Could not compile ETL with gcc 9.4.0 (C++11). Added compatibility for GCC-9 + C++11. Added missing return reference from
emplace
member function invariant_variadic.h
- Removed many -02 warnings for GCC-13
Various fixes
Minor fixes and enhancements
#723 Added missing final CR/LF to result.h
.
Fixed etl::optional
arrow and dereference operators.
Enhanced min/max push/pop headers. Detects mismatched header includes.
Fixes and updates
#708 Fix missing class key with friend.
#709 intrusive_list::iterator operator ->
should not dereference pointer before return.
#710 Calling accept on etl::variant
visits a copy instead of the original object.
#711 Added etl::is_forward_link
, etl::is_bidirectional_link
and etl::is_tree_link
to intrusive links. Added Constructors, access and status member functions to intrusive links.
#712 Unable to use etl::optional
with non-default-constructible POD objects.
#716 etl::variant
(variant_varadic) default constructed state
#720 etl::optional
rvalue value_or() broken
#722 Bitset accesses memory out of bounds
#725 variant_pool
create method should use etl::forward
Modified etl::visitor to allow direct specification of the argument type.
Added etl::is_visitor
trait.
Removed default link type for etl::intrusive_list
and etl::intrusive_forward_list
Note: The updates to etl::visitor
changes how arguments are passed. Previously arguments would always be passed by reference. The new behaviour is to pass the arguments exactly as the template parameter specifies.
The declaration below defines virtual visit functions that accept Square&
, Circle&
and const Triangle&
etl::visitor<Square&, Circle&, const Triangle&>
#700 Compilation error for [] map operator.
Fixed map const placement new issue.
Re-enabled memcast tests.
New features, updates and fixes
#663 Make unit tests compile for C++20
#675 Compilation error in optional.h
#684 Added sanitization fix for MinGW
#687 Build failure. constexpr keyword before template keyword
#689 Add as_bytes and as_writable_bytes
#690 Add rvalue accessors to expected and optional and update constructors
#692 operator [] for flat_map always calls default constructor for mapped_type
#695 Visiting a const variant (variadic)
#698 Behaviour of bidirectional_link nodes. Links are now cleared when unlinked
#699 Optional(POD) operator bool explicit
Optimised map/flat_map/unordered_map [] operator and insert()
Removed [] operator for reference_flat_map
Unit tests compile for C++11
Fixed C++11 constexpr compatibility
Removed redundant 'const' in template parameters
Updated CI scripts to enable C++ standard and optimisation selection
Updated static constant definitions
Fixed incorrect return types for reverse iterator begin() & end()
Updated C++ standard conditional compilation for reverse iterator functions
Fixed latest Address Sanitizer issues
Message packet unused parameter fix
Added ETL_OR_STD17 macro as the namespace for size()
Added Tasking compiler
Fix type traits generator
Fix test array sizes
Changed some ETL_ASSERT macros to ETL_ASSERT_OR_RETURN
Updated CMake files to allow C++ standard selection
Replaced ETL_ASSERT_AND_RETURN with ETL_ASSERT_OR_RETURN
Changed native char8_t check
Renamed Github vs2022.yml to visual-studio.yml
Updated Unittest++ checks
Comments and noexcept updates to placement new
etl::variant (variadic) refactor and updates for C++ standards compatibility
etl::overload available in C++17 only
map/flat_map speed optimisations
Various C++03 compatibility updates for maps
Refactored Bash compilation scripts to allow selection of C++ standard and optimisation level
Renamed Bash compilation scripts. Changed 'sanity checks' to 'syntax checks
Some internal constant case changes from all upper to capital case
Migrate the Visual Studio project to VS2022
#664 Migrate ETL project from VS2019 to VS2022