3896 Commits

Author SHA1 Message Date
Eric Vantillard
8b52ad62dd
Feature/add pair functors (#610)
* Move __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before `#include <stdint.h>`. (#601)

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

* Replace ETL_COMPILER_ICCAVR by ETL_COMPILER_IAR. (#602)

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

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

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

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

* Add documentation to the pair class

* Add test directory to the EXAMPLE_PATH

* Update .gitignore

- Remove duplicate entries
- Add doxygen output directories

* Add Select1st and Select2nd functors

* Merge select1st and select2nd into utility.h

Co-authored-by: David Hebbeker <dhebbeker@users.noreply.github.com>
2022-10-01 11:40:18 +01:00
Robin Mueller
796752172c
remove empty text file (#598) 2022-09-12 13:29:38 +01:00
John Wellbelove
d63be881a4 Fix warnings 20.34.0 2022-09-12 12:21:37 +01:00
John Wellbelove
7393090b94 Merge branch 'master' into development 2022-09-12 00:48:20 +01:00
John Wellbelove
6518af01c6 Attempt to fix clang CI error 2022-09-12 00:40:19 +01:00
John Wellbelove
de22577140 Attempt to fix clang CI error 2022-09-12 00:40:19 +01:00
John Wellbelove
34491c4ccb Attempt to fix clang CI error 2022-09-12 00:38:45 +01:00
John Wellbelove
eb3c6b7c58 Attempt to fix clang CI error 2022-09-12 00:23:28 +01:00
John Wellbelove
c39ed5af80 Attempt to fix clang CI error 2022-09-12 00:00:06 +01:00
John Wellbelove
cc17c93ef2 Attempt to fix clang CI error 2022-09-11 23:48:02 +01:00
John Wellbelove
31edd14a8c Attempt to fix clang CI error 2022-09-11 23:31:17 +01:00
John Wellbelove
b4e4bcc6b3 Attempt to fix clang CI error 2022-09-11 22:50:01 +01:00
John Wellbelove
d7609360e8 Attempt to fix clang CI error 2022-09-11 21:11:27 +01:00
John Wellbelove
89d17dd773 Attempt to fix clang CI error 2022-09-11 20:50:56 +01:00
John Wellbelove
d62f2bc666 Attempt to fix clang CI error 2022-09-11 20:32:09 +01:00
John Wellbelove
8d99194528 Attempt to fix clang CI error 2022-09-11 20:10:26 +01:00
John Wellbelove
e99a1a5845 Attempt to fix clang CI error 2022-09-11 19:50:09 +01:00
John Wellbelove
11c520fbaf Attempt to fix clang CI error 2022-09-11 19:20:11 +01:00
John Wellbelove
93aa08682c Attempt to fix clang CI error 2022-09-11 18:34:06 +01:00
John Wellbelove
f8d9eb0f46 Attempt to fix clang CI error 2022-09-11 18:02:27 +01:00
John Wellbelove
471c86828b Attempt to fix clang CI error 2022-09-11 17:09:29 +01:00
John Wellbelove
4645b7bf23 Attempt to fix clang CI error 2022-09-11 16:28:12 +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
ceeee5686d Attempt to fix clang CI error 2022-09-11 15:00:22 +01:00
John Wellbelove
a7b11834f7 Fixed missing include 2022-09-11 13:32:04 +01:00
John Wellbelove
ff41f70dd0 Updated release notes 2022-09-11 13:14:31 +01:00
John Wellbelove
df33988265 Updated release notes 2022-09-11 12:06:48 +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
92327d55f8 Reduce number of threads used to compilation 2022-09-11 00:59:04 +01:00
John Wellbelove
dc695129f7 Updated release notes 2022-09-11 00:58:41 +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
34611a6548 Merge branch 'hotfix/#593-workaround-for-__has_include-and-ICCAVR' of https://github.com/ETLCPP/etl into hotfix/#593-workaround-for-__has_include-and-ICCAVR 2022-09-07 12:40:36 +01:00
John Wellbelove
d2e8e0aa71 #594 Use a different workaround for problems with IARCC. 2022-09-07 12:38:30 +01:00
David Hebbeker
25d377114d
Use a different workaround for problems with IARCC. (#594)
This approach may be better as is uses the same syntax using `< ... >` as before. Has been suggested here: https://github.com/ETLCPP/etl/pull/593#issuecomment-1239222424

This is based on the insight, that the problem with IARCC occurs only in case the `__has_include` is used as part of a preprocessor definition. See https://github.com/ETLCPP/etl/pull/593#issuecomment-1239208693
2022-09-07 12:37:21 +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