111 Commits

Author SHA1 Message Date
John Wellbelove
ee04aa76c5 VS2022 project update 2026-04-05 14:03:32 +01:00
John Wellbelove
9b394b8677 Added certain Hugo files and diectories to the Git ignore file 2026-04-01 17:34:15 +01:00
John Wellbelove
520b4a9f46 Removed redundant semicolon from TEST_SUITE block 2025-12-22 10:04:07 +00:00
John Wellbelove
e88a74362b Modified to use new ETL_ASSERTs 2025-09-22 10:41:50 +01:00
John Wellbelove
119d381570 Fixed compilation issues for const containers unit tests 2025-09-04 10:10:52 +01:00
John Wellbelove
3837e36d71 Fixes to GCC -O2 errors 2025-09-02 13:51:45 +01:00
John Wellbelove
450948933f Added example of the use of etl::unique_ptr with etl::pool 2025-08-18 14:20:45 +01:00
John Wellbelove
64eb9742f0 Added const_map_ext and const_multimap_ext 2025-06-25 14:47:47 +01:00
John Wellbelove
933da4dcb4 Added C++23 Preview configuration 2025-06-06 18:18:16 +01:00
John Wellbelove
fedf429d02 Merge branch 'development' into feature/add-time-date-classes
# Conflicts:
#	.gitignore
#	include/etl/platform.h
#	include/etl/ratio.h
#	test/CMakeLists.txt
#	test/test_ratio.cpp
#	test/vs2022/etl.vcxproj
#	test/vs2022/etl.vcxproj.filters
2025-04-19 12:30:36 +01:00
John Wellbelove
bc158cbcbc Updates to chrono classes 2025-04-18 10:50:48 +01:00
John Wellbelove
baf12b1fcb Changed etl::message_packet to not require virtual messages 2025-02-17 10:42:25 +00:00
John Wellbelove
5f6384f96b Ignore Clang output 2025-02-11 11:42:29 +00:00
John Wellbelove
574da35b10 Attempt to fix Github CI errors 2025-02-03 15:03:28 +00:00
John Wellbelove
98c35f7f3e Updates to CI scripts 2025-02-01 18:27:05 +00:00
John Wellbelove
91a345bb17 Added experimental assert function handler 2024-12-25 17:42:06 +00:00
John Wellbelove
e422be6464 Removed using directive in derived message router classes. 2024-11-29 18:53:44 +00:00
John Wellbelove
ae31d581e2 Work in progress 2024-09-07 21:14:46 +01:00
John Wellbelove
f77d91d544 Updated syntax checks 2024-08-21 18:48:56 +01:00
John Wellbelove
833afdbd20 Added optimised and sanitiser build option to Visual Studio project 2024-03-11 18:13:06 +00:00
John Wellbelove
7e31561363 Fix issue of release of an object on empty an pool 2023-08-25 10:32:25 +01:00
John Wellbelove
45fb06af3f Changes require for non-virtual messages 2023-08-18 20:51:36 +01:00
John Wellbelove
8b5ff06e44 Resolve all C++ -O2 warnings 2023-08-06 23:39: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
John Wellbelove
ed589c91c6 Added etl::is_forward_link, etl::is_bidirectional_link and etl::is_tree_link to intrusive links.
Added Constructors, access and status member functions to intrusive links.
2023-07-04 11:45:10 +01:00
John Wellbelove
177299977d Refactored visitor and variant to allow const variants and fix passing references to visitors 2023-07-04 11:41:00 +01:00
John Wellbelove
f4b8fd73c6 Updated Github actions yml files 2023-05-08 17:19:01 +01:00
John Wellbelove
6b7f6268a3 Updated Github actions yml files 2023-05-08 11:47:49 +01:00
John Wellbelove
3aa4a8af03 Sanity check CI test 2023-05-07 10:20:26 +01:00
John Wellbelove
aa1d7f0f7f Conversion of static to C++14 compatinility 2023-04-27 09:28:37 +01:00
John Wellbelove
8eabe5fb26 Fix test array sizes
C++14 compiler compatibility

Updated test run scripts

Changed some ETL_ASSERT macros to ETL_ASSERT_OR_RETURN

Changed unit test macros for C++20 compaibility

Updated test run scripts

Updated CMake files to allow C++ standard selection

Replaced ETL_ASSERT_AND_RETURN with ETL_ASSERT_OR_RETURN

Updated C++14 & C++20 unit test compatibility

Changed native char8_t check

Added optional optimisation argument to bash script
2023-03-25 12:16:59 +00:00
John Wellbelove
bb3faea614 Merge branch 'development' into feature/c++14-tests
# Conflicts:
#	.gitignore
#	test/vs2019/etl.vcxproj
2023-03-15 12:49:11 +00:00
John Wellbelove
574e041485 #675 Compilation error in optional.h line 405
Changes for compatibility with C++20

