1955 Commits

Author SHA1 Message Date
John Wellbelove
c1a1d24712 Updates to singleton_base 2024-12-26 15:50:32 +00:00
rolandreichweinbmw
5e3b029af0
Add singleton_base with test (#1002) 2024-12-26 13:27:47 +00:00
schemborerik
77ab40a72f For GCC10, we should check __cplusplus >= 201709L when determining if c++20 is supported (#949) 2024-08-31 11:56:32 +01:00
John Wellbelove
f3ad597e75 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2024-08-31 11:06:47 +01:00
John Wellbelove
46012576d1 Merge branch 'hotfix/#948-Bug-in-queue-pop-can-break-queue.empty()' into development 2024-08-31 09:42:44 +01:00
John Wellbelove
3612390888 #948 Bug in queue pop can break queue.empty() 2024-08-31 09:40:46 +01:00
John Wellbelove
f77d91d544 Updated syntax checks 2024-08-21 18:48:56 +01:00
John Wellbelove
af9b3deade Added the option of more logical ordering for template parameters for compile time member functions 2024-08-11 12:13:46 +01:00
John Wellbelove
e6653d3677 Added ETL_CONSTEXPR14 to etl::reverse 2024-08-10 11:12:24 +01:00
John Wellbelove
af03b44d2a Fixed floating point support for etl::unaligned_type 2024-08-09 21:36:58 +01:00
John Wellbelove
3f018ee1a7 Fixed floating point etl::unaligned_type 2024-08-08 22:58:22 +01:00
David Hebbeker
527359f535
Make include paths to private files relative (#946)
* Render include paths relative

By removing `etl/` from include paths (in `#include` statements), the path to the directory `include/` doesn't need to be provided to the preprocessor as an include path if the files in `include/etl/` are included by other means.
This has no disadvantages.
Actually the form `#include "..."` is intended to be used for relative paths in the first place.

This is relevant if one wants to include the source files from `include/etl` only indirectly.

For example we use special generated header files which wrap the include statement of the vanilla header files with diagnostic commands.
Those commands allow to disable diagnostic for ETL's files and re-enable them after the file inclusion.
Wrapper files are generated for every non-private header file.
We provide the directory with the wrapper files as include path to the preprocessor instead of the normal `include/` directory.
Thus include statements like `#include "etl/private/..."` are invalid in that case.

* Remove "etl/" from include paths in all files in `include/`.

33 findings in 4 files of 375.

See 936961949172bca5ba1418054a055e05ecb6d1d4 for explanation.
2024-08-08 07:18:17 +01:00
John Wellbelove
16cd116055 Updated version and release notes 2024-08-07 20:42:10 +01:00
John Wellbelove
81751db03e Removed C++11 restriction on etl::observer::notification 2024-08-07 15:45:57 +01:00
John Wellbelove
b38194cec4 Removed EmbeddedTemplateLibrary-20.39.0.tar.gz from project. 2024-08-07 12:25:44 +01:00
John Wellbelove
c5a6f9b5b4 #942 Warning on pragma c++20-compat 2024-08-06 19:38:58 +01:00
John Wellbelove
f7c79526f3 Fix for has_duplicates with one template parameter 2024-08-02 10:43:39 +01:00
John Wellbelove
73395fe6f4 Updated C++03 observer class to accept void parameter notification types 2024-08-02 10:36:13 +01:00
John Wellbelove
f219e86806 Added etl::count_of, etl::has_duplicates, etl::has_duplicates_of 2024-08-02 10:35:29 +01:00
John Wellbelove
c61f493a01 Added observer<void> as a specialisation for C++03 code 2024-08-01 13:29:52 +01:00
John Wellbelove
614ed6bf05 Fixed brace syntax 2024-07-31 10:51:41 +01:00
Boris Gromov
f01edbc5c4
Fix histogram indexing when accessed via operator [] (#939) 2024-07-31 09:04:45 +01:00
Drew Rife
211b8c2e90
fix: determine legacy variant after determining compiler version (#938) 2024-07-30 19:36:46 +01:00
John Wellbelove
b3cba2f256 Merge branch 'pull-request/#935-added-20-bit-integral-limits' into development
# Conflicts:
#	support/Release notes.txt
2024-07-30 14:48:44 +01:00
John Wellbelove
75f2e7b392 Added support for 20bit types for integral_limits 2024-07-30 14:46:50 +01:00
ReneCanadian
bf56dcf074
added 20 bit integral limits (#935) 2024-07-30 13:54:40 +01:00
John Wellbelove
7d4e4e93fd Fixed unused parameter warning 2024-07-30 13:35:30 +01:00
John Wellbelove
9b8c7780a4 Fixed legacy variant macro 2024-07-30 13:35:08 +01:00
John Wellbelove
b6801b5c0c Added observer specialisation for void notification parameter type 2024-07-30 13:33:58 +01:00
John Wellbelove
37b46c4f64 Updated release notes and version 2024-07-28 17:57:35 +01:00
John Wellbelove
0b8b057a75 Fixed rebase duplication 2024-07-28 17:04:47 +01:00
John Wellbelove
b85cc276b3 Refactored etl::io_port classes
Added binary operators
Modified the way iterators are handled.
2024-07-28 16:51:02 +01:00
Chiraffollo
083bafa3ce Fix missing partial specialisation equal operators (#927) 2024-07-28 16:49:03 +01:00
John Wellbelove
324f5ebea9 Small format changes 2024-07-28 16:48:45 +01:00
Chiraffollo
83c55ad77e Fix issue #923 equality operator for class expected (#926)
* Add equality operators for class expected

* Add missing unequal operator

---------

Co-authored-by: Oliver Marx <omarx@de.pepperl-fuchs.com>
2024-07-28 16:48:17 +01:00
John Wellbelove
32f5d19792 Added is_active member function to callback_timer classes. 2024-07-28 16:47:13 +01:00
John Wellbelove
3a557c6f1a Removed asserts from etl::unique_ptr 2024-07-28 16:47:13 +01:00
Tigran Khachatryan
c9c01092d6 Add an etl::nullptr_t type to <etl/nullptr.h> (#924)
* Add an etl::nullptr_t type

* etlcpp/etl issue #921 (etl::unique_ptr reset): add etl::unique_ptr(...)::reset(ETL_NULLPTR)

Remove default argument for the normal reset method of etl::unique_ptr (sorry, didn't notice 😬)

Silence the unused argument warning

Fix operator =(nullptr)

Replace the nullptr_t enum with a class which acts more similar to C++11 nullptr

* Add member pointer support and delete the addressof operator

* "Delete" etl::addressof(ETL_NULLPTR)

* Ensure compatibility with C++98

* ACTUALLY ensure compatibility with C++98

I'm stupid :/

* Correct definition according to cppreference
2024-07-28 16:47:13 +01:00
John Wellbelove
d8faf5655c Add missing swap implementations for expected (#928)
* Fix missing partial specialisation equal operators

* Add missing swap implementations for expected
2024-07-28 16:47:12 +01:00
Chiraffollo
64be8a63d7 Add missing swap implementations for expected (#928)
* Fix missing partial specialisation equal operators

* Add missing swap implementations for expected
2024-07-28 16:47:12 +01:00
Chiraffollo
0c87973061 Fix missing partial specialisation equal operators (#927) 2024-07-28 16:47:12 +01:00
John Wellbelove
24824d2095 Added ETL_USING_LEGACY_VARIANT & ETL_NOT_USING_LEGACY_VARIANT
Added some legacy API member functions to new variant type.
2024-07-28 16:47:12 +01:00
John Wellbelove
6a8d183797 Small format changes 2024-07-28 16:47:12 +01:00
Chiraffollo
752617ab4c Fix issue #923 equality operator for class expected (#926)
* Add equality operators for class expected

* Add missing unequal operator

---------

Co-authored-by: Oliver Marx <omarx@de.pepperl-fuchs.com>
2024-07-28 16:47:12 +01:00
Rafael Laya
02981a5cc2
Fixes compiler detection with Wundef (#934)
* Fix doc comment for pool::allocate() (#914)

* Fixes compiler detection with Wunder

---------

Co-authored-by: Michael K <130953568+kmichaelk@users.noreply.github.com>
Co-authored-by: Rafael Laya <rafaellaya@meta.com>
2024-07-28 16:45:08 +01:00
Chiraffollo
5d97f075a5
Fix issue #931 (#932)
* Fix doc comment for pool::allocate() (#914)

* Fix issue #931

Superfluous curly braces removed

---------

Co-authored-by: Michael K <130953568+kmichaelk@users.noreply.github.com>
2024-07-23 15:41:00 +01:00
Michael K
744d54c1fd
Fix doc comment for pool::allocate() (#914) 2024-07-14 18:42:02 +01:00
jaskij
64f620c1a8
fix c++20-compat false positive (#909)
* fix c++20-compat false positive

* move the c++20 compat warning suppression to a separate header

* fix GCC/clang in private/diagnostic_cxx_20_compat_push.h

---------

Co-authored-by: Jan Dorniak <jdorniak@ultima-automatyka.pl>
2024-07-02 09:35:24 +01:00
John Wellbelove
ce24b0cc6e Refactored base64 encoder and decoder 2024-06-26 14:56:00 +01:00
John Wellbelove
dcc3e7d938 Added parameter_type_t 2024-06-24 18:20:34 +01:00