447 Commits

Author SHA1 Message Date
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
4e750272ba Merge branch 'development' 2020-04-09 14:18:34 +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
VasilenLazarovBOSCH
a282e3b05a
Without this change the standart GHS was not able to build it as GCC compiler does. (#209)
The return error was as follow :
../../external/etl/include/etl/deque.h", line 638 (col. 21): error #140: too many arguments in function call
2020-04-09 13:35:24 +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
9db26d293f Added move_iterator 2020-03-31 12:00:21 +01:00
John Wellbelove
9da18cdb07 Make move() private 2020-03-31 11:59:35 +01:00
John Wellbelove
cefce447b4 Remove initialisation of the moved from container. Not required by STL containers. 2020-03-31 11:59:05 +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
4fd8099a25 Updates to pool allocate() syntax for compatibility with older compilers 2020-03-28 10:26:07 +00:00
Tom
5cc55527f1
Two cpp98 fixes (#206)
* C++98/03 compatibility changes

* Added support for nullptr == and != for cpp98

* This default type made problem in cpp98

Co-authored-by: John Wellbelove <github@wellbelove.co.uk>
2020-03-28 08:29:05 +00:00
John Wellbelove
4ffb63344d Added 'friend const_iterator;' to iterator classes 2020-03-27 15:42:38 +00:00
John Wellbelove
d59f53fe25 C++98/03 compatibility changes 2020-03-27 13:11:17 +00:00
Tom
66bf24ad94
Removed redundant usage of cpp11 feature (#205) 2020-03-25 19:37:22 +00:00
John Wellbelove
c90c7967c6 Added etl::message_packet classes 2020-03-23 19:49:24 +00:00
John Wellbelove
031e86d1e3 Added etl::message_packet classes and generator 2020-03-23 19:48:43 +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
cajun-rat
7b1a813e43 FreeRTOS implementation of etl::mutex (#202)
Signed-off-by: Phil Wise <phil@phil-wise.com>
2020-03-19 17:23:36 +00:00
John Wellbelove
cf4cc49e56 Updated memory unit tests.
Added ETL_EXCEPTIONS_DISABLED macro test to platform.h
2020-03-19 17:16:29 +00:00
John Wellbelove
1eccbdbbbe etl::exchange modified for better C++03 compatibility 2020-03-19 10:37:03 +00:00
Tom
70dbda2e60
Made template compatible with cpp11 (#201) 2020-03-19 08:56:59 +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
7b48e3ebf3 type_traits.h is_one_of fix for C++03
Change 'using' to 'typedef' for add_lvalue_reference
2020-03-18 14:53:55 +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
Tom
51298be2e4
Added cpp11 non supported fixes (#200)
* Added cpp11 non supported fixes

* pull request fixes
2020-03-18 14:28:05 +00:00
John Wellbelove
32409ed7bb Small compatibility fix to nullptr.h 2020-03-18 00:49:50 +00:00
John Wellbelove
e4ad911468 Small compatibility fix to nullptr.h 2020-03-18 00:39:38 +00:00
John Wellbelove
cc09b2b3f3 Removed redundant includes 2020-03-17 19:26:48 +00:00
John Wellbelove
a5de2a3de8 Update version numbers 2020-03-15 17:59:35 +00:00
John Wellbelove
ebb14922a6 Move definitions of move_s to eliminate forward reference 2020-03-15 17:58:27 +00:00
John Wellbelove
5ce20082b0 Removed redundant include 2020-03-15 15:05:11 +00:00
Tom
03dc67e45c
Fixed white space (#197) 2020-03-12 17:28:09 +00:00
John Wellbelove
aa80ddfccb Updated version number 2020-03-02 21:30:36 +00:00
mchodzikiewicz
2c1faa1bf9
Add optional::has_value() to fulfill C++17's API (#195) 2020-03-02 12:32:56 +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
Tobias Müller
8f860964d4
Default to automatic profile detection if no profile is set (#192) 2020-02-09 11:50:50 +01:00
Tobias Müller
c757ede537
Add missing count calculation (#190) 2020-01-31 22:03:41 +00:00
John Wellbelove
b80763e644 Fixed incorrect ETL_ALWAYS_ASSERT in etl::callback_timer 2020-01-29 17:38:02 +00:00
Tobias Müller
238244e1a1 Fix warnings about implicitly-declared assignment operators (#189) 2020-01-24 12:01:46 +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
John Wellbelove
da20977d64 Merge remote-tracking branch 'origin/feature/refactor_type_traits' into development 2020-01-12 16:50:45 +00:00
John Wellbelove
97abf6ccc0 Added min_element & max_element 2020-01-12 16:25:37 +00:00
John Wellbelove
c794bf14fe Final changes 2020-01-11 17:22:33 +00:00
John Wellbelove
7fa142dc71 Final changes. Added wrapper around STL sort functions 2020-01-11 13:57:17 +00:00
John Wellbelove
6ad77153be Final changes 2020-01-10 14:01:33 +00:00
John Wellbelove
f54563ef07 Added use of C++11's 'alignof' keyword in 'alignment_of', if available 2020-01-10 13:27:05 +00:00
John Wellbelove
83347ccfdd Work in progress 2020-01-09 11:15:50 +00:00
John Wellbelove
b99be4b249 Work in progress 2020-01-04 19:47:40 +00:00
John Wellbelove
94c5eed5a4 Work in progress 2020-01-04 11:49:22 +00:00
John Wellbelove
fc50557003 Work in progress 2020-01-04 11:20:29 +00:00
John Wellbelove
c947ba3c7e Removed redundant overload 2019-12-28 11:12:20 +00:00
John Wellbelove
1335d5eb01 Erased 2019-12-27 12:57:46 +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
b04e886d48 Fix to gcc mutex 2019-12-26 20:15:22 +00:00
John Wellbelove
41fc53c805 Updated version number 2019-12-22 21:26:20 +00:00
John Wellbelove
766a338d32 Merge branch 'hotfix/add_construction_from_string_view' into development 2019-12-22 21:12:04 +00:00
John Wellbelove
0685ae9c20 Added explicit construction from string_view 2019-12-22 21:10:49 +00:00
John Wellbelove
7609f72447 Updated type_traits_generator 2019-12-19 20:01:15 +00:00
John Wellbelove
fca078fd9b Quick fix to ETL_HAS_MUTEX position in queue_mpmc_mutex.h 2019-12-18 10:20:35 +00:00
John Wellbelove
3382ed03a3 Move ETL_NODISCARD definition to ETL_CPP17_SUPPORTED test 2019-12-18 10:09:57 +00:00
John Wellbelove
0acbdb98b2 Refactored CRC classes for better code sharing and reduced resource requirements. 2019-12-12 20:42:37 +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
Rolan Reznik
b5184d903e Make string optimization (#179)
* Add NO_STL std::reverse implementation (#174)

Follows the example implementation on [1].

[1] https://en.cppreference.com/w/cpp/algorithm/reverse

* 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

* Fix merge function duplication

* Merge remote-tracking branch 'origin/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

* Update README.md

* make_string optimisation. String length is calculated in compile time, no need to use strlen.
2019-12-06 10:16:53 +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
84cfab6b32 Merge remote-tracking branch 'origin/feature/indirect_vector_algorithm_adaptor' into development
# Conflicts:
#	include/etl/indirect_vector.h
2019-12-04 16:23:35 +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
Rolan Reznik
7f7a29bce1 Added possibility to force explicit conversion of string from char. (#172)
i.e. string/string_view constructors from char* can be marked as explicit.

#170
2019-11-26 10:35:05 +00:00
John Wellbelove
db87c66070 Updated version numbers 2019-11-24 13:23:40 +00:00
Rolan Reznik
f54bdf8a85 Added assert.h include into memory.h. assert are used by unique_ptr. (#169) 2019-11-24 11:45:10 +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
487064b864 Fix to alternate copy return value. 2019-11-21 12:29:20 +00:00
John Wellbelove
c69ca9e41d Renamed to C standard header 2019-11-21 11:14:01 +00:00
John Wellbelove
73ac741108 Merge remote-tracking branch 'origin/feature/callback-timer-delegate-support' into development 2019-11-17 10:49:27 +00:00
John Wellbelove
50ada033bb Merged pull request 2019-11-17 09:25:11 +00:00
mchodzikiewicz
bab8cf9ba3 Add callback_timer support for etl::delegate (#164) 2019-11-17 09:20:15 +00:00
John Wellbelove
7a4c74f8df Fix LLVM & GCC highlighted error for initialisation order. 2019-11-16 19:06:30 +00:00
John Wellbelove
aafb6ecf9b Indirect vector, external buffers 2019-11-16 17:00:51 +00:00
John Wellbelove
01d0b42fe4 Modified the way that the 'No STL' macros are defined so that 'std' may be used in ETL code rather than the 'ETLSTD' macro. 2019-11-15 13:28:51 +00:00
John Wellbelove
fe36361973 Finalised sort functions.
Added 'no STL' support.
2019-11-15 10:14:48 +00:00
John Wellbelove
87b202b27f Added indirect_vector 2019-11-13 14:12:10 +00:00
John Wellbelove
ad165b34ee Spelling correction 2019-11-13 13:17:58 +00:00
John Wellbelove
55bc3443a0 Added copyright notice to merge sort functions 2019-11-13 13:17:34 +00:00
John Wellbelove
0165ce4a9c Modified valid check call 2019-11-13 13:17:07 +00:00
John Wellbelove
8509df67c7 Added shell and insertion sort (insertion sort to be optimised for pointers & PODs)
Call specific sorts from sort() and stable_sort()
2019-11-13 13:16:45 +00:00
John Wellbelove
1b0e9c5f9f Merge remote-tracking branch 'origin/feature/add_from_string_functions_to_bitset' into development 2019-11-07 10:38:04 +00:00
John Wellbelove
98026fddab Added tests for 'value()' at type limits. 2019-11-07 10:37:31 +00:00
John Wellbelove
83babbd921 Added 'from_string' functions.
Added 'value' functions.
2019-11-06 16:16:24 +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
dadc3c530f multimap and multiset erase bug fix 2019-11-05 11:27:27 +00:00
John Wellbelove
2281a159aa Updated versions 2019-11-05 09:15:15 +00:00
NeimadG
7cb1967a89 br test set lowerbound (#163)
* add test of etl::set:lower_bound

* fix etl::set::lower_bound

* fix map, extra test map/multiset/multimap
2019-11-05 08:46:40 +00:00
John Wellbelove
61a2d64555 Undo commit 2019-11-04 15:25:03 +00:00
John Wellbelove
db8f03c184 Changed strlen to etl::strlen 2019-11-04 15:17:25 +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
b32cc92edc Fixed rounding up bug in etl::to_string 2019-10-31 12:56:07 +00:00
John Wellbelove
e5325aa379 Fixed incorrect result for negative float to string 2019-10-11 18:35:58 +01:00
John Wellbelove
02f7326a09 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 13:05:59 +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
5a8c653004 Fixed strict aliasing bug for -O3 optimisation in etl::pool 2019-10-09 10:35:13 +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
e8e4fa3f0d Updated unit test project to support C++17 2019-09-28 11:25:25 +01:00
John Wellbelove
e94d088d5f Added Platform IO examples 2019-09-26 07:29:46 +01:00
John Wellbelove
f49c07b91c More PIO json tweaks 2019-09-24 10:39:18 +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
188647667d Allow conan's etl version metadata to automatically update via git tags 2019-09-19 10:59:53 +01:00
John Wellbelove
31161040e7 Fixed unordered_map iterator operator* return type 2019-09-16 15:59:46 +01:00
John Wellbelove
2bc97e5022 Small updates to etl::delegate 2019-08-18 10:05:55 +01:00
John Wellbelove
5747a1e484 Updates to function signatures 2019-08-18 09:47:35 +01:00
John Wellbelove
c11c9cfdb6 Fixes for delegates with lambdas 2019-08-13 12:58:45 +01:00
John Wellbelove
54761ade12 Fixed incorrect results from increment/decrement pointers in atomic_gcc_sync 2019-08-03 20:50:36 +01:00
John Wellbelove
26729ba43b Added #include "stl/utility.h" to etl::optional 2019-08-03 13:12:52 +01:00
John Wellbelove
35c00ce9ed Added const parameters to etl::array_view 2019-07-31 18:30:40 +01:00
John Wellbelove
419c5b31c4 Removed redundant etl::const_array_view 2019-07-26 16:20:55 +01:00
Tobias Müller
f9dd536812 Add generic profile for Clang compiler (#138) 2019-07-26 08:48:29 +01:00
John Wellbelove
c43620d8d8 Various fixes.
void assign(const_pointer, size_t) did not set the truncation flag.
Fixed resize(0) error for etl::fixed_list
Removed erroneous pointers in etl::unordered_map::begin()
2019-07-13 12:33:52 +01:00
John Wellbelove
f3959810cb Optimisation of floating point specialisations of etl::cumulative_moving_average. 2019-07-07 16:35:34 +01:00
John Wellbelove
9fbbb5cc19 Added runtime sample size specialisations to etl::cumulative_moving_average 2019-07-05 13:49:38 +01:00
John Wellbelove
d715880d37 Removed ETL_IF_CONSTEXPR from etl::message_timer 'tick()' 2019-07-02 12:51:00 +01:00
John Wellbelove
8f29bb8862 ETL's random number generators are now non-polymorphic by default.
Define ETL_POLYMORPHIC_RANDOM to enable previous functionality.
2019-07-01 10:31:02 +01:00
John Wellbelove
fd689b437d Moved global operators to ETL namespace. 2019-06-29 08:01:04 +01:00
Jonathan Pan
ee82c052c8 [#133] Making sure comparison operators are in the etl namespace (#135) 2019-06-29 07:48:42 +01:00
John Wellbelove
6efad78028 Compatibility changes for GCC v5.4. 2019-06-23 09:54:02 +01:00
John Wellbelove
09d96e158e Added variadic parameters to observer notification. 2019-06-19 20:53:18 +01:00
John Wellbelove
fc317f3d9e Fix misplaced semicolon in error_handler.h 2019-06-17 23:13:38 +01:00