Restore C++17 unit test compatibility
2023-03-15 10:28:55 +00:00
John Wellbelove
405bdd8b8c Convert the Visual Studio project to VS2022 2023-03-07 20:24:01 +00:00
John Wellbelove
7bfa2d9429 Merge branch 'development' into hotfix/#649-intrusive_list-array-bounds-test-failure
# Conflicts:
#	include/etl/intrusive_forward_list.h
#	include/etl/intrusive_list.h
#	include/etl/optional.h
#	test/test_optional.cpp
#	test/vs2019/etl.vcxproj.filters
2023-02-28 19:31:33 +00:00
John Wellbelove
8ddf0935d3 Array bounds and maybe-uninitialized warning fixes 2023-02-28 18:33:49 +00:00
John Wellbelove
f4dd3c3363 Work in progress 2023-01-25 19:51:19 +00:00
John Wellbelove
74d5969d3c Updated ignore file 2022-10-19 12:22:52 +01:00
John Wellbelove
a5c57521cb Fix small issues
Move tests to test_iterator
2022-10-19 12:22:51 +01:00
Eric Vantillard
b5182dd83e Feature/add pair functors (#610)
* Move __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before `#include <stdint.h>`. (#601)

Macros must be defined before first include of stdint.h. Else they have no effect.

* Replace ETL_COMPILER_ICCAVR by ETL_COMPILER_IAR. (#602)

The current definition mechanism for ETL_COMPILER_ICCAVR does not work. Both IAR compilers, for ARM and AVR define `__IAR_SYSTEMS_ICC__`. Thus `ETL_COMPILER_TYPE_DETECTED` will be defined in line before ETL_COMPILER_ICCAVR is defined. This switch will never be entered.

Currently I see no reason for differentiating both compilers (`__ICCARM__` and `__ICCAVR__`). The condition for the IAR compiler platform (`__IAR_SYSTEMS_ICC__`) is sufficient (combined with <C++11 detection).

At the moment ETL_COMPILER_ICCAVR is used as a switch condition for using `#pragma push_macro`. But actually IAR ARM and IAR AVR have no such macro defined. ETL_COMPILER_IAR is defined for both compilers. Thus the switch condition is replaced with ETL_COMPILER_IAR.

* Fix 'maybe-uninitialized' g++ error on macos (#600)

* Add documentation to the pair class

* Add test directory to the EXAMPLE_PATH

* Update .gitignore

- Remove duplicate entries
- Add doxygen output directories

* Add Select1st and Select2nd functors

* Merge select1st and select2nd into utility.h

Co-authored-by: David Hebbeker <dhebbeker@users.noreply.github.com>
2022-10-19 12:20:42 +01:00
John Wellbelove
18ab645763 Work-In-Progress 2022-10-15 14:28:58 +01:00
Eric Vantillard
8b52ad62dd
Feature/add pair functors (#610)
* Move __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before `#include <stdint.h>`. (#601)

Macros must be defined before first include of stdint.h. Else they have no effect.

* Replace ETL_COMPILER_ICCAVR by ETL_COMPILER_IAR. (#602)

The current definition mechanism for ETL_COMPILER_ICCAVR does not work. Both IAR compilers, for ARM and AVR define `__IAR_SYSTEMS_ICC__`. Thus `ETL_COMPILER_TYPE_DETECTED` will be defined in line before ETL_COMPILER_ICCAVR is defined. This switch will never be entered.

Currently I see no reason for differentiating both compilers (`__ICCARM__` and `__ICCAVR__`). The condition for the IAR compiler platform (`__IAR_SYSTEMS_ICC__`) is sufficient (combined with <C++11 detection).

At the moment ETL_COMPILER_ICCAVR is used as a switch condition for using `#pragma push_macro`. But actually IAR ARM and IAR AVR have no such macro defined. ETL_COMPILER_IAR is defined for both compilers. Thus the switch condition is replaced with ETL_COMPILER_IAR.

* Fix 'maybe-uninitialized' g++ error on macos (#600)

* Add documentation to the pair class

* Add test directory to the EXAMPLE_PATH

* Update .gitignore

- Remove duplicate entries
- Add doxygen output directories

* Add Select1st and Select2nd functors

* Merge select1st and select2nd into utility.h

Co-authored-by: David Hebbeker <dhebbeker@users.noreply.github.com>
2022-10-01 11:40:18 +01:00
John Wellbelove
d0da03b1b7 Updated gitignore 2022-08-04 17:07:43 +01:00
John Wellbelove
c9c928b8bb Merge branch 'master' of https://github.com/ETLCPP/etl 2022-07-24 19:10:44 +01:00
John Wellbelove
bf7c38b9a5 Updated gitignore 2022-07-24 19:10:35 +01:00
John Wellbelove
c8a3f0705f Merge branch 'development'
# Conflicts:
#	.gitignore
2022-07-24 19:00:54 +01:00
John Wellbelove
eb3ae1e9c3 Updated gitignore 2022-07-24 17:58:37 +01:00
John Wellbelove
df01759227 Optimised container move for external buffers 2022-07-24 13:01:07 +01:00
John Wellbelove
a2e02d8dfa Added Log Errors event handler tests 2022-07-20 16:07:32 +01:00
Robin Mueller
fbffca3b4c Update cmake & meson version handling (#522)
* updated the version handling

- Introduces a new version.txt file
- This file is parsed by CMake to determine the current version

* assign version in project call

* use version variable

* Meson update

1. Minor fix for GCC build
2. Use external version file which can be used by CMake as well

* get version from git tag now

* ci/cd broke..

* maybe this solves the error

* updated workflow files

* one last test

* remove git describe call
2022-04-08 09:37:21 +02:00