Releases: ETLCPP/etl
Added array and string views
Added etl::array_view and etl::string_view
etl::array view allows a consistent API when dealing with std::array, etl::array, std::vector, etl::vector, C arrays and dynamically allocated arrays. See https://www.etlcpp.com/array_view.html
Pool : Changed alignof to etl::alignment_of
Pool
Changed alignof to etl::alignment_of
Various changes - See description
Added etl::variant_pool as a replacement for etl::factory.
Deprecated etl::factory
etl::forward_list
Renamed include guard to avoid clash with list.
Removed factory from unit tests.
multimap & multiset
Changed static const to enum.
hash & strings
Removed default function template parameter value.
FSM
Moved get_fsm_context() from public to protected in etl::state
Binary
Added sign_extend functions with shift parameter.
Added new binary.cpp for non-template functions.
Added bit<> template constant
Added bit enumerations
Debug count
Added clear()
Type lookup
Simplified codebase
Message router
Added 'successor' member to allow implementation 'Chain Of Responsibility' pattern.
IO Ports
Changes value() to read().
Rewrite of classes to improve efficiency by removing iterator indirection step.
Fixed inconsistencies in the dynamic IO port API.
Type traits
Added 'conditional_integral_constant' to complement 'conditional'
Eliminated various warnings from GCC comilation
Clean compile for GCC warnings
-Wundef
-Wshadow
-Wstrict-aliasing
-Wunused-parameter
Added C timer framework + fixed FSM bug
Added a version of etl::callback_timer for C applications.
Fixed bug in etl::fsm where on_exit_state would be called after the state had changed.
Added timer triggered messages & callback framework + others
Added timer triggered message & callback frameworks.
More compile time etl::function variants.
Separated etl::cyclic_value into runtime and compile time variants.
Added type utility classes and object factory template.
Added type utility classes and object factory template.
Added new random number generator
Added new random number generator, multiply-with-carry
Message framework and Scheduler
A set of modular template classes that can be mixed and matched together to provide message routing, message buses, finite state machines and cooperative schedulers.
All of the message framework classes are based on etl::imessage_router, allowing combinations of Router/Bus/FSM.
The framework uses CRTP to eliminate the need for most virtual functions and enable direct calls to handler functions.
Also added 'generators' for several classes to allow the maximum number of handlers or types to be set according to project requirements.
16bit DSP compatibility fixes + others
16bit DSP compatibility fixes.
Removed count options and link types from intrusive link definitions.
Combined header files for many containers.
Added more compiler checks to platform.h.
Updated to unit test project to VS2017.
Updated Code::Blocks unit test project.
Added AppVeyor cloud testing.
Various other fixes.