928 Commits

Author SHA1 Message Date
John Wellbelove
7ca4890a66 etl::multi_loop implementation 2020-12-24 11:59:52 +00:00
John Wellbelove
0184725feb Added etl::multi_loop 2020-12-22 12:44:17 +00:00
John Wellbelove
1aac5fb046 Added etl::for_each 2020-12-22 12:43:54 +00:00
John Wellbelove
791eb02be0 Interim commit 2020-12-22 11:10:02 +00:00
John Wellbelove
45d7186d8a Removed unused functions 2020-12-22 11:06:00 +00:00
John Wellbelove
e890e3782e Arduino compatibility 2020-12-20 16:43:49 +00:00
Steffen Zimmermann
927bb3cf5a
Make span std compliant (#317)
* add missing overloads for span::first + span::last

The C++20 standard defines additional overloads for first and last:

  template< std::size_t Count >
  constexpr std::span<element_type, Count> first() const;
  constexpr std::span<element_type, std::dynamic_extent> first( size_type Count ) const;

  template< std::size_t Count >
  constexpr std::span<element_type, Count> last() const;
  constexpr std::span<element_type, std::dynamic_extent> last( size_type Count ) const;

etl implements only the first (= template) variants so far. To be able to
compile valid C++20 code the missing overload should be added.

* remove explicit specifier for span conversion operator

The C++20 standard allows to assign a span of non-const elements to a span of
const elements. Example:

    std::span<const int> cintspan;
    std::span<int> intspan;
    cintspan = intspan;

This is enabled in the STL by using an explicit specifier with a constant
expression for one of the conversion constructors:

    template< class R >
    explicit(extent != std::dynamic_extent)
    constexpr span( R&& r );

The explicit specifier together with a constant expression is a C++20 feature
and therefore can't be used within etl. To be able to compile valid C++20
code which uses the conversion on assignment, the explicit specifier has to
be removed.

* remove explicit specifier for span conversion operator

The C++20 standard allows to assign an array of elements directly (without
explicitly using a conversion constructor). Example:

    const int data = { 1, 2, 3 };
    std::span<const int> cintspan;
    cintspan = data;

To be able to compile valid C++20 code which uses the conversion on assignment,
the explicit specifier of the array-conversion constructor has to be removed.
2020-12-09 14:33:34 +00:00
John Wellbelove
4d1f56bf9e Merge branch 'hotfix/issue-303-etl-not-compatible-with-arduino-ide' into development
# Conflicts:
#	support/Release notes.txt
#	test/vs2019/etl.vcxproj.filters
2020-12-08 12:14:36 +00:00
John Wellbelove
e122383d7d Updated for automatic detection of <new> or <new.h> 2020-12-06 14:13:37 +00:00
John Wellbelove
fbfd8ac6a4 Added clang mutex header redirect to GCC implementation 2020-12-05 14:32:00 +00:00
John Wellbelove
0900d81dc7 Merge branch 'hotfix/issue-315-bit-stream-float-consumes-double-bytes' into development 2020-12-04 11:33:54 +00:00
John Wellbelove
b5c65aea25 Added parameterised constructor for etl::format_spec 2020-12-04 11:33:04 +00:00
John Wellbelove
536fd412a3 Removed double subtraction of float size from 'bits_remaining' for floating point reads 2020-12-03 19:16:09 +00:00
John Wellbelove
8b009a4fa9 issue-314-constexpr 2020-12-03 12:06:32 +00:00
John Wellbelove
3dd45ca504 issue-314-constexpr 2020-12-03 11:55:12 +00:00
John Wellbelove
4bcd734dad Added ETL_ASSERT for out-of-order state list. 2020-12-02 13:45:07 +00:00
John Wellbelove
6144794221 constexpr, template aliases and inline variables 2020-11-30 12:56:46 +00:00
John Wellbelove
b40431f998 Fixed version number retrieval from Github 2020-11-27 18:29:08 +00:00
John Wellbelove
14868412ce Fixed AVR to __AVR__ 2020-11-27 15:40:46 +00:00
John Wellbelove
a5ca678b77 Squashed commit of the following:
commit 638cceaf9c4a6964e58894adb36d633b01a1d5ac
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Nov 25 17:57:06 2020 +0000

    Strings inherit secure status on copy.

commit 5f1ab55c61ed62b5c234b5e1d6ac3ef362b78851
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Nov 24 22:33:08 2020 +0000

    Squashed commit of the following:

    commit dceb56dd1a19be6fe9b991bb50e08902eefe36a8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 19:27:18 2020 +0000

        Fixed non-initialisation of in_use flag.

    commit c7ee1d6574ca5d95869152c5f8e4e6d02a7fa6bc
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 19:20:24 2020 +0000

        Fixed non-initialisation of in_use flag.

    commit 36cbf21cd1b67a28255582cfb4a188a601631ab2
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:52:53 2020 +0000

        Refactor buffer_descriptors test

    commit 49c60add63153bf53f400a891d8c4fb880cacda8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:44:42 2020 +0000

        Refactor buffer_descriptors test

    commit 7bda7678311bf2eb497483f3ef27c3af9211680b
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:29:02 2020 +0000

        Refactor buffer_descriptors test

    commit 7a68c932a7df05f66690fa63e67365cf4b0619e8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:14:30 2020 +0000

        Refactor buffer_descriptors test

    commit a9b25ac67d175f58751a2eb819f0e5822e8f0cf9
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:08:21 2020 +0000

        Refactor buffer_descriptors test

    commit 0c721c0466733751708fcbd995ce0bc1d7c0a932
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:58:22 2020 +0000

        Refactor buffer_descriptors test

    commit 4b2dd2fce22cd0a4846b95695fbfd812e0823540
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:47:43 2020 +0000

        Refactor buffer_descriptors test

    commit 80d5776c409b416377269d543bd539bdad83dc86
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:32:27 2020 +0000

        Refactor buffer_descriptors test

    commit 3564ac5b7ef89c41b240d9f54fce36042408daa0
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:17:50 2020 +0000

        Refactor buffer_descriptors test

    commit 297ef42c60e4228bfbcb2adcddeb6b8a617c4113
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:08:45 2020 +0000

        Refactor buffer_descriptors test

    commit 658d592c96eb7eaf1afb5d09fef38e293ea6f79b
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:58:52 2020 +0000

        Refactor buffer_descriptors test

    commit e97d8f90d5527349324ea84fd578c1d879d7a5a4
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:48:52 2020 +0000

        Refactor buffer_descriptors test

    commit ed783a8ccccc8673c0f55eb1780c08668880a745
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:43:52 2020 +0000

        clang.yml hack for testing

commit c26e42253f4502c3afb943a7ff1f7ef0f79c475b
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Nov 24 19:32:48 2020 +0000

    Squashed commit of the following:

    commit dceb56dd1a19be6fe9b991bb50e08902eefe36a8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 19:27:18 2020 +0000

        Fixed non-initialisation of in_use flag.

    commit c7ee1d6574ca5d95869152c5f8e4e6d02a7fa6bc
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 19:20:24 2020 +0000

        Fixed non-initialisation of in_use flag.

    commit 36cbf21cd1b67a28255582cfb4a188a601631ab2
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:52:53 2020 +0000

        Refactor buffer_descriptors test

    commit 49c60add63153bf53f400a891d8c4fb880cacda8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:44:42 2020 +0000

        Refactor buffer_descriptors test

    commit 7bda7678311bf2eb497483f3ef27c3af9211680b
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:29:02 2020 +0000

        Refactor buffer_descriptors test

    commit 7a68c932a7df05f66690fa63e67365cf4b0619e8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:14:30 2020 +0000

        Refactor buffer_descriptors test

    commit a9b25ac67d175f58751a2eb819f0e5822e8f0cf9
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:08:21 2020 +0000

        Refactor buffer_descriptors test

    commit 0c721c0466733751708fcbd995ce0bc1d7c0a932
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:58:22 2020 +0000

        Refactor buffer_descriptors test

    commit 4b2dd2fce22cd0a4846b95695fbfd812e0823540
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:47:43 2020 +0000

        Refactor buffer_descriptors test

    commit 80d5776c409b416377269d543bd539bdad83dc86
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:32:27 2020 +0000

        Refactor buffer_descriptors test

    commit 3564ac5b7ef89c41b240d9f54fce36042408daa0
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:17:50 2020 +0000

        Refactor buffer_descriptors test

    commit 297ef42c60e4228bfbcb2adcddeb6b8a617c4113
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:08:45 2020 +0000

        Refactor buffer_descriptors test

    commit 658d592c96eb7eaf1afb5d09fef38e293ea6f79b
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:58:52 2020 +0000

        Refactor buffer_descriptors test

    commit e97d8f90d5527349324ea84fd578c1d879d7a5a4
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:48:52 2020 +0000

        Refactor buffer_descriptors test

    commit ed783a8ccccc8673c0f55eb1780c08668880a745
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:43:52 2020 +0000

        clang.yml hack for testing

commit 3cbe1a80030263aac53616391fa434d0501f4f26
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Nov 24 19:31:03 2020 +0000

    Squashed commit of the following:

    commit dceb56dd1a19be6fe9b991bb50e08902eefe36a8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 19:27:18 2020 +0000

        Fixed non-initialisation of in_use flag.

    commit c7ee1d6574ca5d95869152c5f8e4e6d02a7fa6bc
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 19:20:24 2020 +0000

        Fixed non-initialisation of in_use flag.

    commit 36cbf21cd1b67a28255582cfb4a188a601631ab2
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:52:53 2020 +0000

        Refactor buffer_descriptors test

    commit 49c60add63153bf53f400a891d8c4fb880cacda8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:44:42 2020 +0000

        Refactor buffer_descriptors test

    commit 7bda7678311bf2eb497483f3ef27c3af9211680b
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:29:02 2020 +0000

        Refactor buffer_descriptors test

    commit 7a68c932a7df05f66690fa63e67365cf4b0619e8
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:14:30 2020 +0000

        Refactor buffer_descriptors test

    commit a9b25ac67d175f58751a2eb819f0e5822e8f0cf9
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 18:08:21 2020 +0000

        Refactor buffer_descriptors test

    commit 0c721c0466733751708fcbd995ce0bc1d7c0a932
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:58:22 2020 +0000

        Refactor buffer_descriptors test

    commit 4b2dd2fce22cd0a4846b95695fbfd812e0823540
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:47:43 2020 +0000

        Refactor buffer_descriptors test

    commit 80d5776c409b416377269d543bd539bdad83dc86
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:32:27 2020 +0000

        Refactor buffer_descriptors test

    commit 3564ac5b7ef89c41b240d9f54fce36042408daa0
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:17:50 2020 +0000

        Refactor buffer_descriptors test

    commit 297ef42c60e4228bfbcb2adcddeb6b8a617c4113
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 17:08:45 2020 +0000

        Refactor buffer_descriptors test

    commit 658d592c96eb7eaf1afb5d09fef38e293ea6f79b
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:58:52 2020 +0000

        Refactor buffer_descriptors test

    commit e97d8f90d5527349324ea84fd578c1d879d7a5a4
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:48:52 2020 +0000

        Refactor buffer_descriptors test

    commit ed783a8ccccc8673c0f55eb1780c08668880a745
    Author: John Wellbelove <github@wellbelove.co.uk>
    Date:   Tue Nov 24 16:43:52 2020 +0000

        clang.yml hack for testing

commit e939e6b15557544bd0bb88d9862b5d5711170859
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Nov 24 16:47:40 2020 +0000

    Refactor buffer_descriptors test

commit 4c4149abf6221f245aa4d73eb85e50319e7bd32c
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Nov 24 16:45:53 2020 +0000

    clang hack for testing
2020-11-26 19:33:12 +00:00
John Wellbelove
809ccafbaf Squashed commit of the following:
commit fa9d9592aa7cb686ae1e8c6eeedfcbfda7a59835
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Nov 26 19:26:11 2020 +0000

    format_spec may be constexpr
2020-11-26 19:29:51 +00:00
John Wellbelove
dceb56dd1a Fixed non-initialisation of in_use flag. 2020-11-24 19:27:18 +00:00
John Wellbelove
c7ee1d6574 Fixed non-initialisation of in_use flag. 2020-11-24 19:20:24 +00:00
John Wellbelove
36cbf21cd1 Refactor buffer_descriptors test 2020-11-24 18:52:53 +00:00
John Wellbelove
49c60add63 Refactor buffer_descriptors test 2020-11-24 18:44:42 +00:00
John Wellbelove
7bda767831 Refactor buffer_descriptors test 2020-11-24 18:29:02 +00:00
John Wellbelove
7a68c932a7 Refactor buffer_descriptors test 2020-11-24 18:14:30 +00:00
John Wellbelove
a9b25ac67d Refactor buffer_descriptors test 2020-11-24 18:08:21 +00:00
John Wellbelove
0c721c0466 Refactor buffer_descriptors test 2020-11-24 17:58:22 +00:00
John Wellbelove
4b2dd2fce2 Refactor buffer_descriptors test 2020-11-24 17:47:43 +00:00
John Wellbelove
80d5776c40 Refactor buffer_descriptors test 2020-11-24 17:32:27 +00:00
John Wellbelove
3564ac5b7e Refactor buffer_descriptors test 2020-11-24 17:17:50 +00:00
John Wellbelove
297ef42c60 Refactor buffer_descriptors test 2020-11-24 17:08:45 +00:00
John Wellbelove
658d592c96 Refactor buffer_descriptors test 2020-11-24 16:58:52 +00:00
John Wellbelove
e97d8f90d5 Refactor buffer_descriptors test 2020-11-24 16:48:52 +00:00
John Wellbelove
e381481d4b Refactor buffer_descriptors test 2020-11-24 15:07:42 +00:00
John Wellbelove
7e9df3d9e2 Refactor buffer_descriptors test 2020-11-23 20:30:28 +00:00
John Wellbelove
6c9abffada Refactor buffer_descriptors test 2020-11-23 20:17:52 +00:00
John Wellbelove
eab6a77207 Refactor buffer_descriptors test 2020-11-23 20:15:14 +00:00
John Wellbelove
e80c517896 Refactor buffer_descriptors test 2020-11-23 19:49:16 +00:00
John Wellbelove
43b6ae0a32 Refactor buffer_descriptors test 2020-11-23 19:40:52 +00:00
John Wellbelove
d33d32be23 Refactor of etl::buffer_descriptors interface 2020-11-23 12:33:04 +00:00
John Wellbelove
56192a06aa Remove VS2017 project 2020-11-22 20:06:26 +00:00
John Wellbelove
da7079bd7b Merge remote-tracking branch 'origin/feature/no-huge-value' into development 2020-11-21 12:58:44 +00:00
John Wellbelove
1fe5e9a07a Updated .leu 2020-11-21 12:14:29 +00:00
John Wellbelove
cfb38b2737 vector_ext 2020-11-21 11:36:13 +00:00
John Wellbelove
bb21758cb6 string_ext 2020-11-20 12:05:41 +00:00
John Wellbelove
8e838a67d3 indirect_vector_ext 2020-11-19 13:28:37 +00:00
John Wellbelove
7bd5a69dc5 list_ext 2020-11-19 13:14:41 +00:00
John Wellbelove
0cf882540c forward_list_ext 2020-11-19 12:55:03 +00:00