Etl Versions Save

Embedded Template Library

20.38.15

1 week ago

#892 Compilation Error with constexpr in etl::string_base::size() on ESP-WROVER-KIT (c++11) Removed ETL_CONSTEXPR from etl::string_base::size(). Removed ETL_CONSTEXPR from etl::vector::size().

20.38.14

2 weeks ago

Features: Added GCD and LCM algorithms. etl::gcd and etl::lcm Added specialisations of etl::rotate for different iterator types Added ETL_NODISCARD, ETL_CONSTEXPR14 and ETL_NOEXCEPT to etl::absolute and etl::absolute_unsigned

20.38.13

1 month ago

Revert change #804 to restore value initialisation of type0 for default constructor

20.38.12

1 month ago

#815 etl::remove_if calls predicate twice for first iterator, where predicate returns true. #885 Bug: queue move-assignment is not compiling Modified UnitTest++ SUITE macro for better VS2022 intellisence compatibly

20.38.11

1 month ago

Fixes: #803 etl::unordered_map buffer overflow #805 legacy etl::bitset set/reset does not work if the element type is greater than 8 bit #815 etl::remove_if calls predicate twice for first iterator, where predicate returns true. #819 etl::optional cannot return an optional object of self from member function #820 etl::send_message does not allow for non-virtual calls #825 Fixed extent etl::span shouldn't allow default constructor #827 Declaration order for etl::first_set_bit_position in binary.h #829 Possible bug on assign of etl::array #830 gcc warning - potential null pointer dereference using etl::map #845 etl::message_packet missing a copy constructor #857 etl::expected emplace methods are missing-return #868 etl::variant is missing comparison operators #869 etl::fsm::receive function can call p_state process_event also when p_state is nullptr #873 Validate allocated DataNode is not null to prevent gcc Wnull-dereference #874 Allow direct removal of a node from an etl::intrusive_list #877 Optimize find_first_not_of and find_last_not_of on string_view #855 Strange expression in volatile atomic operator--

Pull Requests: #782 etl::set is full error when adding existing item #804 etl::variant (variadic) default constructed state #812 Implement SAE-J1850 CRC8 #832 Only copy/move storage value when optional is valid #843 In subspan function, add static checks on extents #849 Fix string_stream add missing initializations of const format specifiers #850 Fixed names according to Arduino's guidelines #854 In-place construction of shared_message #858 Fix unique_ptr assigning nullptr to a null unique_ptr causes an assert #861 Implement constexpr strong type_def #862 Update ETL_CONSTEXPR and C++14 designation from type_def #863 Add eq and ne operators for compare utility #865 Add utils compare equality operator #879 Make include paths to private files relative

Features: #774 Truncating access for etl::bitset - Added extract() functions. #806 etl::variant_pool should support C++17 variadic parameters (supports C++11 variadic parameters) #818 Apply code spell check across entire code base #841 Change push to push_back on containers, so they can be used with std::back_inserter. (Added push_insert_iterator instead). #847 Add has_active_timer to callback_timer. (Added to all timers). #883 Add etl::partition and etl::nth_element algorithms #864 cyclic_value first/last methods. Make first() and last() static for template based limits specialisation

Changes without a GitHub issue#: Added etl::mem_fn (clone of std::mem_fn) Added etl::generate algorithm (clone of std::generate) Added binary functors for ~ & | ^ Added etl::is_default_constructible & etl::is_default_constructible_v Added syntax checks to GitHub CI Refactored etl::optional implementation Fixed etl::optional operator =() for invalid values with non-pod types Refactored message_packet constructors Added specific copy and move constructors to message_packet for C++17 and above. Changed optional 'simple' types implementation for C++14 constexpr compatibility Fixed implicitly disabled copy constructor for message_packet Modified accepts() message_router functions to interrogate subscribed and successor routers to achieve consistency. Fixed nodiscard keyword errors Removed unused ETL_STATIC_CONSTANT Make binary functor operator() const Improved display of CHECK_EQUAL_HEX in UnitTest++

20.38.10

5 months ago

20.38.9

5 months ago

#799 Iterator returned by crc.input() does not satisfy std::output_iterator Added etl::crc1 (parity)

20.38.8

5 months ago

#795 etl::private_variant doesn't fully respect the chosen error reporting. #797 Undeclared FP_NAN, FP_INFINITE and FP_ZERO

20.38.7

5 months ago

Updated CI scripts Refactored GitHub CI workflows Updated build script text Added additional etl::make_lsb_mask and etl::make_msb_mask binary functions. Mask functions are now constexpr for C++11 and above. #779 hash.h: warnings produced with -Wfloat-equal #781 etl::multi_span::iterator::operator *() fails if first span is empty #780 endian enum_type produces useless-cast warnings #783 Cannot insert existing value to full set #786 Added u8string #787 etl::expected doesn't compile with ETL_LOG_ERRORS

20.38.6

7 months ago

Refactored etl::itr_swap for maximum efficiency.