Skip to content

Releases: ETLCPP/etl

Shared pools, emplace, rvalue reference API for deque

16 Dec 22:25
Compare
Choose a tag to compare

Added move algorithms and utility to 'alternate' STL.
Added rvalue reference API to etl::deque.
Added C++03/C++11 emplace for deque, priority_queue, queues, stack, variant & vector.
etl::forward_list supports shared pools.
Added 'don't care current state' transition entry option.
Added hash based random number generator

All header library

13 Nov 07:50
Compare
Choose a tag to compare

The ETL is now an 'all header' library.

New features, updates and fixes

16 Oct 08:17
Compare
Choose a tag to compare

Use deleter in etl::unique_ptr::reset(...)
Added permuted congruential random generator
Added etl::state_chart
algorithm.h : Exchange use of deprecated/removed std::bind1st for std::bind when c++11 is used
etl::io_port : Fixed unaligned access.
etl::debug_count : Removed typed += & -= operators and replaced with templates.
Fix clang warnings on etl::unordered_map, etl::unordered_multimap, and etl::unordered_set
Added alternate STL support to allow 'No STL' option.
Added bind1st & bind2nd to alternate STL implementations.
Added maths constants
Add semicolon to DEBUG_COUNT definitions to fix clang extra semicolon warnings
Fix string compare tests to be more compatible across compilers.
Shared pools for certain containers.
No STL option : Added missing find_n & transform
nullptr for ARM5 compiler
Added 'uul' to 64bit literals
Added CRC16 MODBUS
Removed push(void) push_back(void) and push_front(void) function for containers.
Use diagnostic push and pop when suppressing GCC warnings to prevent suppressions from impacting code outside of ETL
Removed repeated semicolon, this helps to compile etl without errors
Added etl::bit_stream

Various updates and fixes

29 Jul 14:59
Compare
Choose a tag to compare

Unit tests run on VS2017, GCC v8 (Windows & Linux)

Added 'memory model' selection for queues to allow more efficient implementations.
Maximum queue sizes:
MEMORY_MODEL_SMALL 255 (254 for queue_spsc_atomic)
MEMORY_MODEL_MEDIUM 65535
MEMORY_MODEL_LARGE 2147483647
MEMORY_MODEL_HUGE 9223372036854775807

Fixed syntax errors highlighted by GCC v8
Removed reference_flat_set & reference_flat_map reliance on equality.
Removed flat_set & flat_map reliance on equality.
Added tests for limited support for self insert for strings.
Added wipe_on_destruct template class for secure wiping of objects on destruction.
Updated unique_ptr API.
Protected destructor for some FSM classes.
Observer's remove_observer returns bool.
Fixed vector of pointer typedefs
Added specialisation for vector<const T*>
Remove SFINAE from array_view.
Added default etl::less compare type appropriate map and set classes.
Moved non-template code in pvoidvector to cpp file.
Made atomic load const for non STL versions
Renamed STATIC_ASSERT to ETL_STATIC_ASSERT
Removed non-conforming std::nullptr
Compatibility changes for Segger IDE, GCC & STLPort
Merged CMake branch
Fixed compile error when ETL_DEBUG_COUNT is not defined.
Fix Github issue #73 (Timers)
Added CRC32-C (Castagnoli)
Added binary_fill
Added has_zero_byte
Added has_byte_n
Modified header guards.
Added etl::type_select
Added etl::null_type
Added capacity() to etl::queue
Prefixed max_size() and capacity() with ETL_CONSTEXPR in all queue types.
Added etl::permutations and etl::combinations constant templates.
Added improved atomics.
Added mutex

Improved 64bit compatibility

30 Mar 12:47
Compare
Choose a tag to compare

Changes to the library and unit tests to improve 64bit compatibility.

std::initializer_list constructors

25 Mar 13:46
Compare
Choose a tag to compare

Added std::initializer_list constructors to containers if ETL_CPP11_SUPPORTED is set to 1

New directory layout

19 Mar 08:19
Compare
Choose a tag to compare

The directory layout has been modified to a more standard format, allowing easier partitioning of #include directives.
Header files etl/include/etl
Source files etl/src

Last Arduino compatible release

18 Mar 14:24
Compare
Choose a tag to compare

Last Arduino compatible release.
The directory structure will be changed in version 11 to a more standard layout, as used by Boost etc. This will be incompatible with the requirements of the Arduino library standards.

Many changes. Extra features and warnings cleanup

26 Feb 21:08
Compare
Choose a tag to compare

Too many changes to list. See logs for details.
Extra features, warnings cleanup, etc.

Array Wapper, new XOR checksum, constexpr support.

25 Jan 10:22
Compare
Choose a tag to compare

Added etl::array_wrapper to add a zero cost STL like interface to pre-declared C arrays.
https://www.etlcpp.com/array_wrapper.html

Added etl::xor_rotate checksum algorithm.
https://www.etlcpp.com/hash.html

Added definition of ETL_CONSTEXPR to support constexpr when available.
https://www.etlcpp.com/macros.html