32 Commits

Author SHA1 Message Date
John Wellbelove
aeb8e4f734 Formatted source files 2026-04-02 14:11:45 +01:00
Daniel Santos
f718c54396
Add bounds and empty checks to container classes (#1334)
* add bounds and empty checks to containers

* address code rabbit review

* correct C++11 constexpr error

* rename new constexpr macro and make it global

* rename queue specializations' exceptions

* change front() implementation in locked queue specializations

* refactor usage of CONSTEXPR and NO_EXCEPT

* expand intrusive queue tests

* introduce lock guards on locked queues

* Print test names at test time (#1343)

* revert mutex and return changes on locking queues

* finish reverting the locked queues

---------

Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-27 10:17:56 +00:00
John Wellbelove
d884719098 Fixed all 'extra semicolon' warnings 2025-12-16 09:15:26 +00:00
Sergei
4979c8a20b
Fix bug in the void etl::unlink(first, last) for bidirectional links. (#1149)
* Reproduce bug in the `void etl::unlink(first, last)` for bidirectional links.

- correct `test_unlink_range_bidirectional_link` unit test according to the documentation - now this test fails.
- enhance `test_intrusive_list::test_splice_range_self` unit test to verify also `etl_previous` links after splicing lists - now unit test crashes.

* Fix bug in the `void etl::unlink(first, last)` for bidirectional links.

- `test_unlink_range_bidirectional_link` unit test now is green.
- `test_intrusive_list::test_splice_range_self` is not crashing anymore and green.
2025-07-14 08:50:28 +01:00
John Wellbelove
c19a3fe085 Added unit tests for initializer_list construction 2025-03-04 09:27:39 +00:00
rolandreichweinbmw
12743be9e2
Add contains() and contains_node() to etl::intrusive_forward_list and etl::intrusive_list (#1036)
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-03-02 11:09:32 +00:00
John Wellbelove
dc21da2cd4 Merge branch 'pull-request/#1026-Intrusive-forward-list-add-remove-by-pointer' into development
# Conflicts:
#	include/etl/intrusive_forward_list.h
2025-03-02 08:32:28 +00:00
John Wellbelove
68dac39104 Added erase from pointer to node 2025-03-02 08:31:14 +00:00
John Wellbelove
260a3f4a48 Added variadic constructors 2025-03-01 13:39:51 +00:00
John Wellbelove
d67a2c63fa Changed unit test checks for C++14 compatibility 2024-04-09 14:46:12 +01:00
John Wellbelove
52083acff3 Added node erase member functions 2024-04-02 17:12:51 +01:00
John Wellbelove
106c4fd540 Added erase(node_type&) member function.
Added node_type typedef to intrusive lists
2024-04-02 11:41:01 +01:00
John Wellbelove
4bcc0c2568 Fixed address sanitizer issues in unit tests 2023-07-04 11:45:11 +01:00
John Wellbelove
3510fd61a9 Updated intrusive links
Refactored intrusive_forward_list so that links report status consistantly
2023-07-04 11:45:10 +01:00
Chiraffollo
7f990d7a76
Fix #709 in intrusive_list operator-> (#721) 2023-07-01 12:40:07 +01:00
John Wellbelove
baa47d1c33 Updated copyright notice 2022-06-10 21:45:37 +01:00
John Wellbelove
dbfa71944f Abstracted unit test framework header 2021-03-05 13:52:34 +00:00
John Wellbelove
e323f2267f Changed http://www.etlcpp.com to https://www.etlcpp.com 2020-05-01 10:22:36 +01:00
John Wellbelove
83347ccfdd Work in progress 2020-01-09 11:15:50 +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
e8e4fa3f0d Updated unit test project to support C++17 2019-09-28 11:25:25 +01:00
John Wellbelove
bd008350a2 Merge remote-tracking branch 'origin/feature/changed_include_paths' into development
# Conflicts:
#	include/etl/version.h
2018-07-28 21:55:27 +01:00
John Wellbelove
b4bf215675 Removed unused variables 2018-02-11 18:45:10 +00:00
John Wellbelove
0bfd212a54 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/startup_stm32f401xe.s
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/system_stm32f4xx.c
#	library.properties
#	test/codeblocks/ETL.cbp
#	test/codeblocks/ETL.depend
#	test/codeblocks/ETL.layout
#	test/vs2017/etl.vcxproj
#	test/vs2017/etl.vcxproj.filters
2017-10-18 09:23:17 +01:00
John Wellbelove
3f07a785f4 Fixed sort() so that it is now 'stable'.
Fixed return value type for const_iterator::operator->() in etl::list
2017-06-14 23:42:11 +01:00
John Wellbelove
fe640ce8ef Merge remote-tracking branch 'origin/development'
# Conflicts:
#	src/cyclic_hash.h
#	test/codeblocks/ETL.cbp
2017-05-08 22:43:34 +01:00
John Wellbelove
26b7326d72 Updated Code::Blocks project.
Changed test project include paths to use unittest++ as sub-module.
2017-05-08 20:48:22 +01:00
John Wellbelove
aaac059008 Updated tests 2017-01-31 21:11:23 +00:00
John Wellbelove
093b29a48c Removed support for auto and checked links. 2016-12-28 13:12:37 +00:00
John Wellbelove
f1c5c20ba7 Changed folder structure to be compatible with Arduino library specifications 2016-02-28 14:04:22 +00:00
John Wellbelove
9908714b13 Added begin==end tests 2016-02-18 20:10:54 +00:00
John Wellbelove
8144554320 Added intrusive_list and updated intrusive_forward list.
Added set of intrusive links.
2016-02-10 19:05:42 +00:00