309 Commits

Author SHA1 Message Date
John Wellbelove
c38d2db118 array_view-not-explicit 2020-09-22 09:30:06 +01:00
John Wellbelove
fa25f02bb1 Refactoring of 18.15.0.
Modified constructor syntax.
2020-09-19 10:31:44 +01:00
John Wellbelove
f6ce3f59bd Allow strings with external buffers to use a pre-initialised buffer. 2020-09-15 19:51:06 +01:00
John Wellbelove
2abc4ee962 Fixed conditional compilation macro use for template deduction guides 2020-09-12 13:55:09 +01:00
John Wellbelove
14d1b96c64 Added template deduction guides for array and array_view 2020-09-10 13:07:04 +01:00
John Wellbelove
d234d5ce0d Added a line coordinate generator using the Bresenham algorithm. 2020-08-30 11:20:00 +01:00
John Wellbelove
3a203a9754 Make etl::reference_wrapper API closer to the STL version. Does not support invocation of a callable object. 2020-08-28 16:14:28 +01:00
John Wellbelove
f2d6df5944 Fixed etl::stack top level assignment operator not clearing before copy 2020-08-27 18:40:05 +01:00
John Wellbelove
f339e8d3da Fixed issue for incorrect operation of erase(const_iterator, const_iterator)
when the terminating iterator was end() for etl::unordered_map, etl::unordered_multimap, etl::unordered_set and etl::unordered_multiset.
2020-08-15 21:00:18 +01:00
John Wellbelove
254a8d4035 String stream test << operator in etl namespace 2020-08-08 13:50:05 +01:00
John Wellbelove
bd578b6e77 Resolve 0U ambiguity in string utility tests 2020-08-02 15:14:52 +01:00
John Wellbelove
bd392b400c Updated version numbers 2020-08-02 14:36:51 +01:00
John Wellbelove
72eb5817f2 Fixed compiler compatibility issues in etl::forward_list and etl::list 2020-08-02 10:50:04 +01:00
John Wellbelove
c80f30e990 Recoded string utility get_token() 2020-08-01 14:18:51 +01:00
John Wellbelove
40fc617466 Fix and optimise etl::list and etl::forward_list shared pool move constructors and assignment operators. 2020-07-30 12:52:40 +01:00
John Wellbelove
8f0199c789 Added etl::ibitset::span() member functions to return a span of the underlying binary data.
Moved image resources
2020-07-27 10:52:07 +01:00
John Wellbelove
923ac42b96 Updated version numbers 2020-07-26 13:25:50 +01:00
John Wellbelove
997eb85f75 Added enable/disable observer interface to observable class 2020-07-25 16:57:02 +01:00
John Wellbelove
8d60eb5e0e Fixed incorrect return in find() and at() for non-existent key. 2020-07-20 19:55:19 +01:00
John Wellbelove
05647e5256 Fix C++03 error_handler compatibility 2020-07-20 10:14:28 +01:00
John Wellbelove
2cf00a0ba4 Re-coded string utilities to allow any string-like container to use it. 2020-07-18 20:18:32 +01:00
John Wellbelove
0a1b49c8f8 Removed to_upper_case, to_lower_case & to_sentence_case from wstring_utilities, u16string_utilities & u32string_utilities 2020-07-17 11:31:06 +01:00
John Wellbelove
f48cafd007 Updated version numbers 2020-07-16 11:26:40 +01:00
John Wellbelove
509a930b55 Added stream manipulators 2020-07-09 14:21:40 +01:00
John Wellbelove
3e2352770b string streams 2020-07-05 20:55:14 +01:00
John Wellbelove
a27508ca96 Refactored etl::error_handler to use etl::delegate style implementation.
Allows set_callback() function to be given run-time and compile-time pointers to free and member functions without using etl::ifunction.
2020-06-26 10:48:14 +01:00
John Wellbelove
eabe328398 Changed std::move to etl::move in std::optional and std::queue
Fixed etl::span subspan with etl::dynamic_extent
2020-06-18 16:55:27 +01:00
John Wellbelove
d21be04f66 Fixed type traits C++03 compatibility 2020-06-04 19:15:09 +01:00
John Wellbelove
dda5aa09fa Removed surplus 'typename T' in pool create() for C++03 2020-05-28 11:12:15 +01:00
John Wellbelove
f8fbb119f7 C++03 compatibility changes for type_traits.h 2020-05-27 11:57:41 +01:00
John Wellbelove
7827909a82 Added etl::parameter_pack 2020-05-23 16:19:39 +01:00
John Wellbelove
0bfc97a914 Variadic versions of etl::type_id_lookup and etl::type_type_lookup for C++11 and above. 2020-05-19 20:12:12 +01:00
John Wellbelove
d7dd2ca1b4 Updated versions 2020-05-12 23:39:15 +01:00
John Wellbelove
638d6ac8e6 Updated version 2020-05-12 10:39:35 +01:00
John Wellbelove
e39554e36c Updated version numbers 2020-05-11 14:46:47 +01:00
John Wellbelove
d55695e3d4 Strings may use external buffers if the 'max size' template parameter is zero. 2020-05-09 12:47:55 +01:00
John Wellbelove
06860eb840 Fixed 'insert to empty container' bug for deque 2020-05-05 15:47:24 +01:00
John Wellbelove
380da33ff1 Updated version numbers 2020-04-30 12:54:15 +01:00
John Wellbelove
548345cf8c Modified etl::delegate for better lambda support.
Added etl::is_class to type_traits.h
Added missing return statement in etl::move_iterator in 'operator ='
Added upport for compilers that do not support LDBL_xxx macros
2020-04-29 17:29:44 +01:00
John Wellbelove
3cd9be0c2a Added check for NAN, nan(), nanf() or nanl() support. 2020-04-28 14:23:40 +01:00
John Wellbelove
fda323b837 Added determine_development_os.h to platform.h to attempt to automatically deduce the OS that the developer is using.
Added subsequent changes to unit test's etl_profile.h
Removed CMakeLists.txt that auto selected profiles header (this should be done in the project's etl_profile)
Removed profiles/etl_profile.h
Added missing tests to unit test's CMakelists.txt
2020-04-20 09:05:22 +01:00
John Wellbelove
cdeef0fecc Updated message router and FSM
Deprecated is_null_router(), added is_producer() and is_consumer()
2020-04-14 10:12:52 +01:00
John Wellbelove
b54ab99483 Changed etl::move to etl::forward in etl::make_pair
Added implicit conversions between etl::pair and std::pair
2020-04-13 18:39:56 +01:00
John Wellbelove
5332cffe44 Add message producer 2020-04-10 15:17:07 +01:00
John Wellbelove
7df68346aa Make etl::array_view immutable by default 2020-04-10 11:20:01 +01:00
John Wellbelove
8171fe3784 Modified etl::message_packet to allow default construction, copy/move construction and copy/move assignment. 2020-04-09 14:17:35 +01:00
John Wellbelove
afa10ea187 Changed local 'work' variables from uint_least8_t to uint32_t to avoid possible overflow.
Fixed miss-spelt scheduler policies. Typedef'd old names for backwards compatibility.
2020-04-08 09:59:57 +01:00
John Wellbelove
788f8dbdb8 Make etl::span::subspan functions compatible with C++11 constexpr 2020-04-02 12:57:56 +01:00
John Wellbelove
492d78b9b1 Removed double definition of default: case in switch. 2020-04-02 11:05:33 +01:00
John Wellbelove
7b61eec2a6 Added etl::span 2020-04-01 15:11:07 +01:00
John Wellbelove
9ce2710ef8 Updated version number 2020-03-31 13:22:45 +01:00
John Wellbelove
a108addf84 Added move API to unordered map and set containers.
Added a 'move' member function that moves items into the containers.
2020-03-30 18:05:33 +01:00
John Wellbelove
0158031214 Created scheduler example project. 2020-03-29 14:55:19 +01:00
John Wellbelove
2d77b63de3 Created CMakeLists.txt files for QueuedFSM and QueuedMessageRouter example projects. 2020-03-29 13:40:13 +01:00
John Wellbelove
bff480b9a2 Removed ETL's implementation of nullptr for pre C++11 compilers.
Created the macro ETL_NULLPTR for internal use. Equates to NULL or nullptr, dependent on the compiler version and project profile.
Added partial compile time versions of binary_fill and has_zero_byte.
2020-03-28 19:16:55 +00:00
John Wellbelove
d59f53fe25 C++98/03 compatibility changes 2020-03-27 13:11:17 +00:00
John Wellbelove
c90c7967c6 Added etl::message_packet classes 2020-03-23 19:49:24 +00:00
John Wellbelove
4df9197aeb Fix C++03 compatibility issues in memory.h and utility.h 2020-03-20 19:59:38 +00:00
John Wellbelove
a06332f163 Updates to make unique_ptr similar to std::unique_ptr
Fixed unique_ptr swap() compilation issue
Added mutex for FreeRTOS
2020-03-19 17:59:45 +00:00
John Wellbelove
1eccbdbbbe etl::exchange modified for better C++03 compatibility 2020-03-19 10:37:03 +00:00
John Wellbelove
582aa051c5 rvalue reference support for heap functions and etl::priority_queue 2020-03-18 19:51:41 +00:00
John Wellbelove
c5ee3ec0ab Merge remote-tracking branch 'origin/hotfix/type_traits_is_rvalue_reference' into development
# Conflicts:
#	include/etl/type_traits.h
2020-03-18 14:32:00 +00:00
John Wellbelove
e4ad911468 Small compatibility fix to nullptr.h 2020-03-18 00:39:38 +00:00
John Wellbelove
a5de2a3de8 Update version numbers 2020-03-15 17:59:35 +00:00
John Wellbelove
aa80ddfccb Updated version number 2020-03-02 21:30:36 +00:00
John Wellbelove
f20969ea40 Added #if ETL_CPP11_SUPPORTED around etl::is_rvalue_reference 2020-02-26 19:47:36 +01:00
John Wellbelove
e3f665d3b2 Moved definition of swap to utility 2020-02-24 10:32:41 +01:00
John Wellbelove
5cdcc8d4c6 Fix etl::pair error and warning 2020-02-18 10:45:09 +01:00
John Wellbelove
e6617dc7e7 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
2020-02-12 09:40:20 +01:00
John Wellbelove
9dd88e1885 Merge remote-tracking branch 'origin/development' 2020-02-11 13:27:43 +01:00
John Wellbelove
b80763e644 Fixed incorrect ETL_ALWAYS_ASSERT in etl::callback_timer 2020-01-29 17:38:02 +00:00
John Wellbelove
a1a0391282 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
2020-01-15 16:32:01 +00:00
John Wellbelove
282655259f Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
2020-01-14 17:54:56 +00:00
John Wellbelove
8a99a2725c Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
2020-01-14 12:46:17 +00:00
John Wellbelove
af5a760d5d Merge remote-tracking branch 'origin/development' 2020-01-14 11:57:04 +00:00
Ivan Kravets
e6a58db040 Fix broken manifest (#187) 2020-01-13 14:31:28 +00:00
John Wellbelove
6ad77153be Final changes 2020-01-10 14:01:33 +00:00
John Wellbelove
d6f8b69326 Merge remote-tracking branch 'origin/feature/determine_compiler_versions' into development
# Conflicts:
#	examples/ArmTimerCallbacks - C++/ArmTimerCallbacks.uvprojx
#	examples/ArmTimerCallbacks - C++/main.cpp
#	include/etl/algorithm.h
#	include/etl/platform.h
#	include/etl/stl/alternate/limits.h
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
#	test/codeblocks/ETL.cbp
#	test/etl_profile.h
#	test/vs2017/etl.vcxproj
#	test/vs2017/etl.vcxproj.filters
2019-12-27 12:57:34 +00:00
John Wellbelove
41fc53c805 Updated version number 2019-12-22 21:26:20 +00:00
John Wellbelove
3382ed03a3 Move ETL_NODISCARD definition to ETL_CPP17_SUPPORTED test 2019-12-18 10:09:57 +00:00
John Wellbelove
7e5a4e1efe Merge remote-tracking branch 'origin/crc-ccitt-xmodem' into development
# Conflicts:
#	README.md
2019-12-12 12:19:05 +00:00
John Wellbelove
703fe0f92b Changes to alternate STL limits.h for ARM5 compiler compatibility 2019-12-11 12:57:50 +00:00
John Wellbelove
3649f839f5 Merge remote-tracking branch 'origin/feature/make_string_with_capacity' into development
# Conflicts:
#	include/etl/cstring.h
#	include/etl/u16string.h
#	include/etl/u32string.h
#	include/etl/wstring.h
2019-12-06 12:39:31 +00:00
John Wellbelove
727596b6ed Merge remote-tracking branch 'origin/feature/etl__make_string' into development
# Conflicts:
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
2019-12-04 20:55:18 +00:00
John Wellbelove
792cb7bcc8 Merge remote-tracking branch 'origin/feature/no_stl_unit_tests' into development
# Conflicts:
#	include/etl/private/choose_pair_types.h
#	include/etl/private/choose_tag_types.h
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
2019-12-02 12:05:27 +00:00
John Wellbelove
5803d928a1 Merge remote-tracking branch 'origin/feature/no_stl_unit_tests' into development
# Conflicts:
#	include/etl/stl/alternate/algorithm.h
#	include/etl/stl/alternate/iterator.h
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
#	test/test_no_stl_algorithm.cpp
#	test/test_no_stl_iterator.cpp
#	test/vs2017/etl.vcxproj
2019-12-01 18:21:10 +00:00
John Wellbelove
00431999d9 Added reverse_iterator unit tests
Fixed missing equality operator for reverse_iterator.
2019-11-28 20:36:58 +00:00
John Wellbelove
afeb63575e Added missing C++11 conditional compilation in callback_timer.h 2019-11-27 10:35:41 +00:00
John Wellbelove
cbdc8a9299 Updated version numbers 2019-11-26 10:57:45 +00:00
John Wellbelove
db87c66070 Updated version numbers 2019-11-24 13:23:40 +00:00
John Wellbelove
906a56aa6a Fixes to the return value of copy and copy_n 2019-11-21 21:01:04 +00:00
John Wellbelove
7a4c74f8df Fix LLVM & GCC highlighted error for initialisation order. 2019-11-16 19:06:30 +00:00
John Wellbelove
4dd4574743 Added 'from_string' functions.
Added 'value' functions.
2019-11-05 15:53:05 +00:00
John Wellbelove
5840a4b005 multimap and multiset erase bug fix 2019-11-05 12:20:17 +00:00
John Wellbelove
2281a159aa Updated versions 2019-11-05 09:15:15 +00:00
John Wellbelove
c0ca7c9d87 Add assert check for uninitialised delegate call 2019-11-04 12:27:16 +00:00
John Wellbelove
52975b209f Fixed incorrect result when rounding up to integral part. 2019-10-31 14:33:58 +00:00
John Wellbelove
e5325aa379 Fixed incorrect result for negative float to string 2019-10-11 18:35:58 +01:00
John Wellbelove
512ab6338d Changed STL alternate namespace to always be 'etlstd'.
Changed std:: to ETLSTD:: macro to select std:: or etlstd:: depending on existence of ETL_NO_STL.
2019-10-10 11:12:35 +01:00
John Wellbelove
e47eef4959 Fixed strict aliasing bug for -O3 optimisation in etl::pool 2019-10-09 11:23:18 +01:00
John Wellbelove
f277020fa0 Fix alternate STL utility.h for ARM6
Added ARM7 profiles.
2019-09-30 10:05:01 +01:00
John Wellbelove
f1fd87de05 Updated unit test project to support C++17 2019-09-28 12:11:46 +01:00
John Wellbelove
e94d088d5f Added Platform IO examples 2019-09-26 07:29:46 +01:00
John Wellbelove
901c6e9a91 Update json & properties 2019-09-25 09:30:51 +01:00
John Wellbelove
f49c07b91c More PIO json tweaks 2019-09-24 10:39:18 +01:00
John Wellbelove
32b5932163 Updated json & properties 2019-09-23 19:50:17 +01:00
John Wellbelove
646af4b318 Fixed JSON errors 2019-09-23 19:44:36 +01:00
John Wellbelove
0f35e3c384 Removed ECL
Updated properties and json files
Updated versions
2019-09-22 10:39:00 +01:00
John Wellbelove
281db12c17 Merge remote-tracking branch 'origin/master' into development 2019-05-05 11:39:47 +01:00