John Wellbelove
db3af4f14f
Work-In-Progress
...
Function parameter radix implementation
2022-09-30 11:47:13 +01:00
John Wellbelove
5d393f0ef4
Added etl::npos
...
Added specialisation of etl::optional for POD
2022-09-30 11:47:13 +01:00
John Wellbelove
ade73ed78d
Refactored to_arithmetic
2022-09-30 11:47:13 +01:00
John Wellbelove
741a002942
First implementation ideas
2022-09-30 11:47:13 +01:00
John Wellbelove
c8471e5eeb
Endianness for IAR compiler
2022-09-30 11:46:13 +01:00
David Hebbeker
d1e094476e
Automatically detect native endianness for IAR compiler platform. ( #612 )
...
* Auto detect native endianness for IAR compiler platform.
References:
- [IAR C/C++ Development Guide Compiling and Linking for Arm Limited’s **Arm**® Cores](https://wwwfiles.iar.com/arm/webic/doc/ewarm_developmentguide.enu.pdf )
- [IAR C/C++ Compiler User Guide for Microchip Technology’s **AVR** Microcontroller Family](https://wwwfiles.iar.com/AVR/webic/doc/EWAVR_CompilerGuide.pdf )
* Fix spelling mistake.
2022-09-29 08:20:54 +01:00
David Hebbeker
24ebe3efe8
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.
2022-09-14 11:29:37 +01:00
David Hebbeker
d31f787585
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.
2022-09-14 11:12:47 +01:00
John Wellbelove
e99a1a5845
Attempt to fix clang CI error
2022-09-11 19:50:09 +01:00
John Wellbelove
f8d9eb0f46
Attempt to fix clang CI error
2022-09-11 18:02:27 +01:00
John Wellbelove
0bfe4baa63
Attempt to fix clang CI error
2022-09-11 16:04:15 +01:00
John Wellbelove
23be4cfd02
Attempt to fix clang CI error
2022-09-11 15:41:51 +01:00
John Wellbelove
38458a71e3
Attempt to fix clang CI error
2022-09-11 15:29:51 +01:00
John Wellbelove
bc48b8ac4e
Deleted copy constructors for etl::circular_buffer_ext, etl_indirect_vector and etl::vector to eliminate dangling pointers.
2022-09-11 12:04:28 +01:00
John Wellbelove
f952057508
Added ETL_ENUM_CLASS and ETL_ENUM_CLASS_TYPE macros
2022-09-11 00:59:34 +01:00
John Wellbelove
c953100dd0
Improved etl::span/std::span compatibility
2022-09-11 00:58:22 +01:00
John Wellbelove
7b733f73ad
Minor updates to bitset
...
Added bitset_ext tests to cmake
2022-09-11 00:57:00 +01:00
John Wellbelove
e78e7b474a
Added etl:lsb_mask, etl::make_lsb_mask, etl::msb_mask and etl::make_msb_mask
2022-09-11 00:55:55 +01:00
John Wellbelove
1e7b5887f5
Minor changes
2022-09-09 19:06:23 +01:00
John Wellbelove
435cec705f
Modified order of standard includes
2022-09-09 14:20:24 +01:00
John Wellbelove
737b0bf6f7
#591 Automatically define __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS
2022-09-08 23:00:48 +01:00
John Wellbelove
2d0d744c74
Updated etl::bitset and added etl::bitset_ext
2022-09-08 20:11:20 +01:00
John Wellbelove
7949c09b93
Merge branches 'development' and 'development' of https://github.com/ETLCPP/etl into development
2022-09-08 20:09:04 +01:00
David Hebbeker
1e592b5921
Do not use min/max workaround for ICCAVR. ( #595 )
...
IAR C/C++ Compiler V6.70.1.929 for Atmel AVR does not support push_macro and does neither define macros for min or max.
2022-09-08 16:29:02 +01:00
John Wellbelove
d2e8e0aa71
#594 Use a different workaround for problems with IARCC.
2022-09-07 12:38:30 +01:00
David Hebbeker
63e31068b7
Apply workaround for __has_include(<...>) and ICCAVR. ( #593 )
...
ICCAVR: IAR C/C++ Compiler V6.70.1.929 for Atmel AVR
There seems to be an issue with the ICCAVR compiler and `__has_include(<...>)` syntax:
```
Error[Pe008]: missing closing quote etl\include\etl\placement_new.h 48
Tool Internal Error:
Internal Error: [Front end]: assertion failed at: "..\..\Translator\compiler_core\src\parser\edg\literals.c", line 1159
Internal Error: [Front end]: assertion failed at: "..\..\Translator\compiler_core\src\parser\edg\literals.c", line 1159 etl\include\etl\placement_new.h 48
Error while running C/C++ Compiler
```
Which is weird, as I wonder why `__has_include` is defined in first place. The compiler is supposed to support some dialect of C++98.
Anyhow, `__has_include()` seems to work in general with ICCAVR. And with this change the code compiles well.
2022-09-07 11:15:59 +01:00
John Wellbelove
4b0047a3bb
Updated release information
2022-09-07 11:13:04 +01:00
John Wellbelove
e8cc472ac9
Finished etl::circular_iterator an circular extensions to etl::span
2022-09-06 19:43:01 +01:00
John Wellbelove
dc0ab72e09
circular_span first draft
2022-09-06 10:59:49 +01:00
John Wellbelove
25adb3c68c
Almost finalised circular_iterator and tests
2022-09-04 23:44:51 +01:00
John Wellbelove
2c0f56841e
Almost finalised circular_iterator and tests
2022-09-04 21:05:22 +01:00
John Wellbelove
13a1ce6f8e
Merge branch 'feature/circular_iterator' of https://github.com/ETLCPP/etl into feature/circular_iterator
2022-09-03 13:24:46 +01:00
John Wellbelove
15fd907549
Merge branch 'hotfix/#582-unordered_set-equality-comparison-fails-when-hash-collisions-occur' into development
2022-09-03 11:57:11 +01:00
John Wellbelove
eceaa23f47
#584 unordered_set::const_iterator has incorrect value_type
2022-09-03 11:56:24 +01:00
John Wellbelove
7c5a6e49a1
Fixed unordered container equality tests to match STL
2022-09-02 20:40:17 +01:00
John Wellbelove
0f2b9bb019
Fix non-C++03 code syntax
2022-09-02 15:56:39 +01:00
John Wellbelove
c4b67a2708
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2022-09-02 15:04:23 +01:00
Ilya
818908fb6e
Add minmax_push.h/minmax_pop.h includes ( #589 )
2022-09-02 15:04:01 +01:00
John Wellbelove
b13442823a
Merge branch 'hotfix/#585-etl-result-void-being-unusable-due-to-deleted-default-constructor' into development
2022-09-02 14:06:15 +01:00
John Wellbelove
245fbdeea9
Fixes for etl::result<void, TError>
2022-09-02 14:05:46 +01:00
John Wellbelove
201c1fb918
Merge branch 'hotfix/#583-permit-non-default-constructable-hashes-and-key-equals-in-unordered_map' into development
2022-09-02 13:32:23 +01:00
John Wellbelove
4f5847e189
Updates for unordered maps and sets for an API that better matches the STL
2022-09-02 13:32:00 +01:00
Jesse Li
aab900f002
Permit non-default-constructable hashes and key-equals ( #583 )
...
Co-authored-by: Jesse <jli@planarmotor.com>
2022-09-01 19:41:09 +01:00
John Wellbelove
b00929ef09
Merge branch 'feature/#581-hash-functions-for-enum' into development
2022-09-01 19:26:35 +01:00
John Wellbelove
a48aa15b60
Formatting
2022-09-01 19:16:24 +01:00
Jesse Li
a38a8fc33c
#227 Hash function for enums ( #581 )
...
* #227 Hash function for enums
* Move enum hash definition to bottom, so gcc doesn't complain about it
* Explicitly specify etl hash
Co-authored-by: Jesse <jli@planarmotor.com>
2022-09-01 19:10:35 +01:00
John Wellbelove
f0862971c1
Merge branch 'hotfix/#585-etl-result-void-being-unusable-due-to-deleted-default-constructor' into development
2022-09-01 18:56:46 +01:00
jeremyerdmann
7d7b7633bd
Fixed IAR build warnings in message_packet ( #587 )
...
IAR was tripping up on the syntax, generating warnings. This addresses that per the discussion in #586 .
Co-authored-by: Jeremy Erdmann <jeremy.erdmann@millerwelds.com>
2022-09-01 18:52:34 +01:00
Eyal Abramovitch
927491c763
Fix etl::result<void> being unusable due to deleted default constructor ( #585 )
2022-08-31 12:43:56 +01:00
John Wellbelove
64fa058f6b
Work in progress
2022-08-26 09:49:13 +01:00
John Wellbelove
5aa14f85aa
Revert "Work in progress"
...
This reverts commit b3a77d6f83088a01969a3164373166d14ce36639.
2022-08-26 09:47:05 +01:00
John Wellbelove
b3a77d6f83
Work in progress
2022-08-26 09:40:54 +01:00
John Wellbelove
868329f9e4
Remove redundant include
2022-08-24 11:27:48 +01:00
John Wellbelove
d3d9dbdbcd
#580 numeric_limits<char> redefinition for gnu c++20
2022-08-24 11:27:12 +01:00
John Wellbelove
d9bff52343
added ETL_NODISCARD to binary_search
2022-08-23 19:46:45 +01:00
John Wellbelove
6a320608b9
class to typename
2022-08-23 19:38:25 +01:00
John Wellbelove
f7cb225857
Fixed conditional compilation
2022-08-23 18:04:40 +01:00
John Wellbelove
69e09299bf
element_t replaced with element_type
2022-08-23 18:03:53 +01:00
John Wellbelove
a03f67a94a
Removed the use of ETL_FORCE_CONSTEXPR_ALGORITHMS as all algorithms may be constexpr.
2022-08-20 13:30:25 +01:00
John Wellbelove
5dc9f49516
Removed the use of ETL_FORCE_CONSTEXPR_ALGORITHMS as all algorithms may be constexpr.
2022-08-20 12:44:34 +01:00
John Wellbelove
c99f2c1068
Renames + optimisations
2022-08-20 12:43:50 +01:00
John Wellbelove
2e7b635bfd
Add asserts in to_string
2022-08-19 22:19:48 +01:00
John Wellbelove
ec4fb59b89
More to_string tests
...
Removed asserts so all functions are noexcept
2022-08-19 10:22:57 +01:00
John Wellbelove
e1bd545391
Major changes complete
2022-08-18 22:02:34 +01:00
John Wellbelove
7868445166
Work in progress
...
Modify specialisations for bitset element types
2022-08-17 20:35:44 +01:00
John Wellbelove
72263a9ced
Work in progress
...
More tests
2022-08-16 18:10:05 +01:00
John Wellbelove
2d9c8ccd2a
Work in progress
...
Start single element optimisations
2022-08-15 16:33:35 +01:00
John Wellbelove
42d272cae4
Work in progress
...
All tests for implicit bitset element type enabled
2022-08-15 14:57:42 +01:00
John Wellbelove
3a4af24ab7
Work in progress
...
Added more CHECK macros
Added bitset_fast class for bitsets that are the same size as an integral type
2022-08-13 12:15:41 +01:00
John Wellbelove
3ee5abf74b
Work in progress
2022-08-12 13:39:24 +01:00
John Wellbelove
2df71e4384
Optimised bitset shift operations
2022-08-09 12:45:29 +01:00
John Wellbelove
ccfce560ae
Optimised shifts
2022-08-09 12:45:29 +01:00
John Wellbelove
e10cd6dab3
Rationalised etl::send_message functions
2022-08-09 12:45:11 +01:00
John Wellbelove
9d33f9bf28
Added ability to set the bitset from wchar_t, char16_t and char32_t
2022-08-05 09:46:09 +01:00
John Wellbelove
86ae10a4ec
Fixed implicit virtual warning for etl::vector
2022-08-04 17:07:19 +01:00
John Wellbelove
debbfddf35
Optimisations and addition of set() for all char types.
2022-08-04 16:31:51 +01:00
John Wellbelove
30d5a1b79b
Added newline at end of file
2022-08-04 15:35:10 +01:00
John Wellbelove
5a9fc4dd00
Fixed C++03 delegate compatibility
2022-08-04 15:33:43 +01:00
John Wellbelove
7e8829d1b0
Changed operator= in etl::string_view from ETL_CONSTEXPR to ETL_CONSTEXPR14
2022-08-04 15:32:54 +01:00
John Wellbelove
87d00ad4d1
Added ARM5 and ARM6 compiler compatibility
2022-08-04 15:31:39 +01:00
John Wellbelove
2da99e81e6
Added missing char_traits unit tests and char_traits bug fixes
2022-08-04 15:31:09 +01:00
John Wellbelove
1b8d5a307a
Changed std::lower_bound to etl::lower_bound
2022-08-04 15:29:59 +01:00
John Wellbelove
7ecd818ecc
Merge branch 'feature/message-broker' of https://github.com/ETLCPP/etl into feature/message-broker
...
# Conflicts:
# include/etl/generators/message_router_generator.h
# include/etl/message_router.h
2022-08-02 14:23:12 +01:00
John Wellbelove
37b8115abf
Added default message id constructors
...
etl::message_router default id is etl::imessage_router::MESSAGE_ROUTER
Added successor parameter constructors
2022-08-02 14:21:30 +01:00
John Wellbelove
19d99aa52d
Added default message id constructors
...
etl::message_router default id is etl::imessage_router::MESSAGE_ROUTER
Added successor parameter constructors
2022-08-02 12:45:11 +01:00
John Wellbelove
fda4d704c3
Minor changes
2022-08-02 11:42:57 +01:00
John Wellbelove
e6a86a6285
Update release info
2022-08-01 16:28:40 +01:00
John Wellbelove
b80835108e
Merge branch 'feature/message-broker' into development
2022-08-01 16:13:05 +01:00
John Wellbelove
3ad60c1e6c
Finished message_broker code
2022-08-01 16:12:33 +01:00
John Wellbelove
838cdc24af
Finished message_broker code
2022-08-01 13:00:20 +01:00
John Wellbelove
40290c4fa2
Partial implementation
2022-07-31 13:55:23 +01:00
John Wellbelove
e5fea50fab
Standardise conditional compilation macros for ETL_USING_CPP11 and ETL_USING_STL
2022-07-31 09:53:34 +01:00
John Wellbelove
fce2b5ca8d
Updated version info
2022-07-28 15:55:57 +01:00
John Wellbelove
1fa2116bd1
#573 more comfortable circular_buffer_ext construction
2022-07-28 15:55:38 +01:00
John Wellbelove
ec98d64697
Updated version info
2022-07-28 11:38:20 +01:00
John Wellbelove
a89db201c5
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2022-07-28 08:23:55 +01:00
benedekkupper
747867f1fa
Bip buffer improvements ( #575 )
...
* bip-buffer-spsc-atomic: read reserve default size is all available data
* bip-buffer-spsc-atomic: add API to write reserve in buffer space optimal way
2022-07-28 08:18:47 +01:00
Xavier
06eb494400
Invoke function pointers w/ parenthesis ( #576 )
2022-07-28 08:03:22 +01:00
John Wellbelove
cd18cc6af0
Eradicated all GCC and clang warnings
2022-07-27 10:42:03 +01:00
Joris Putcuyps
841f4610d0
Fix initialisation order ( #570 )
2022-07-24 19:08:54 +01:00
John Wellbelove
e4cf390956
Updated variant_pool generator
2022-07-24 17:45:37 +01:00
John Wellbelove
ea49e6a80f
Updated generators scripts
2022-07-24 17:43:46 +01:00
John Wellbelove
23bf850785
Updated release versions
2022-07-24 17:26:39 +01:00
John Wellbelove
72740b5225
Fixed swap function for circular_buffer_ext
...
Fixed circular_buffer iterator -> operators
Added functions and macros to etl::debug_count
2022-07-24 17:24:46 +01:00
John Wellbelove
648b2490e0
Comment edits
2022-07-24 13:01:22 +01:00
John Wellbelove
df01759227
Optimised container move for external buffers
2022-07-24 13:01:07 +01:00
John Wellbelove
b2e1c35540
Fixed swap function for circular_buffer_ext
...
Fixed circular_buffer iterator -> operators
Added functions and macros to etl::debug_count
2022-07-24 12:56:44 +01:00
John Wellbelove
4316a4d7af
Added tests for error handler macros
...
Fixed missing value parameter for exception + log configuration
2022-07-24 12:52:58 +01:00
John Wellbelove
adf9d690e1
Updated version and release notes
2022-07-20 14:32:43 +01:00
benedekkupper
e4c6c45772
error-handler: only return when the condition is false ( #567 )
2022-07-20 12:12:44 +01:00
John Wellbelove
93a0a0fe73
Addition of extra ETL_NODISCARD and ETL_NOEXCEPT to etl::span & etl::poly_span.
...
Fixed warnings for initialisation order for some etl::poly_span constructors.
2022-07-17 12:18:04 +01:00
John Wellbelove
4903e0cac8
Added is_enum
2022-07-14 20:14:26 +01:00
John Wellbelove
274a52db52
Merge branch 'feature/is_enum-implementation' into development
2022-07-14 17:59:19 +01:00
John Wellbelove
70e6989c99
Updated message router generator
2022-07-14 17:34:59 +01:00
John Wellbelove
67c2efb85c
Added is_enum
2022-07-14 17:31:20 +01:00
Jesse Li
4d4a3c8ab9
is_enum ( #561 )
2022-07-14 15:38:49 +01:00
John Wellbelove
594255d50f
class to typename
2022-07-14 15:35:26 +01:00
John Wellbelove
150a1f9058
Updated version numbers and release notes
2022-07-14 12:50:37 +01:00
John Wellbelove
1790868830
Merge branch 'feature/poly_span' into development
...
# Conflicts:
# include/etl/span.h
2022-07-14 12:27:25 +01:00
John Wellbelove
bcf147f096
Added etl::poly_span
...
Refacted parts of etl::span
2022-07-14 12:19:08 +01:00
mhx
058e4c9ed2
etl/span.h: prevent compound statements in constexpr methods for C++11 ( #562 )
...
C++11 doesn't support compound statements in constexpr functions
and as a result, `etl/span.h` generates a heap of warnings with
gcc's `-Wpedantic` in C++11 mode. This changes the relevant method
bodies to contain just a single return statement.
2022-07-13 13:48:13 +01:00
John Wellbelove
7cc8d95157
Work in progress
2022-07-12 17:39:16 +01:00
John Wellbelove
21faaa349f
Work in progress
2022-07-12 17:37:08 +01:00
John Wellbelove
870d0fd96a
Green Hills compiler compatibility
2022-07-12 16:32:04 +01:00
John Wellbelove
f05f74fbd1
Work in progress
2022-07-12 13:16:11 +01:00
John Wellbelove
adf9bd5c20
Work in progress
2022-07-10 14:09:46 +01:00
John Wellbelove
9dca59bf40
etl::poly_span without etl::dynamic_extent
2022-07-04 20:24:39 +01:00
John Wellbelove
26d0dd9859
Initial forked code
2022-07-04 20:24:38 +01:00
John Wellbelove
50f5319382
Legacy variant is in namespace etl::legacy if ETL_IN_UNIT_TEST is not defined
2022-07-04 10:46:08 +01:00
John Wellbelove
97f4a34da8
Updated version and release notes
2022-07-03 11:18:47 +01:00
John Wellbelove
638de5bd40
Merge branch 'hotfix/#560-unable-to-upcast-legacy-variant' into development
2022-07-02 21:19:47 +01:00
John Wellbelove
3c07f46158
#560-unable-to-upcast-legacy-variant
...
Refactor of upcast to eliminate upcast_functor
Added is_base_of member function
2022-07-02 21:19:15 +01:00
John Wellbelove
a074b42b91
Added non-member etl::send_message for etl::shared_message
2022-06-27 11:03:23 +01:00
John Wellbelove
b77c7753d3
Updated message_packet_generator.h to match etl::message_packet changes
2022-06-27 10:07:23 +01:00
John Wellbelove
c5d41f9d87
Updated message_packet_generator.h
2022-06-24 19:39:40 +01:00
John Wellbelove
2c6c46ee18
Updated versions
2022-06-24 16:28:48 +01:00
John Wellbelove
c0923e1d6a
Fix to message_packet
...
Fix tests for atomic under GCC
2022-06-24 15:59:25 +01:00
John Wellbelove
1b3445d11a
Fixed etl::message_packet issues
2022-06-24 14:58:53 +01:00
John Wellbelove
3c26ffea4e
dded etl::byte_stream_overflow assert to byte_stream_reader 'skip'.
2022-06-23 19:49:20 +01:00
John Wellbelove
829d9fa220
Renamed cumulative_moving _average to pseudo_moving_average
...
Modified etl::debounce internal enumeration names to avoid clashes with Arduino
2022-06-22 17:37:59 +01:00
John Wellbelove
c2ba195092
Updated version information
2022-06-22 14:10:39 +01:00
John Wellbelove
d4a3af56a7
const_reference parameter for resize()
2022-06-22 11:19:40 +01:00
John Wellbelove
22060623fc
Added skip functions
2022-06-22 10:05:14 +01:00
John Wellbelove
c49f56722c
Added two new traits to get a standard signed or unsigned integral of the same size as the template type.
2022-06-22 10:01:38 +01:00
John Wellbelove
08d76a9d56
Added size_bits() to bit_stream reader
2022-06-21 09:00:20 +01:00
John Wellbelove
ad2f95ac79
Optimisations
2022-06-20 09:25:39 +01:00
John Wellbelove
5a460f7fec
Latest refactoring
...
Added little endian bit stream reader tests
2022-06-19 18:37:20 +01:00
John Wellbelove
fefe6d3975
Added endianness to bit_stream_writer
2022-06-18 20:57:26 +01:00
John Wellbelove
bf49fe60e6
Finished bit_stream_reader tests
2022-06-15 11:43:55 +01:00
John Wellbelove
f88999bb12
Latest updates to bit_stream_reader
2022-06-15 11:43:54 +01:00