John Wellbelove
c954c696bb
#957 Support heterogenous lookup for maps
2024-11-10 18:00:08 +00:00
John Wellbelove
bce35c4927
Simplified definition of is_base_of
2024-11-10 18:00:06 +00:00
John Wellbelove
36a5b4ba16
#959 Treat bitset with size_type
2024-11-10 18:00:05 +00:00
John Wellbelove
4b7997ae17
#965 Fix accident creation of a delegate to an rvalue delegate when copying/assigning from delegate with mismatching signature
...
#966 A constructor for delegate with a freestanding function
2024-11-10 18:00:03 +00:00
John Wellbelove
586ae0cdff
Fixed static definition
2024-11-10 18:00:01 +00:00
John Wellbelove
907d38f728
Redefined ETL_DEPRECATED
2024-11-10 18:00:00 +00:00
John Wellbelove
0dbbc4ba57
Updated nth_type to handle a type list of zero length
2024-11-10 17:59:58 +00:00
John Wellbelove
4071b17372
Updated release notes and version
2024-09-18 20:37:15 +01:00
ZachOB
484080b88e
Fix build error in icircular_buffer::iterator and icircular_buffer::const_iterator ( #956 )
2024-09-18 17:36:46 +01:00
John Wellbelove
bec9f4a2df
Added etl::ratio tests
2024-09-15 14:12:40 +01:00
John Wellbelove
4741c71e34
etl::ratio work-in-progress
2024-09-14 20:02:25 +01:00
John Wellbelove
0d0b9be310
etl::duration work in progress
2024-09-13 19:55:18 +01:00
John Wellbelove
4942ff840e
etl::duration work in progress
2024-09-12 14:03:05 +01:00
John Wellbelove
e6c47a198c
Added tests for weekday_indexed and weekday_last
2024-09-08 17:28:52 +01:00
John Wellbelove
c0d3447818
Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl-21 into dual-licence/feature/#757-Add-time-date-classes
2024-09-07 19:34:51 +01: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
10147a1868
Updates to weekday
2024-08-30 19:59:16 +01:00
John Wellbelove
f5d3c4fffa
Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes
...
# Conflicts:
# include/etl/chrono.h
# include/etl/private/chrono/day.h
# include/etl/private/chrono/duration.h
# test/CMakeLists.txt
# test/test_chrono_day.cpp
# test/vs2022/etl.vcxproj
# test/vs2022/etl.vcxproj.filters
2024-08-29 09:54:37 +01:00
John Wellbelove
a90d0f4a89
Fixed value type
2024-08-29 09:45:58 +01:00
John Wellbelove
fc0576ad95
Work in progress
2024-08-29 09:13:56 +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
John Wellbelove
1c261bf297
Merge branch 'feature/Base64-codec' into development
2024-06-24 17:46:00 +01:00
John Wellbelove
208d8f9642
Implementation of Base64 encoder and decoder
2024-06-24 17:44:53 +01:00
John Wellbelove
aab8630c1a
Refactored base64 encoder and decoder
2024-06-22 12:37:58 +01:00
John Wellbelove
96a1105891
Refactored base64 encoder and decoder
2024-06-19 20:22:57 +01:00
John Wellbelove
f7382f4713
Refactored base64 encoder and decoder
2024-06-17 14:23:42 +01:00
John Wellbelove
ab1ea83f77
Refactored base64 encoder and decoder
2024-06-16 13:53:05 +01:00
John Wellbelove
211f872318
Refactored base64 encoder
2024-06-14 20:00:28 +01:00
John Wellbelove
5c2615ac30
Partial refactor into separate encode and decoder headers
...
Changed to delegate callback based operation
2024-06-14 11:54:23 +01:00
John Wellbelove
e159a6b7ff
Merge branch 'pull-request/#905-Add-support-for-type_identity' into development
2024-06-11 13:51:59 +01:00
Tigran Khachatryan
6ced0630a9
etl/type_traits.h: Add support for type_identity ( #905 )
...
* etl/type_traits.h: Add support for type_identity
* test/test_type_traits.cpp: Add a test for etl::type_identity (type_identity_test_add(1.5f, 2) == 3.5f)
* Update test_type_traits.cpp
Use CHECK_CLOSE instead of CHECK for equality
2024-06-11 13:43:59 +01:00
John Wellbelove
bb71b60496
Updated version and release
2024-06-05 17:33:16 +01:00
John Wellbelove
9247c14e82
Changed std algorithms to etl
2024-06-05 17:31:01 +01:00
John Wellbelove
a8f59355fe
Changed std algorithms to etl
2024-06-05 14:03:37 +01:00
Saku Glumoff
496c8a2e7c
Fix doc comment for exception::line_number() ( #901 )
...
The documentation comment for `exception::line_number()` in
`include/etl/exception.h` states falsely that the return type for
the function is a `const char*`.
It should state that the return type is `numeric_type`,
which is an `int`.
So change the documentation comment to reflect that the return type is
an `int`.
2024-06-04 18:17:41 +01:00
John Wellbelove
45333cae91
Merge branch 'development' into feature/Base64-codec
...
# Conflicts:
# arduino/library-arduino.json
# arduino/library-arduino.properties
# include/etl/iterator.h
# include/etl/version.h
# library.json
# library.properties
# test/CMakeLists.txt
# test/vs2022/etl.vcxproj.filters
# version.txt
2024-06-02 10:19:09 +01:00
John Wellbelove
8bf527e087
Updated version and release
2024-05-31 17:16:12 +01:00
John Wellbelove
0d1db08c4a
Make conversion operator public
2024-05-31 17:06:48 +01:00
John Wellbelove
bbfce66abc
Added template parameter clamp functions
2024-05-28 11:58:07 +01:00
John Wellbelove
e2333886a5
Fixed static & constexpr order
2024-05-25 12:02:20 +01:00
John Wellbelove
e11548fc57
Updated version and release notes
2024-05-15 20:47:11 +01:00
John Wellbelove
1a09998752
Removed ETL_CONSTEXPR from size()
2024-05-15 20:46:49 +01:00
John Wellbelove
cdd3bae357
Updated version and release notes
2024-05-13 13:45:28 +01:00
John Wellbelove
d69779a8cf
Added GCD and LCM algorithms
2024-05-13 13:45:27 +01:00
John Wellbelove
390afc4d9d
Added specialisations of etl::rotate for different iterator types
2024-05-13 13:45:27 +01:00
John Wellbelove
b42af2a829
Added GCD and LCM algorithms
2024-05-13 13:45:27 +01:00
John Wellbelove
f9867c2281
Added specialisations of etl::rotate for different iterator types
2024-05-13 13:45:27 +01:00
John Wellbelove
959b83ec22
Added ETL_NODISCARD, ETL_CONSTEXPR14 and ETL_NOEXCEPT
2024-05-13 13:45:27 +01:00
John Wellbelove
19a7518c2b
Full constexpr for etl::array
2024-05-13 13:45:27 +01:00
John Wellbelove
76699fb27c
Revert change #804 to restore value initialisation of type0 for default constructor
2024-04-26 17:48:22 +01:00
John Wellbelove
5ab69e3e97
Updated version and release notes
2024-04-24 13:11:33 +01:00
John Wellbelove
824c173414
Minor code format change
2024-04-24 13:10:26 +01:00
John Wellbelove
4ce524e43c
#885 Bug: queue move-assignment is not compiling
2024-04-23 09:55:52 +01:00
John Wellbelove
3f9b990a72
#815 etl::remove_if calls predicate twice for first iterator, where predicate returns true.
2024-04-23 09:54:53 +01:00
John Wellbelove
7932403aba
Added C++03 variant of nth_element
2024-04-18 10:57:59 +01:00
John Wellbelove
a2bd57c89f
#806 etl::variant_pool should support C++17 variadic parameters
...
Added variadic version that supports >=C++11
2024-04-17 16:47:02 +01:00
John Wellbelove
754eba9aaf
Updated generator headers
2024-04-16 09:41:44 +01:00
John Wellbelove
ea9d5b0962
Changes for OSX + C++20 + STL compatibility
2024-04-16 09:02:59 +01:00
John Wellbelove
f12629b9d9
Small format change
2024-04-16 08:08:57 +01:00
John Wellbelove
ae372afe85
Added conditional compilation for C++03 for etl::three_way_compare()
2024-04-16 08:08:35 +01:00
John Wellbelove
55f508b315
Added etl::partition and etl::nth_element
2024-04-16 08:07:33 +01:00
John Wellbelove
937ec7189a
Make first() and last() static for template based limits specialisation
2024-04-16 08:04:49 +01:00
John Wellbelove
a2f40effa4
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2024-04-11 11:38:58 +01:00
David Hebbeker
749d4a3a03
Render include paths relative. ( #879 )
...
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.
2024-04-11 10:38:16 +01:00
John Wellbelove
ddcabd6514
Disable <=> compare code when not C++20
2024-04-09 14:46:51 +01:00
John Wellbelove
4f440a429e
Optimised string_view::find_first_not_of & string_view::find_last_not_of
2024-04-09 14:45:35 +01:00
John Wellbelove
a5560b2ce1
Added etl::partition
2024-04-09 13:46:33 +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
4493c89060
Merge branch 'hotfix/#868-etl-variant-is-missing-comparison-operators' into development
2024-04-01 17:14:03 +01:00
John Wellbelove
96846f9b57
Removed 'possible nullptr' warning.
2024-04-01 16:57:46 +01:00
John Wellbelove
309154d0ce
Added diagnostic_null_dereference_push.h
2024-03-30 08:47:54 +00:00
John Wellbelove
39205e719d
Added comparison operators
2024-03-29 16:35:45 +00:00
John Wellbelove
4bc8d00737
Modified return types
2024-03-27 21:01:05 +00:00
John Wellbelove
f1d80ba577
Work in progree
2024-03-23 20:32:26 +00:00
John Wellbelove
41a680436c
Added etl::mem_fn
2024-03-23 15:08:01 +00:00
John Wellbelove
ac93dc730d
Added etl::mem_fn
2024-03-21 14:28:09 +00:00
John Wellbelove
353419f284
Updated with UnitTest++ macros
2024-03-21 10:26:58 +00:00
John Wellbelove
1474d4add8
Added etl::mem_fn
2024-03-21 10:07:31 +00:00
John Wellbelove
e64b489d5e
Fixed dereference of state pointer when null.
2024-03-20 23:33:18 +00:00
John Wellbelove
8710dfc4ff
Fixed dereference of state pointer when null.
2024-03-20 23:27:18 +00:00
John Wellbelove
84dd8ceca3
Merge branch 'pull-request/#861-Implement-Constexpr-Strong-Typedef' into development
2024-03-17 13:57:17 +00:00
John Wellbelove
15675f29a6
Updates to constexpr operators
2024-03-17 13:56:56 +00:00
Drew Rife
a8ca216f4e
Update ETL_CONSTEXPR and C++14 desgination from type_def ( #862 )
...
* feat: make type_def constexpr
* test: macro constexpr
* test: implicit constexpr
* test: get constexpr
* refactor: remove constexpr from assignment
* test: comparisons constexpr
* fix: cpp11 support for constexpr get method
* fix: c++11 issue with constexpr get reference
* refactor: remove constexpr from the get methods
* refactor: make assignment operators non-constexpr
* refactor: remove constexpr from assignment and get
* refactor: make other methods ETL_CONSTEXPR14
* test: operator preincrement
* test: postincrement
* test: predecrement constexpr
* test: post decrement constexpr
* fix: post decrement test
* test: addition assignment constexpr
* test: subtraction assignment constexpr
* test: multiplication assignment operator
* test: and assignment constexpr
* test: or assignment constexpr
* test: xor assignment constexpr
* tet: left shift assignment constexpr
* test: right shift assignment constexpr
* test: operator modules assignment
* style: revert personal clang-format changes
* refactor: use free functions to test
* refactor: remove constexpr non-constexpr test functions
* style: remove erroneous tab
2024-03-16 12:07:00 +00:00
John Wellbelove
7b358dd35a
Added constexpr to compare functions
2024-03-16 11:26:15 +00:00
Benzinnos
80af5a4891
Add eq and ne operators for compare utility. ( #863 )
...
* Add eq and ne operators
* Add three-way comparison to compare utils.
* Three-way comparison test now using own test data.
* Rename test struct for three-way comparison test.
---------
Co-authored-by: grigorev <grigorev@protei.ru>
2024-03-15 18:15:07 +00:00
John Wellbelove
cb2700e75d
Modified accepts() message router functions to interrogate subscribed and successor routers to achieve consistency.
2024-03-15 13:01:59 +00:00
John Wellbelove
80613827c9
Turned etl::send_message into templates so that direct calls to concrete routers are possible
2024-03-15 10:58:11 +00:00
Drew Rife
48c496cd44
Implement Constexpr Strong Typedef ( #861 )
...
* feat: make type_def constexpr
* test: macro constexpr
* test: implicit constexpr
* test: get constexpr
* refactor: remove constexpr from assignment
* test: comparisons constexpr
* fix: cpp11 support for constexpr get method
2024-03-13 09:56:47 +00:00
John Wellbelove
b807bad3e3
#847-Add-has_active_timer-to-callback_timer
2024-03-13 09:54:29 +00:00
John Wellbelove
2a5565791c
Deleted etl::span fixed extent default constructor
2024-03-11 18:34:51 +00:00
John Wellbelove
e5523d2d0b
Added C++11 conditional compilation around rvalue reference functions
2024-03-11 18:11:44 +00:00
John Wellbelove
881f3d8e62
#841 Change push to push_back on containers, so they can be used with std::back_inserter
2024-03-11 18:10:46 +00:00
John Wellbelove
1cc94b6418
#827 Declaration order for etl::first_set_bit_position in binary.h
2024-03-11 18:09:50 +00:00
John Wellbelove
ce79721a4d
#855 Strange expression in volatile atomic operator--
2024-03-11 18:09:19 +00:00
John Wellbelove
199bb131df
Minor fixes
2024-03-11 08:37:13 +00:00
John Wellbelove
4737fd0f03
Removed etl::type_tag and replaced its use with etl::in_place_type_t
2024-03-10 20:23:30 +00:00
John Wellbelove
8826b56493
Fixed existing initializer_list member functions
...
Added additional initializer_list member functions
2024-03-10 20:22:08 +00:00
John Wellbelove
46b636694d
Fixed existing initializer_list member functions
...
Added additional initializer_list member functions
2024-03-10 20:21:30 +00:00
John Wellbelove
a77e435924
Fixed unsynched generators
2024-03-10 09:33:05 +00:00
John Wellbelove
8593f95208
Merge branch 'pull-request/#858-fix-unique_ptr-assigning-nullptr-to-a-null-unique_ptr-causes-an-assert' into development
2024-03-09 15:25:04 +00:00
John Wellbelove
9a520a37aa
Merge branch 'pull-request/#849-fix-string_stream-add-missing-initializations-of-const-format-specifiers' into development
...
# Conflicts:
# support/Release notes.txt
2024-03-09 15:23:47 +00:00
Derek Ludwig
abb0494e71
fix(unique_ptr): assigning nullptr to a null unique_ptr causes an assert ( #858 )
2024-03-09 14:57:15 +00:00
Manuel Knörle
7c24f66ecc
fix(string_stream): add missing initializations of const format specifiers ( #849 )
...
The const variables "left" and "right" are const default initialized.
The C++ standard states the following:
"A class type T is const-default-constructible if default-initialization
of T would invoke a user-provided constructor of T."
Since the "left_soec" and "right_spec" structs are PODs they are not
initialized per default. Due to the "constness" the variable can not be
modified later one, therefore the POD is in a state in which it is not
useful at all.
Since the mentioned structs are empty there would be no problem
in this case. This is an issue in the C++ standard (CWG Issue 253).
Some compilers already handle this issue with their own solution
despite the fact, that the standard did not provide a solution yet.
For some exotic compilers (e.g. Tasking for TriCore) the include of
the "string_stream" header caused compilation errors:
"const variable "etl::left" requires an initializer -- class "etl::private_basic_format_spec::left_spec" has no user-provided default constructor"
References:
https://en.cppreference.com/w/cpp/language/default_initialization
https://cplusplus.github.io/CWG/issues/253.html
https://stackoverflow.com/questions/7411515/why-does-c-require-a-user-provided-default-constructor-to-default-construct-a
https://stackoverflow.com/questions/24943665/why-is-a-constructor-necessary-in-a-const-member-struct
2024-03-09 14:56:06 +00:00
John Wellbelove
b6db4195a3
Refactored etl::is_default_constructible definition
2024-03-09 12:03:52 +00:00
John Wellbelove
40326db14c
Added etl::is_default_constructible_v
2024-03-09 10:31:20 +00:00
John Wellbelove
0cf4396fcb
#854 in-place construction of shared message
2024-03-09 10:11:00 +00:00
John Wellbelove
59178e495a
Added etl::type_tag<T>
2024-03-09 10:03:26 +00:00
John Wellbelove
cbf08d1efa
Refactored message_packet constructors
2024-03-09 10:03:01 +00:00
John Wellbelove
82b05faa59
Merge branch 'pull-request/#854-in-place-construction-of-shared-message' of https://github.com/ETLCPP/etl into pull-request/#854-in-place-construction-of-shared-message
2024-03-08 12:04:40 +00:00
John Wellbelove
3ca09462a8
Fixed implicitly disabled copy constructor
2024-03-08 12:02:41 +00:00
SanderSmeenkInspiro
268ca4e04b
Add support for in-place instantiation of a shared message in the message pool ( #854 )
...
* #850 Fixed names according to Arduino's guidelines
* #850 Fixed names according to Arduino's guidelines
* Add support for in-place instantiation of a shared message in the message pool
---------
Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2024-03-08 10:02:47 +00:00
John Wellbelove
1e1ce38113
#850 Fixed names according to Arduino's guidelines
2024-03-08 09:31:27 +00:00
John Wellbelove
e1d563a32f
Added etl::is_default_constructible
2024-03-06 19:02:45 +00:00
John Wellbelove
95af36acd3
Refactored message_packet constructors
2024-03-06 19:02:00 +00:00
John Wellbelove
b89f62a789
Changed optional 'simple' types implementation for C++14 constexpr compatibility
2024-03-06 19:00:51 +00:00
John Wellbelove
131ed46598
Changed shadowed variables
2024-03-05 12:17:09 +00:00
John Wellbelove
de6e6ab13c
Added tests for message base_type
2024-03-05 09:55:08 +00:00
John Wellbelove
c6dc700cf3
Added message type traits
2024-03-05 09:55:08 +00:00
John Wellbelove
4245e23bee
Merge branch 'pull-request/#804-variant-varadic-default-constructed-state' into development
2024-03-04 20:08:24 +00:00
John Wellbelove
7f13eeb06c
Added fixes for deque operator-(). Removed redundant operator that was causing compile errors for C++20
...
# Conflicts:
# test/test_deque.cpp
2024-03-04 13:10:17 +00:00
John Wellbelove
9a25ccbbae
Removed duplicated include
2024-03-04 12:55:22 +00:00
John Wellbelove
573333586f
Comment spelling fix
2024-03-04 12:55:03 +00:00
John Wellbelove
26e346e11e
Added fixes for deque operator-(). Removed redundant operator that was causing compile errors for C++20
2024-03-04 12:54:38 +00:00
John Wellbelove
a98d387a11
#850 Fixed names according to Arduino's guidelines
2024-02-24 11:49:54 +00:00
Manuel Seeböck
134f8e4209
variant varadic default constructed state ( #804 )
...
* fixed variant varadic default constructed state
* updated testcases to account for default contructor changes
2024-02-22 19:14:37 +00:00
John Wellbelove
f04fe0f383
Merge branch 'hotfix/#818-etl-apply-code-spell-check-across-entire-code-base' into development
2024-02-22 19:07:12 +00:00
Pisit Sawangvonganan
c92d970d09
etl: apply code spell check across entire code base ( #818 )
...
Utilized a spell checking tool to identify and correct spelling
throughout all files in the code base.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-02-22 19:06:23 +00:00
John Wellbelove
de3091a6bc
Merge branch 'hotfix/#845-message_packet-missing-a-copy-constructor' into development
2024-02-18 12:08:26 +00:00
John Wellbelove
a2b7eb5d5a
Added specific copy and move constructors for C++17 and above.
2024-02-18 12:08:11 +00:00
John Wellbelove
0791d39444
Merge branch 'pull-request/#843-In-subspan-function,-add-static-checks-on-extents' into development
2024-02-18 10:48:17 +00:00
John Wellbelove
aad8024ef1
Edited comments
2024-02-18 10:48:01 +00:00
mike919192
4b12e982e6
In subspan function, add static checks on extents ( #843 )
...
* In subspan function, add static checks on extents
* Change to ETL_STATIC_ASSERT. Add static assert for first and last functions
* Add static assert to pre c++11 subspan
* Change extent to Extent to better match existing code
2024-02-16 09:21:25 +00:00
John Wellbelove
89eedd4563
Merge branch 'hotfix/#819-etl-optional-cannot-return-an-optional-object-of-self-from-member-function' into development
...
# Conflicts:
# include/etl/optional.h
2024-02-15 11:10:31 +00:00
John Wellbelove
ea74d2f02f
etl::optional C++ compatibility updates
2024-02-15 10:50:45 +00:00
John Wellbelove
3cbc73e0c9
Updated unit tests for constexpr optional
2024-02-09 11:04:39 +00:00
John Wellbelove
2619b9e307
Refactored etl::optional implementation
2024-02-02 12:42:07 +00:00
John Wellbelove
c92771088c
#834 char_traits.h throws warning for GHS compiler
2024-01-31 09:50:11 +00:00
John Wellbelove
19eff9d69e
Merge branch 'master' into development
...
# Conflicts:
# include/etl/optional.h
2024-01-28 20:39:28 +00:00
John Wellbelove
3caffa148f
Merge branch 'hotfix/#829-Possible-bug-on-assign-of-etl-array' into development
2024-01-28 20:35:22 +00:00
John Wellbelove
ad33083543
Added safe copy to etl::array::assign
...
etl::array::assign now returns an iterator
2024-01-28 20:35:07 +00:00
John Wellbelove
9ed453e7ef
Merge branch 'hotfix/#827-Declaration-order-for-etl--first_set_bit_position-in-binary_h' into development
2024-01-28 09:20:49 +00:00
John Wellbelove
c0f2bec6ae
Comment fix
2024-01-28 09:20:15 +00:00
Chiraffollo
84031659fa
Fix #832 : Only copy/move storage value when optional is valid ( #833 )
2024-01-27 00:55:51 +00:00
John Wellbelove
1d6a068e0a
Merge branch 'hotfix/#803-etl-unordered_map-buffer-overflow' into development
2024-01-25 16:35:56 +00:00
John Wellbelove
77513730e0
Fixed shadow warnings in all files
...
#823 Multiple variable shadowing warnings in private/bitset_new.h
2024-01-25 14:22:26 +00:00
John Wellbelove
664bdac4bd
Initial refactor
2024-01-21 15:02:01 +00:00
John Wellbelove
51b10c498c
Added to_ulong() and to_ullong()
2024-01-20 21:03:17 +00:00
John Wellbelove
5e78b48b6c
#815 etl::remove_if calls predicate twice for first iterator, where predicate returns true.
2024-01-20 18:35:20 +00:00
John Wellbelove
816e87ae00
Merge branch 'feature/#774-Truncating-access-for-etl-bitset' into development
...
# Conflicts:
# test/vs2022/etl.vcxproj.filters
2024-01-20 18:32:59 +00:00
John Wellbelove
94ee20e2fd
Fix C++ standard syntax compatibility for repair()
2024-01-20 18:10:34 +00:00
John Wellbelove
83e23b9adf
Fix C++ standard syntax compatibility for repair()
2024-01-20 10:08:15 +00:00
John Wellbelove
1825c54570
Minor C++ standards compatibility tweaks
2024-01-20 09:44:51 +00:00
John Wellbelove
47d3d67a14
Modified definition of bitset::Storage_Type for compatibility with C++03
2024-01-18 09:54:07 +00:00
John Wellbelove
0770e76d42
Merge branch 'pull-request/#812-Implement-SAE-J1850-CRC8' into development
2024-01-18 09:30:11 +00:00
Drew Rife
ac4c3e67e6
Implement SAE J1850 CRC8 and "Zero" version ( #812 )
...
* feat: added 8bit j1850 crc parameters
* feat: add crc8 j1850 header
* feat: add crc j1850 zero header
* feat: add the crc j1850 headers to crc.h
* test: j1850 4 constructor
* build: crc8 j1850 tests
* test: crc8 j1850 4 add values
* test: crc8 j1850 4 add range
* test: crc8 j1850 4 add range via iterator
* test: crc8 j1850 4 add range endian
* test: crc8 j1850 16 constructor
* test: crc8 j1850 16 add values
* test: crc8 j1850 16 add range
* test: crc8 j1850 16 add range via iterator
* test: crc8 j1850 16 add range endian
* test: crc8 j1850 156 constructor
* test: crc8 j1850 256 add values
* test: crc8 j1850 256 add range
* test: crc8 j1850 add range via iterator
* test: crc8 j1850 256 add range endian
* test: initial commit of crc j1850 zero tests
* build: crc8 j1850 zero tests
* test: crc8 j1850 zero 4 add values
* test: crc8 j1850 zero 4 add range
* test: crc8 j1850 zero 4 add range via iterator
* test: crc8 j1850 zero 4 add range endian
* test: crc8 j1850 zero 16 constructor
* test: crc8 j1850 zero 16 add values
* test: crc8 j1850 zero 16 add range
* test: crc8 j1850 zero 16 add range via iterator
* test: crc8 j1850 zero 16 add range endian
* test: crc8 j1850 zero 256 constructor
* test: crc8 j1850 zero 256 add values
* test: crc8 j1850 zero 256 add range
* test: crc8 j1850 zero 256 add range via iterator
* test: crc8 j1850 zero 256 add range endian
* fix: header include guards
2024-01-13 11:48:55 +00:00
John Wellbelove
3d3dad8499
Work in progress
2024-01-13 11:45:57 +00:00
John Wellbelove
3ca624efb0
Changed case of template constants
2024-01-13 11:45:38 +00:00
John Wellbelove
8f6055e99b
Removed ETL_STATIC_CONSTANT
2024-01-13 11:44:59 +00:00
John Wellbelove
ce7ce3bb72
Make binary functor operator() const
2024-01-13 11:44:40 +00:00
John Wellbelove
a7271e470a
Work in progress
...
Comprehensive bitset type comparisons
2024-01-04 00:11:54 +00:00
John Wellbelove
78d2ccf55e
Work in progress
...
Finished updating explicit single element tests for bitset_ext
2023-12-29 16:00:10 +00:00
John Wellbelove
58f469ebd4
Work in progress
...
Finished updating explicit single element tests
2023-12-29 09:33:20 +00:00
John Wellbelove
c5c88ae010
Work in progress
2023-12-18 15:28:32 +00:00
John Wellbelove
aa4b27b6e6
Work in progress for etl::bitset::extract
2023-12-18 15:21:05 +00:00
John Wellbelove
236af6190a
Work in progress for etl::bitset::extract
2023-12-18 15:21:05 +00:00
John Wellbelove
2c8aafedcd
Work in progress for etl::bitset::extract
2023-12-18 15:21:05 +00:00
John Wellbelove
a5b425f03e
Work in progress for etl::bitset::extract
2023-12-18 15:21:04 +00:00
John Wellbelove
d3b3fdbd40
Fixed 'nodiscard' keyword errors
2023-12-18 11:28:12 +00:00
John Wellbelove
c75617c2b6
#805 legacy etl::bitset set/reset does not work if the element type is greater than 8 bit
2023-12-18 11:07:42 +00:00
John Wellbelove
d17f422dac
Added binary functors for ~ & | ^
2023-12-18 11:02:54 +00:00
John Wellbelove
7bb125a360
Added etl::generate algorithm
2023-12-17 12:54:01 +00:00
John Wellbelove
59cd9e66d7
#807 Change in legacy etl::bitset with nullptr construction + error handling
...
Harmonised operation of legacy and new etl::bitset
Added ETL_ASSERT checks for nullptr buffer pointers for etl::bitset_ext
2023-12-16 12:57:36 +00:00
John Wellbelove
8f88aa0141
Fixed etl::optional operator =() for invalid values with non-pod types
2023-12-15 10:06:21 +00:00
John Wellbelove
489429bd7c
Fixed operator == implementations
2023-12-13 09:58:44 +00:00
John Wellbelove
dd060d5013
Updated version and release
2023-12-10 16:25:45 +00:00
John Wellbelove
f500cd29a8
Prioritize ETL_TARGET_OS_* for mutex selection
2023-12-10 12:57:39 +00:00
John Wellbelove
783be74dd3
Updated version and release notes
2023-12-08 09:26:23 +00:00
John Wellbelove
eba9c5797d
Added CRC1 (AKA Parity)
...
Modified test suit names
2023-12-08 09:03:17 +00:00
John Wellbelove
9161413337
Merge branch 'hotfix/#799-Iterator-returned-by-crc.input()-does-not-satisfy-std--output_iterator' into development
2023-12-08 08:46:34 +00:00
John Wellbelove
6775dba40d
Fixed output iterator for frame_check_sequence and pseudo_moving_average
2023-12-08 08:46:16 +00:00
John Wellbelove
4b97e82876
Added CRC1 (AKA Parity)
...
Modified test suit names
2023-12-07 16:19:46 +00:00
John Wellbelove
1027e66279
#795 etl::private_variant doesn't fully respect the chosen error reporting.
2023-12-05 14:24:32 +00:00
John Wellbelove
bdba48016b
typo
2023-12-05 09:59:44 +00:00
John Wellbelove
8aa799a3cb
Added check for NAN definitions for C++11 FP functions
2023-12-05 09:53:47 +00:00
John Wellbelove
cbbd1d840a
Added additional etl::make_lsb_mask and etl::make_msb_mask binary functions
2023-12-04 08:38:42 +00:00
John Wellbelove
4606e33a6d
Merge branch 'pull-request/#782-Set-is-full-error-when-adding-existing-item' into development
2023-11-24 11:26:55 +00:00
İsmail Tüzün
c6fecd9d7c
Set is full error when adding existing item ( #782 )
...
* Fixed set_full error when inserting existing item.
* Added test inserting existing value to full set
* Added test inserting existing value to full flat_set and reference_flat_set
* Fixed unordered_set_full error when inserting existing item.
2023-11-24 11:24:52 +00:00
John Wellbelove
b732b14c53
Update version and release notes
2023-11-24 11:22:50 +00:00
John Wellbelove
04211563f5
Fix useless cast
2023-11-24 10:23:12 +00:00
John Wellbelove
63d1a64e6c
#787 etl::expected doesn't compile with ETL_LOG_ERRORS
...
Updated CI scripts
#786 u8string
#783 Cannot insert existing value to full set
#781 etl::multi_span::iterator::operator *() fails if first span is empty
#780 endian enum_type produces useless-cast warnings
#779 hash.h: warnings produced with -Wfloat-equal
2023-11-24 09:59:35 +00:00
John Wellbelove
f5879a757a
Merge branch 'hotfix/#779-hash-h-warnings-produced-with-Wfloat-equal' into development
...
# Conflicts:
# test/run-tests.sh
# test/vs2022/etl.vcxproj.filters
2023-11-21 17:55:57 +00:00
John Wellbelove
61da85fa77
Removed float-equal warnings
...
Added functions is_nan, is_infinity, is_zero & is_exactly_equal
Fixed array-bounds warnings for GCC and -O2 optimisation
2023-11-21 15:13:24 +00:00
John Wellbelove
03cbf64c42
Merge branch 'hotfix/#787-etl-expected-doesn't-compile-with-ETL_LOG_ERRORS' into development
2023-11-14 10:35:32 +00:00
John Wellbelove
6c3eddaf76
Changed etl::expected_invalid to non-template type
...
Added tests for rereference operators
2023-11-14 10:35:04 +00:00
John Wellbelove
521bae91eb
Merge branch 'hotfix/#781-etl-multi_span-iterator-function-operator-fails-if-first-span-is-empty' into development
2023-11-14 00:08:57 +00:00
John Wellbelove
b6650120f8
Added u8string + utilities
...
Changed char types to unsigned 'least' types
2023-11-14 00:06:57 +00:00
John Wellbelove
c400779905
#781 etl::multi_span::iterator::operator *() fails if first span is empty
2023-11-03 18:37:25 +01:00
John Wellbelove
5622a98571
Refactoring
2023-10-31 11:12:07 +01:00
John Wellbelove
23a76d2371
Refactored back_inserter support
2023-10-29 09:01:08 +01:00
John Wellbelove
9a5ed96f8e
Renamed test file
2023-10-29 09:00:49 +01:00
John Wellbelove
02e69f5757
Added padding flag
2023-10-29 09:00:49 +01:00
John Wellbelove
b1a042385f
Removed static from encode and decode functions
2023-10-29 09:00:49 +01:00
John Wellbelove
0523fc869a
Static version of Base64 - RFC-6848 - No optional padding
2023-10-29 09:00:49 +01:00
John Wellbelove
58c55a8bb6
Updates
2023-10-29 08:59:11 +01:00
John Wellbelove
f9233f99ab
Refactor to support multiple RFCs
2023-10-29 08:58:11 +01:00
John Wellbelove
8db9613320
Renamed test file
2023-10-29 08:58:11 +01:00
John Wellbelove
5016d4033f
Added padding flag
2023-10-29 08:58:10 +01:00
John Wellbelove
456a56e7aa
Removed static from encode and decode functions
2023-10-29 08:58:10 +01:00
John Wellbelove
25338fb0d1
Static version of Base64 - RFC-6848 - No optional padding
2023-10-29 08:58:10 +01:00
John Wellbelove
91a150e37b
Updates
2023-10-29 08:58:10 +01:00
John Wellbelove
47e16bd010
Updated version and release notes
2023-10-28 22:52:41 +02:00
John Wellbelove
09c3b30f83
Revert "Added add_lvalue_reference for rvalue reference"
...
This reverts commit a09efffb8fadb0c25923fe5435b7b1f9bdd673f1.
2023-10-28 11:38:54 +02:00
John Wellbelove
a09efffb8f
Added add_lvalue_reference for rvalue reference
2023-10-28 11:35:38 +02:00
John Wellbelove
f8d5c31f66
Refactored swap
2023-10-28 11:33:25 +02:00
John Wellbelove
39c3ca8dea
Merge remote-tracking branch 'origin/pull-request/#777-Allow-Building-Tests-as-Submodule-and-GCC-less-than-11' into development
2023-10-27 10:20:58 +02:00
jmartens-42
13759c1cbb
moved BUILD_TESTS check outside of root cmake check to allow building tests in submodules ( #777 )
...
added check for GNUC >= 11 for -Wstringop-overread ignore pragma since it isn't introduced until gcc/g++-11
Co-authored-by: Josh <joshua.martens@magna.com>
2023-10-26 20:07:23 +02:00
John Wellbelove
e8eeeba875
Merge branch 'master' into development
2023-10-23 09:59:41 +01:00
John Wellbelove
85f2e09ef7
#776 Add missing semicolons
2023-10-23 09:35:01 +01:00
H1MSK
837a5156b4
Add missing semicolons ( #776 )
2023-10-22 16:16:04 +01:00
John Wellbelove
5ca6e05eb8
Added etl::string interface to etl::base64
2023-10-15 11:44:23 +01:00
John Wellbelove
21a9b884bc
Added etl::string::fill()
2023-10-15 11:44:23 +01:00
John Wellbelove
6bc244cf8e
Final changes
2023-10-15 11:44:22 +01:00
John Wellbelove
f7281dc680
Initial code
2023-10-15 11:44:22 +01:00
John Wellbelove
91a357d18d
static_cast for string_view & array_view size() member functions
2023-10-15 11:44:22 +01:00
John Wellbelove
92e880f3b1
#773 Return raw pointer for etl::multi_span::operator->()
2023-10-14 21:34:39 +01:00
David Hebbeker
e631a0fd9b
Return raw pointer for etl::multi_span::operator->(). ( #773 )
...
- using `operator*()` in case getting the current element is changed one day
- using `&` to get the address
Simply returning `p_value` may break in case the internal type of `p_value` would change. This way it is more robust to changes.
2023-10-13 20:48:46 +01:00
John Wellbelove
24b145896d
Updated versions
2023-09-27 17:56:10 +01:00
John Wellbelove
11155eb9f1
Fixed alignment functionality
2023-09-27 13:48:53 +01:00
John Wellbelove
d507106764
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2023-09-24 19:56:38 +01:00
John Wellbelove
754ac74d5a
Updated release notes
2023-09-24 19:48:15 +01:00
John Wellbelove
61713b6ce4
Refactored storage for etl::optional
2023-09-24 18:54:24 +01:00
John Wellbelove
1f368ead6c
#766 etl::unique_ptr::reset() can call deleter with nullptr argument
2023-09-23 11:29:14 +01:00
John Wellbelove
40df32148e
Merge branch 'hotfix/#749-Code-change-causes-warning-with-armcc-compiler' into development
2023-09-21 18:25:01 +01:00
John Wellbelove
2b6f6de846
Commets added
2023-09-21 18:22:48 +01:00
John Wellbelove
9a73f5e3a5
Enabled etl::overload for C++11 & C++14
2023-09-20 23:06:45 +01:00
Andreas
ee8be059e8
Remove BOM from random.h ( #762 )
...
random.h is the only file with UTF8-BOM and IAR can not handle it.
For compatibility reasons it should be removed.
Co-authored-by: Andreas Pelczer <pelczer@stoerk-tronic.com>
2023-09-20 23:06:45 +01:00
Andreas
b2adb0de9f
Make "private" includes relativ ( #761 )
...
Avoid "include not found" when indirectly including etl-header
Co-authored-by: Andreas Pelczer <pelczer@stoerk-tronic.com>
2023-09-20 23:06:33 +01:00
Soma Veszelovszki
93091cff0f
Fixed: move assignment not working for non-empty containers ( #759 )
2023-09-20 23:06:32 +01:00
John Wellbelove
9311256931
Possible fix for #756
2023-09-20 23:06:32 +01:00
John Wellbelove
0216ecf020
Updated version and release notes
2023-09-20 23:06:32 +01:00
John Wellbelove
4469aeb63c
Added conversion operators to std::span
...
MacOS clang span issue
MacOS clang span issue
MacOS clang span issue
MacOS clang span issue
MacOS clang span issue
2023-09-20 23:06:32 +01:00
John Wellbelove
b6e75065f4
Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes
2023-09-20 21:29:16 +01:00
John Wellbelove
501a73a9b7
Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes
2023-09-17 20:09:03 +01:00
John Wellbelove
c509333c1f
Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes
2023-09-17 19:49:49 +01:00
John Wellbelove
5c6d32df51
Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes
2023-09-16 19:26:44 +01:00
John Wellbelove
f9d27d93ba
Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes
2023-09-14 18:49:45 +01:00
John Wellbelove
9a49f01a3b
Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes
...
# Conflicts:
# include/etl/private/chrono/day.h
# test/test_chrono_day.cpp
2023-09-12 10:32:26 +01:00
John Wellbelove
8c78fdab04
Work in progress
2023-09-12 09:53:18 +01:00
John Wellbelove
3f1aa09454
Work in progress
2023-09-11 11:15:49 +01:00
John Wellbelove
9705ee233b
Possible fix for #756
2023-09-08 11:26:25 +01:00
John Wellbelove
89306df960
Updated version and release notes
2023-09-04 12:55:21 +01:00
John Wellbelove
929506760c
MacOS clang span issue
2023-09-04 10:39:42 +01:00
John Wellbelove
6f3e6a5db7
MacOS clang span issue
2023-09-04 09:15:43 +01:00
John Wellbelove
34029b4b78
Added conversion operators to std::span
2023-09-04 09:00:51 +01:00
John Wellbelove
d51784765f
const_reference at(size_t i) const is only constexpr from C++14
2023-09-04 08:08:34 +01:00
John Wellbelove
a4879c8908
#755 warning about constexpr in array.h
2023-09-03 23:50:03 +01:00
John Wellbelove
01d96609cf
#753 [porting] IAR's overload resolution struggles with etl::span::span(etl::array&)
...
#754 ambiguous etl::bit_stream_reader::bit_stream_reader() for some etl::span
2023-09-02 14:50:24 +01:00
John Wellbelove
7fdaa7c9a4
Updated vesrion and release notes
2023-08-29 13:48:24 +01:00
John Wellbelove
94654689e8
Removed semicolon warnings
2023-08-29 09:25:58 +01:00
John Wellbelove
b38afd7fc9
Updated version and release notes
2023-08-26 11:49:17 +01:00
John Wellbelove
5402a3ed14
Added destructor to CMSIS_RTOS2 mutex
2023-08-26 10:46:05 +01:00
John Wellbelove
c92ab94220
Change to require semicolons after debug count macros.
...
Added error assert for vector reserve greater than capacity.
2023-08-25 21:08:01 +01:00
John Wellbelove
ee7fc16192
Merge branch 'feature/#744-get-time-when-next-timer-will-expire-etl--callback_timer' into development
...
# Conflicts:
# .gitignore
# include/etl/intrusive_forward_list.h
2023-08-25 15:38:13 +01:00
John Wellbelove
a65725a283
Merge branch 'hotfix/#746-Missing-etl--legacy--variant-overload-of-emplace-with-0-Arguments' into development
2023-08-25 15:36:05 +01:00
John Wellbelove
076896e329
Remove used variable
2023-08-25 15:14:26 +01:00
John Wellbelove
f5f0ef35f5
Remove used variable
2023-08-25 12:25:38 +01: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
53084ae932
Added c++03 zero parameter emplace member functions
2023-08-25 02:05:46 +01:00
John Wellbelove
7e266687a2
Added C++03 compatible etl::move or etl::move_backward
2023-08-23 19:54:28 +01:00
John Wellbelove
f4ca3cefe1
Added 'sentence case' versions of constants
2023-08-21 21:33:44 +01:00
John Wellbelove
11daaa398b
Added time_to_next() status function
2023-08-21 20:58:44 +01:00
John Wellbelove
870759fcab
Removed unused variable
...
Minor format edit
2023-08-21 20:57:33 +01:00
John Wellbelove
77fb39c9d2
Removed redundant #includes
2023-08-20 20:16:27 +01:00
John Wellbelove
06761ca562
#745 Assertion triggered in hash.h when compiling for MSP430
2023-08-19 12:27:57 +01:00
John Wellbelove
faed17ab99
Allow C++03 delegate in etl::callback_timer
2023-08-18 20:54:47 +01:00
John Wellbelove
45fb06af3f
Changes require for non-virtual messages
2023-08-18 20:51:36 +01:00
John Wellbelove
13d723f2db
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2023-08-15 12:41:13 +01:00
David Hebbeker
9985539787
Remove some unreachable code in bitset_new.h ( #743 )
...
Warning[Pe111]: statement is unreachable
2023-08-15 12:39:28 +01:00
John Wellbelove
27e9e3c1b8
Added support for self transitions
2023-08-13 14:10:55 +01:00
John Wellbelove
2c3fa4a796
Added multi char type strcmp, strncmp, strcpy & strncpy
2023-08-13 10:39:02 +01:00
John Wellbelove
9d59e2d77e
Edited comments
2023-08-13 10:36:52 +01:00
John Wellbelove
2ec6ed54db
Merge branch 'pull-request/#741-add-stringify-macro' into development
2023-08-13 10:34:11 +01:00
John Wellbelove
81815a2dc9
Updated stringify macro for variadic parameters
2023-08-13 10:33:48 +01:00
David Hebbeker
cab9b76821
add stringify macro ( #741 )
...
* Add include/linux/stringify.h from Linux kernel 2.6.12-rc2
(cherry picked from commit 1da177e4c3 )
* Make __stringify support variable argument macros too
For example:
__stringify(__entry->irq, __entry->ret)
will now convert it to:
"REC->irq, REC->ret"
It also still supports single arguments as the old macro did.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <49DC6751.30308@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
(cherry picked from commit 8f7c2c3731 )
* Add documentation.
* Adjust names in order to satisfy naming convention.
* Use __VA_ARGS__ instead a GNU extension as this works with more compilers.
Works with the newest versions of ICCAVR, GCC, CLANG and MSCV. C++11 may be required.
* Adjust to ETL folder structure.
* Change include guard to the one usual in ETL.
* Add definition guard for STRINGIFY.
---------
Co-authored-by: Linus Torvalds <torvalds@ppc970.osdl.org>
Co-authored-by: Zhaolei <zhaolei@cn.fujitsu.com>
2023-08-11 10:09:06 +01:00
John Wellbelove
81d2ec0f8d
Added etl::bit_v for C++17
2023-08-10 12:08:42 +01:00
John Wellbelove
91eb44d657
Updated release notes and version
2023-08-10 12:08:41 +01:00
John Wellbelove
d1aaa77ade
Resolve all C++ -O2 warnings
...
Resolve all C++ -O2 warnings
Resolve all C++ -O2 warnings
2023-08-10 12:08:18 +01:00
John Wellbelove
6eb5b359ad
Updated release notes and version
2023-08-09 08:57:20 +01:00
John Wellbelove
d7fd06f795
Resolve all C++ -O2 warnings
2023-08-07 08:04:19 +01:00
John Wellbelove
8b5ff06e44
Resolve all C++ -O2 warnings
2023-08-06 23:39:11 +01:00
John Wellbelove
2b1d48d735
Added pessimizing-move warning disable for GCC
2023-08-04 11:58:31 +01:00
John Wellbelove
547184442d
Possible fix
2023-08-04 11:58:31 +01:00
John Wellbelove
5fbf6c7684
Merge branch 'hotfix/#737-etl-equal-specialisation-for-etl--span-is-deduced-wrongly-when-using-STL-and-CPP20' into development
2023-08-04 11:58:08 +01:00
John Wellbelove
591996e21a
Added C++20 four iterator std::equal variants
2023-08-04 11:57:49 +01:00
John Wellbelove
33a4a29caf
Merge branch 'hotfix/#739-Could-not-compile-ETL-with-gcc-9.4.0-(C++11)' into development
2023-08-04 07:18:22 +01:00
John Wellbelove
a6b912e3e0
Added compatibility for GCC-9 + C++11
2023-08-04 07:18:03 +01:00
John Wellbelove
1b70808386
Changed assignment from etl::unexpected to use variant::emplace instead of direct assignment
2023-08-03 09:54:31 +01:00
John Wellbelove
21a4b523e9
Added missing return reference from emplace member function
2023-08-03 09:53:13 +01:00
John Wellbelove
0eaeb7977f
Updated version and release notes
2023-07-18 19:05:11 +01:00
John Wellbelove
75be75bbec
Merge branch 'pull-request/#733-Fix-etl--expected-assignment-from-etl--unexpected' into development
2023-07-18 11:33:13 +01:00
John Wellbelove
6da22a63e0
Merge branch 'pull-request/#734-add-missing-new-line-at-end-of-file' into development
2023-07-18 11:33:06 +01:00
John Wellbelove
2bbcf696dd
Merge branch 'pull-request/#735-fix-bug-in-minmax-include-mismatch-detection' into development
2023-07-18 11:32:58 +01:00
John Wellbelove
8d1219bd72
#733-Fix-etl--expected-assignment-from-etl--unexpected
...
Added unit tests for changes
Added missing etl::forward in etl::expected::emplace
2023-07-18 10:46:29 +01:00
John Wellbelove
4a1dc781d6
#733-Fix-etl--expected-assignment-from-etl--unexpected
...
Added unit tests for changes
2023-07-18 09:40:47 +01:00
Manuel Knörle
1a3c2a788b
style: add missing new line at end of file ( #734 )
2023-07-18 08:12:53 +01:00
Vitmark97
9cd491e5aa
Fix etl::expected assignment from etl::unexpected ( #733 )
...
* Fix etl::expected assignment from etl::unexpected
* Make it more clear that assignment is from etl::unexpected
2023-07-18 06:40:14 +01:00
Manuel Knörle
cea24a6c20
fix(minmax): fix bug in minmax include mismatch detection ( #735 )
...
When using Green Hills, IAR or TASKING compiler the define
'ETL_PUSHED_MIN_MAX' is not set in 'minmax_push.h'.
Therefore the include of 'minmax_pop.h' always leads to
a compilation error (minmax_pop without matching push).
2023-07-18 06:39:15 +01:00
John Wellbelove
85ec267ea8
Refactored etl::forward_like for C++11 compatibility
2023-07-15 19:37:05 +01:00
John Wellbelove
73c96a4c6c
Added etl::forward_like
2023-07-15 09:51:08 +01:00
John Wellbelove
24272d99c0
Enhanced min/max push/pop headers
2023-07-12 10:44:36 +01:00
John Wellbelove
0f6200e09c
Added return to end of file
2023-07-12 10:41:02 +01:00
John Wellbelove
86b147d2a4
Updated version and release notes
2023-07-10 21:10:07 +01:00
Manuel Seeböck
8c47217982
fixed optional access operators ( #730 )
2023-07-10 19:47:28 +01:00
John Wellbelove
4c4c597fe5
Removed redundant ';'
2023-07-06 20:09:12 +01:00
John Wellbelove
e6a921c094
Add etl::forward wrapper around variadic arguments for create()
2023-07-05 20:18:24 +01:00
John Wellbelove
98c74bfda8
Updated version and release notes
2023-07-04 18:57:44 +01:00
John Wellbelove
635135dbc3
Synchronised generators with headers
2023-07-04 18:54:58 +01:00
Chiraffollo
1292c5eab8
Fix issue #722 Bitset accesses memory out of bounds ( #724 )
...
* Fix issue #722 Bitset accesses memory out of bounds
* Fix #709 in intrusive_list operator-> (#721 )
* Fix issue #722 Bitset accesses memory out of bounds
2023-07-04 11:46:00 +01:00
John Wellbelove
3760b26339
Fixed rvalue overloads
2023-07-04 11:46:00 +01:00
Vitmark97
98be5be390
Added conditionally explicit etl::expected constructors that work in C++11 ( #719 )
2023-07-04 11:46:00 +01:00
John Wellbelove
4bcc0c2568
Fixed address sanitizer issues in unit tests
2023-07-04 11:45:11 +01:00
John Wellbelove
197e0815e6
PR for constexpr for etl::array
2023-07-04 11:45:11 +01:00
John Wellbelove
2d41441f02
Added ETL_CONSTEXPR11 as a synonym for ETL_CONSTEXPR
2023-07-04 11:45:11 +01:00
Vitmark97
5ed39c0e09
Allow manipulation of etl::array in constexpr function ( #718 )
...
* iota can be contexpr
* Make it possible to iterate over etl::array in constexpr functions
2023-07-04 11:45:10 +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
c3c12da861
Initial updates and fixes
2023-07-04 11:45:10 +01:00
John Wellbelove
cfa39d9b4e
Removed commented out line
2023-07-04 11:45:09 +01:00
John Wellbelove
5eec513d8a
Added clear() to delegate
2023-07-04 11:45:09 +01:00
John Wellbelove
a0af0f9415
Modified the POD specialisation to accept objects that have deleted default constructors
2023-07-04 11:45:09 +01:00
John Wellbelove
8dad4e8efc
Removed blank line
2023-07-04 11:41:01 +01:00
John Wellbelove
c9bb331f4c
Added C++11 alignment matcher code
2023-07-04 11:41:01 +01:00
John Wellbelove
81cd2df218
Removed C++14 only feature from variant
2023-07-04 11:41:01 +01:00
Sencer Yazıcı
d5efffa96f
fix missing class key with friend ( #708 )
2023-07-04 11:41:01 +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
Chiraffollo
7f990d7a76
Fix #709 in intrusive_list operator-> ( #721 )
2023-07-01 12:40:07 +01:00
Daniel Jour
96092d841f
optional::operator=(nullopt_t) sets valid to false ( #715 )
...
* optional::operator=(nullopt_t) sets valid to false
Fixes https://github.com/ETLCPP/etl/issues/714
* Add test case for #714
2023-06-17 08:19:03 +01:00
Pasi Miettinen
f55fb92540
parameter_pack: Fix C++17 pedantic build ( #707 )
...
Co-authored-by: Pasi Miettinen <pasim@onenav.ai>
2023-06-09 18:15:03 +01:00
John Wellbelove
085d2c580a
Fix flat map const placement new issue
2023-06-04 15:57:37 +01:00
John Wellbelove
5f9290b8d1
#698 Behaviour of bidirectional_link nodes
2023-05-31 11:32:46 +01:00
John Wellbelove
e0747bfd32
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2023-05-31 10:30:12 +01:00
Manuel Seeböck
adfaf07874
optional(POD) explicit operator bool ( #699 )
2023-05-31 10:29:43 +01:00
John Wellbelove
76bb902034
Added missing header include.
2023-05-28 10:03:46 +01:00
Michael Morgan
5ddc11b57d
Add rvalue accessors to expected and optional, and update constructors. ( #690 )
...
* Add rvalue methods to optional and expected.
* Fix constructors in expected.h.
* Fix sanity checks.
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2023-05-20 11:43:49 +01:00
John Wellbelove
7147baac50
Updated constructor member initialisation
2023-05-19 19:34:18 +01:00
John Wellbelove
1f4cb9f403
etl::overload in C++17 only
2023-05-16 10:40:06 +01:00
John Wellbelove
7e1a59d939
etl::variant updates and refactor
2023-05-16 10:16:53 +01:00
John Wellbelove
e21426112e
etl::overload in C++17 only
2023-05-16 10:15:01 +01:00
John Wellbelove
b7a1b65276
Added const overloads of accept_visitor & accept_functor.
...
Marked all overloads od accept_visitor & accept_functor as deprecated.
Added new universal accept member function.
2023-05-15 17:22:07 +01:00
John Wellbelove
868b3f31f9
#695 Visiting a const variant (variadic)
2023-05-13 20:58:48 +01:00
John Wellbelove
9a6938d2c0
map optimisations
2023-05-12 10:52:40 +01:00
John Wellbelove
33319a6dbc
C++03 compatibilty
2023-05-11 17:47:43 +01:00
John Wellbelove
db42c82d82
C++03 compatibilty
2023-05-11 17:15:34 +01:00
John Wellbelove
b407261314
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2023-05-11 15:51:55 +01:00
John Wellbelove
7fc0c575bb
map optimisations
2023-05-11 15:50:53 +01:00
John Wellbelove
688ac131bb
Removed [] operator
2023-05-11 09:50:05 +01:00
John Wellbelove
eaebff65b9
Formatting change
2023-05-11 09:49:43 +01:00
Manuel Seeböck
0872b22e8f
fixed etl::optional emplace ( #693 )
2023-05-10 11:51:46 +01:00
John Wellbelove
1c333bbe07
#691 etl::span copy constructor doesn't compile when types are not the same
2023-05-08 19:00:06 +01:00
John Wellbelove
52d46ebf62
Changed ARRAY_SIZE template parameter to Array_Size (part of a continuous mod to change all upper case constants to initial caps case
2023-05-05 12:50:39 +01:00
John Wellbelove
d219f4a3e9
Changed declaration of value_type in the top level classes
2023-05-05 12:49:04 +01:00
John Wellbelove
88f4718735
Changed 'class' to 'typename'
2023-05-05 12:45:41 +01:00
John Wellbelove
23472f1099
Made non-template functions inline
2023-05-05 12:45:13 +01:00
John Wellbelove
b7aa13ad19
Enhanced C++03 compatibility
2023-05-02 08:09:06 +01:00
devjoa
40c4fc7c10
feat(span): Add 'as_bytes' and 'as_writable_bytes' ( #689 )
...
These functions emulates the std C++20 functions std::as_bytes and
std::as_writable_bytes.
2023-05-01 23:39:55 +01:00
John Wellbelove
d447ca5ba8
Merge branch 'hotfix/#682-hfsm-start()-does-not-update-state-for-call_on_enter_state-=-true' into development
...
# Conflicts:
# include/etl/hfsm.h
2023-05-01 17:14:35 +01:00
John Wellbelove
e0361f05ab
Added recursive enter for child states.
2023-05-01 17:12:26 +01:00
John Wellbelove
2eff7b396b
Updated version and release notes
2023-05-01 10:11:11 +01:00
John Wellbelove
478c954b31
#682 hfsm::start() does not update state for call_on_enter_state = true
2023-05-01 10:10:14 +01:00
John Wellbelove
963e39f716
Removed redundant 'const' qualifiers in non-type template parameters
2023-04-30 20:42:49 +01:00
John Wellbelove
4d153b2a18
FSM statics update
2023-04-30 18:29:13 +01:00
John Wellbelove
9f4c5bbb94
C++11 unit tests - Work in progress
2023-04-30 11:06:23 +01:00
John Wellbelove
4747c8c5b7
Fixed C++11 constexpr compatibility
2023-04-29 11:15:49 +01:00
John Wellbelove
6d562800ee
Fixed incorrect return types for reverse iterator begin() & end()
...
Updated C++ standard conditional compilation for reverse iterator functions
2023-04-29 11:15:12 +01:00
John Wellbelove
f692c67b4f
Merge branch 'feature/c++14-tests' into development
...
# Conflicts:
# include/etl/generators/type_traits_generator.h
# test/vs2022/etl.vcxproj.filters
2023-04-28 11:52:09 +01:00
Pasi Miettinen
6b43ded97b
circular_buffer: Remove extra semicolon ( #683 )
...
* Update README.md
* Update README.md
* Update a \param in basic_string.h (#681 )
Co-authored-by: Max Hughson <hughsonm@myumanitoba.ca>
* circular_buffer: Remove extra semicolon
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Max Hughson <38259768+hughsonm@users.noreply.github.com>
Co-authored-by: Max Hughson <hughsonm@myumanitoba.ca>
Co-authored-by: Pasi Miettinen <pasim@onenav.ai>
2023-04-28 11:48:29 +01:00
John Wellbelove
4a36990cb1
Merge branch 'master' of https://github.com/ETLCPP/etl
2023-04-28 11:41:47 +01:00
John Wellbelove
801c6735cf
Fixed Address Sanitizer issues
2023-04-28 10:32:58 +01:00
John Wellbelove
aa1d7f0f7f
Conversion of static to C++14 compatinility
2023-04-27 09:28:37 +01:00
John Wellbelove
6e686d4799
Message packet unused parameter fix
2023-04-26 10:00:10 +01:00
John Wellbelove
730be1b39d
Added ETL_OR_STD17 macro as the namespace for size()
...
Added definitions for all public statics
2023-04-23 18:59:41 +01:00
Tyler Tracy
402e04872f
Update scheduler.h ( #686 )
...
Removed call to task.on_task_added()
2023-04-21 11:29:42 +01:00
John Wellbelove
6c4f111e9c
static member constants
2023-04-11 16:32:30 +01:00
John Wellbelove
d30992852e
Merge branch 'development'
...
# Conflicts:
# .github/workflows/msvc.yml
# test/UnitTest++/Checks.h
# test/runtests-01.sh
# test/runtests-O1.sh
# test/runtests-O2.sh
# test/runtests-O3.sh
# test/runtests-c++14.sh
2023-04-02 11:26:37 +01:00
John Wellbelove
d1eb55e295
Fixed comment spelling
2023-04-02 11:06:43 +01:00
John Wellbelove
5b40111f84
Added Tasking compiler
2023-04-02 11:06:43 +01:00
John Wellbelove
2f53c0f871
Updated versions
2023-04-02 11:06:43 +01:00
John Wellbelove
1aa963d469
Fix type traits generator
2023-04-02 11:06:43 +01:00
John Wellbelove
363a3e2dab
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-04-02 11:06:43 +01:00
John Wellbelove
578aea502b
Work in progress
2023-04-02 11:06:42 +01:00
John Wellbelove
3c6c1ed527
Work in progress
2023-04-02 11:06:42 +01:00
John Wellbelove
4e79554dee
#675 Compilation error in optional.h line 405
...
Changes for compatibility with C++20
Restore C++17 unit test compatibility
2023-04-02 11:06:42 +01:00
John Wellbelove
293e69e37e
#675 Compilation error in optional.h line 405
2023-04-02 11:06:42 +01:00
Max Hughson
b591ef9184
Update a \param in basic_string.h ( #681 )
...
Co-authored-by: Max Hughson <hughsonm@myumanitoba.ca>
2023-04-02 00:44:45 +01:00
John Wellbelove
70ce8efa94
Comments and noexcept updates to placement new
2023-03-31 16:03:03 +01:00
John Wellbelove
967e3da8db
Fixed comment spelling
2023-03-28 19:51:47 +01:00
John Wellbelove
6a3ce87d43
Added Tasking compiler
2023-03-28 17:43:32 +01:00
John Wellbelove
a198ba143e
Updated versions
2023-03-28 17:43:19 +01:00
John Wellbelove
9a943f4ea3
Fix type traits generator
2023-03-28 17:43:00 +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
542a28a6f3
#675 Compilation error in optional.h line 405
2023-03-10 17:45:39 +00:00
John Wellbelove
0676ded8cf
Converted Visual Studio project to VS2022
2023-03-08 14:03:24 +00:00
John Wellbelove
ef4fbdd6c4
Convert the Visual Studio project to VS2022
2023-03-07 20:33:09 +00:00
John Wellbelove
bcad53ebb2
Array bounds and maybe-uninitialized warning fixes
...
Array bounds and maybe-uninitialized warning fixes
Added GCC/clang diagnostic disable for array bounds
Fixed false positive array bounds failure in unit tests
Added -01 & -03 quick tests
Fixed constexpr for exception constructor
Made virtual functions protected
Updated project files
Updated generated file
Updated versions and release notes
2023-03-02 13:15:42 +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
4844b54c91
#668 byte_stream changes that add error exceptions have changed previous behaviour
2023-02-22 09:36:53 +00:00
John Wellbelove
2da1accd19
Version updates
2023-02-21 11:52:54 +00:00
John Wellbelove
a89988b8a0
Fix enable_if syntax
2023-02-20 11:39:29 +00:00
John Wellbelove
c5432e42ff
Merge branch 'pull-request/#672-Added-HFSM-specific-start()-and-reset()' into development
2023-02-19 13:56:10 +00:00
John Wellbelove
80b397380d
Merge branch 'pull-request/#670-span-equality-operators' into development
2023-02-19 12:13:45 +00:00
John Wellbelove
1c01f98518
Merge branch 'feature/add-repair-to-circular_buffer' into development
...
# Conflicts:
# include/etl/file_error_numbers.h
2023-02-19 10:46:07 +00:00
John Wellbelove
db9d93d5e2
Added repair() to etl::circular_buffer
2023-02-19 10:45:19 +00:00
John Wellbelove
a21c4bb2f0
Removed unnecessary code in etl::vector_ext::repair()
2023-02-19 10:44:54 +00:00
John Wellbelove
7316c07045
Added etl::contruct_object_at, etl::get_object_at and etl::destroy_object_at
2023-02-19 10:43:43 +00:00
John Wellbelove
2c15062c1b
Added etl::is_aligned, etl::alignment_exception and etl::alignment_error
2023-02-19 10:41:43 +00:00
David Ockey
055ce0d442
Added HFSM-specific start() and reset() ( #672 )
...
* Added HFSM specific Start and Reset
* Added unit tests for HFSM start() and reset()
* Updated FSM generator
2023-02-16 08:53:17 +00:00
John Wellbelove
eb3593d2ef
Added ""_sv string view operators
2023-02-13 11:40:36 +01:00
John Wellbelove
2b96628850
Merge branch 'add-m17-crc' into development
...
# Conflicts:
# test/vs2019/etl.vcxproj.filters
2023-02-12 11:46:39 +01:00
John Wellbelove
26caa70981
Added M17 CRC
2023-02-12 11:44:59 +01:00
John Wellbelove
8491133351
Work in progress
2023-02-12 11:26:03 +01:00
John Wellbelove
f93ce1f6c7
Merge branch 'pull-request/#670-span-equality-operators' into development
2023-02-09 18:25:45 +01:00
KurtisT
36a9d70d7c
Feature/span equality operators ( #670 )
...
* feat: implement equality operator
* test: test equality operator
* feat: implement not equal operator
* test: test not equal operator
---------
Co-authored-by: Kurtis Thrush <kthrush@jlg.com>
2023-02-09 18:13:14 +01:00
John Wellbelove
24e871cca2
Merge branch 'feature/#615-addition-of-etl--expected' into development
2023-02-09 14:22:48 +01:00
John Wellbelove
a1ce449d83
C++03 compatibility changes
2023-02-09 14:22:14 +01:00
John Wellbelove
4fce31b742
Merge branch 'feature/#615-addition-of-etl--expected' into development
2023-02-08 20:34:21 +01:00
John Wellbelove
d6a5a35910
Fixed etl::result merge issues
2023-02-08 20:27:36 +01:00
John Wellbelove
e3e12ef731
Work in progress
2023-02-08 18:49:41 +01:00
John Wellbelove
1d12a86114
Work in progress
2023-02-08 16:40:15 +01:00
John Wellbelove
31ec6dede5
Merge branch 'hot-fix/#667-etl-span-copy-constructor-with-original-span-create-with-a-fixed-extent-causes-pend-iterator-to-be-invalid' into development
2023-02-07 10:55:41 +01:00
John Wellbelove
a08d7f14dc
Fixed span templated copy constructor
2023-02-07 10:55:16 +01:00
John Wellbelove
a710c77d79
Merge branch 'feature/#615-addition-of-etl--expected' of https://github.com/ETLCPP/etl into feature/#615-addition-of-etl--expected
...
# Conflicts:
# arduino/library-arduino.json
# arduino/library-arduino.properties
# include/etl/expected.h
# include/etl/private/variant_variadic.h
# include/etl/result.h
# include/etl/version.h
# library.json
# library.properties
# support/Release notes.txt
# version.txt
2023-02-06 20:25:53 +01:00
John Wellbelove
4c92670a6d
Work-In-Progress for full implementation of etl::expected
...
fix set of ETL_NO_STL flag (#628 )
Co-authored-by: Sergey Skorokhod <s.skorokhod@1440.space>
Removed duplicate include
unique_ptr updates - Work in progress
Updated versions & memory.h
Fix duplicate function
Fixed incorrect 'valid' flag in assignment operator for arithmetic specialisation
Updated version and release notes
Fix bug #636 in optional emplace for pod types (#638 )
Updated version info
Updated generator test script
Only build tests if top level project (#639 )
Removed trailing spaces
Updated version info
Incorrect C++03 enable_if syntax
Updated version info
Don't use `push_macro` and `pull_macro` with Tasking compiler (#643 )
* Autodetect Tasking compiler
#642
* Don't use `push_macro` and `pop_macro` for Tasking compiler
#642
Co-authored-by: Todd Snider <tsnider@jlg.com>
#643 Don't use push_macro and pull_macro with Tasking compiler
Updated etl::delgate to handle const functors correctly
Updated version info
Fixed functor delegate enable_if
Updated release notes
Avoid 'missing return statement at end of non-void function' in `etl::visit<>()`. (#645 )
* Avoid 'missing return statement at end of non-void function' in `etl::visit<>()`.
For some definitions of `ETL_ASSERT()` there may be no return statement in case of an invalid type.
This results in undefined behavior.
Warning[Pe940]: missing return statement at end of non-void function "etl::visit<TReturn,TVisitor,TVariant>(TVisitor &, TVariant const &) include\etl\private\variant_legacy.h 976
* Use more self-explaining code.
Substitute ET_ASSERT() and return by dedicated macro.
This moves the responsibility of how to handle errors to the dedicated place.
improve is_constructible, is_copy_constructible, is_move_constructible for type traits with default definitions (#648 )
Removed unused ETL_USE_MEM_BUILTINS option
Updated version info
Updated release notes
Added etl::result<TValue, void> specialisation
Reverted code for etl::result<void, TError> specialisation
Added etl::result<TValue, void> specialisation
Reverted code for etl::result<void, TError> specialisation
Fixed perfect forwarding for make_xxx helper functions
Don't warn on tag missing when subproject (#653 ) (#655 )
Different solution than proposed in the issue, since that proposed
solution would given unexpected results when an intermediate
(untagged) commit is checked out.
This change simply skips warning about a missing git version when this
is a subproject, and uses the original version calculation logic.
I've also renamed `determine_version` to `determine_version_with_file`.
I'd originally done this in an intermediate version of this PR, but I
think that keeping the renaming is clearer code.
Removed superfluous semicolons
Updated version and release notes
Removed testing for 18.04
Added testing for 22.04
Updated Github Actions for Clang
Updated version and release notes
clang updates for Github Actions
Added missing notes
emplace member functions return reference to emplaced value (#659 )
emplace_front, emplace_back updates
Updated version and release info
Improved emplace testing
Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL
Improved emplace testing
Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL
Improved emplace testing
Work-In-Progress
Work-In-Progress
Added indexed emplace
More typedefs for etl::result
Work in progress
Work in progress
Work in progress
Changed default constructor
Added function comments
2023-02-06 20:01:34 +01:00
John Wellbelove
354f2042e6
Work-In-Progress
2023-02-06 19:59:03 +01:00
John Wellbelove
9a13b8c24f
Work-In-Progress
2023-02-06 19:54:49 +01:00
John Wellbelove
bdea8c1622
Work-In-Progress
2023-02-06 19:54:32 +01:00
John Wellbelove
f858b36e82
Work-In-Progress
2023-02-06 19:48:51 +01:00
John Wellbelove
580fd757b4
Added destination_router_id parameter overrides to receive() virtuaL functions
2023-01-29 20:55:40 +01:00
John Wellbelove
df6f6d9d96
Added destination_router_id parameter overrides to receive() virtuaL functions
2023-01-29 20:46:41 +01:00
John Wellbelove
f1a9705d88
Work in progress
2023-01-26 19:24:58 +00:00
John Wellbelove
e67811065d
Change iterator constructor parameter from reference to pointer
...
Updated release notes
Update README.md
Added link to documentation
Additional constructors for an initial value
2023-01-26 13:30:22 +00:00
John Wellbelove
f4dd3c3363
Work in progress
2023-01-25 19:51:19 +00:00
John Wellbelove
5fb3e4c2e6
Work-In-Progress for full implementation of etl::expected
...
fix set of ETL_NO_STL flag (#628 )
Co-authored-by: Sergey Skorokhod <s.skorokhod@1440.space>
Removed duplicate include
unique_ptr updates - Work in progress
Updated versions & memory.h
Fix duplicate function
Fixed incorrect 'valid' flag in assignment operator for arithmetic specialisation
Updated version and release notes
Fix bug #636 in optional emplace for pod types (#638 )
Updated version info
Updated generator test script
Only build tests if top level project (#639 )
Removed trailing spaces
Updated version info
Incorrect C++03 enable_if syntax
Updated version info
Don't use `push_macro` and `pull_macro` with Tasking compiler (#643 )
* Autodetect Tasking compiler
#642
* Don't use `push_macro` and `pop_macro` for Tasking compiler
#642
Co-authored-by: Todd Snider <tsnider@jlg.com>
#643 Don't use push_macro and pull_macro with Tasking compiler
Updated etl::delgate to handle const functors correctly
Updated version info
Fixed functor delegate enable_if
Updated release notes
Avoid 'missing return statement at end of non-void function' in `etl::visit<>()`. (#645 )
* Avoid 'missing return statement at end of non-void function' in `etl::visit<>()`.
For some definitions of `ETL_ASSERT()` there may be no return statement in case of an invalid type.
This results in undefined behavior.
Warning[Pe940]: missing return statement at end of non-void function "etl::visit<TReturn,TVisitor,TVariant>(TVisitor &, TVariant const &) include\etl\private\variant_legacy.h 976
* Use more self-explaining code.
Substitute ET_ASSERT() and return by dedicated macro.
This moves the responsibility of how to handle errors to the dedicated place.
improve is_constructible, is_copy_constructible, is_move_constructible for type traits with default definitions (#648 )
Removed unused ETL_USE_MEM_BUILTINS option
Updated version info
Updated release notes
Added etl::result<TValue, void> specialisation
Reverted code for etl::result<void, TError> specialisation
Added etl::result<TValue, void> specialisation
Reverted code for etl::result<void, TError> specialisation
Fixed perfect forwarding for make_xxx helper functions
Don't warn on tag missing when subproject (#653 ) (#655 )
Different solution than proposed in the issue, since that proposed
solution would given unexpected results when an intermediate
(untagged) commit is checked out.
This change simply skips warning about a missing git version when this
is a subproject, and uses the original version calculation logic.
I've also renamed `determine_version` to `determine_version_with_file`.
I'd originally done this in an intermediate version of this PR, but I
think that keeping the renaming is clearer code.
Removed superfluous semicolons
Updated version and release notes
Removed testing for 18.04
Added testing for 22.04
Updated Github Actions for Clang
Updated version and release notes
clang updates for Github Actions
Added missing notes
emplace member functions return reference to emplaced value (#659 )
emplace_front, emplace_back updates
Updated version and release info
Improved emplace testing
Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL
Improved emplace testing
Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL
Improved emplace testing
Work-In-Progress
Work-In-Progress
Added indexed emplace
More typedefs for etl::result
Work in progress
Work in progress
Work in progress
Changed default constructor
Added function comments
2023-01-21 10:55:15 +00:00
John Wellbelove
f8d5a84161
Change iterator constructor parameter from reference to pointer
2023-01-20 12:13:27 +00:00
John Wellbelove
38c807401e
Added emplace by index to variant (variadic)
...
#660 byte_stream_reader::skip error
2023-01-20 10:53:47 +00:00
John Wellbelove
3beff56587
Fixed byte_stream_reader skip()
...
Change '<' to '<='
2023-01-19 10:31:39 +00:00
John Wellbelove
e255b34ecd
Added emplace by index to variant (variadic)
2023-01-19 09:57:03 +00:00
John Wellbelove
76e2cb1899
Updated version and release info
2023-01-07 15:23:17 +00:00
John Wellbelove
a398207e3d
emplace_front, emplace_back updates
2023-01-07 15:20:25 +00:00
Alex Hirsch
a507f8f2a6
emplace member functions return reference to emplaced value ( #659 )
2023-01-07 12:18:55 +00:00
John Wellbelove
53d3dd7852
Updated version and release notes
2023-01-05 12:48:22 +00:00