602 Commits

Author SHA1 Message Date
John Wellbelove
2bb66c2e17 Merge branch 'hotfix/add-deleter-constructor-to-unique-ptr' 2021-01-23 12:59:40 +00:00
John Wellbelove
464cff6238 Added nullptr check to unique_ptr destructor 2021-01-23 12:58:57 +00:00
John Wellbelove
a40b49c174 Fixed VS2019 warning for etl::deque iterators. 2021-01-23 09:35:26 +00:00
John Wellbelove
c3a055ea75 Fixed typos in rvalue constructor 2021-01-21 11:42:27 +00:00
John Wellbelove
503b990514 Added constructors with deleters for unique_ptr. 2021-01-21 10:38:18 +00:00
John Wellbelove
2c73fdf9ca Added virtual function 'void on_task_added()' that is called when a task is added to a shceduler. 2021-01-13 09:50:02 +00:00
John Wellbelove
4a91470347 Merge branch 'hotfix/fcs_make_getter_const' into development 2020-12-20 19:38:24 +00:00
John Wellbelove
febb4de79a Updated version numbers 2020-12-20 17:55:27 +00:00
John Wellbelove
3857830703 Merge branch 'hotfix/arduino-compatibility' into development 2020-12-20 16:44:30 +00:00
John Wellbelove
e890e3782e Arduino compatibility 2020-12-20 16:43:49 +00:00
Steffen Zimmermann
c09d3087d6
let default assignment operator return a reference to itself (#320)
The default assignment operator in C++ shall return a reference to *this.
2020-12-18 14:09:49 +00:00
Steffen Zimmermann
342acd5aa7
Fcs make getter const (#319)
* make FCS get and conversion-operator methods const

etl::frame_check_sequence has to access methods which can be made const:
  value_type value() const
  operator value_type() const

* make jenkins_policy::initial and final const

According to the documentation, initial, add and const have to be
tagged as const.

final has to be const now due to the change in the previous commit which
makes the fcs getter methods const.
2020-12-18 11:00:54 +00:00
John Wellbelove
7fd73fe96d Change std::move to etl::move in etl::forward_list 2020-12-16 08:47:39 +00:00
John Wellbelove
d7daf59a5b Updated version numbers 2020-12-10 11:35:15 +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
8cf7ab2974 Updated generators 2020-12-08 11:39:26 +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
Heinz-Peter Liechtenecker
cc418dd08f
Include new on megaAVR Boards (Arduino Nano Every) (#313)
* Change new to new.h

* Only include <new> header if ETL supports STL

* Adding a flag to define placement new if necessary

Co-authored-by: Heinz-Peter Liechtenecker <h.liechtenecker@fh-kaernten.at>
2020-12-04 12:45:21 +00:00
John Wellbelove
6cf6c92b05 Updated version numbers 2020-12-04 12:23:02 +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
ed8959d0c1 Make modifying constexpr C++14 only 2020-12-03 18:52:32 +00:00
John Wellbelove
4bcd734dad Added ETL_ASSERT for out-of-order state list. 2020-12-02 13:45:07 +00:00
John Wellbelove
fad6e4d800 Updated version numbers 2020-12-01 13:19:44 +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
4e4aed118a Updated version numbers 2020-11-27 09:13:49 +00:00
John Wellbelove
26a797381c Added AVR compile time switch 2020-11-27 08:59:28 +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
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
d33d32be23 Refactor of etl::buffer_descriptors interface 2020-11-23 12:33:04 +00:00
John Wellbelove
d2b436c484 Merge remote-tracking branch 'origin/feature/no-huge-value' into development 2020-11-21 12:14:36 +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
John Wellbelove
6cb26807bc circular_buffer_ext 2020-11-19 12:48:53 +00:00
John Wellbelove
af9c640fa7 Updated version numbers 2020-11-19 11:18:36 +00:00
Heinz-Peter Liechtenecker
174a3d79be
Adding Tests for a fractional -1.0 < x < 0, fixing missing sign for integral parts equals to zero 0 (#306)
Co-authored-by: Heinz-Peter Liechtenecker <h.liechtenecker@fh-kaernten.at>
2020-11-19 10:34:39 +00:00
John Wellbelove
9eaa3e1178 Fix make_string for zero length literals
Remove redundant test support code
2020-11-18 18:29:20 +00:00
John Wellbelove
39a3f77ed4 Disabled ASAN option in Visual Studio project. 2020-11-17 13:03:11 +00:00
John Wellbelove
47d39d8605 Fixed warnings 2020-11-13 13:46:13 +00:00
John Wellbelove
19a5c62f36 Added etl::buffer_descriptors.
Added std/etl pair conversions.
Added etl::make_string_view.
Resolved issue with zero length literals for etl::make_string
Resolved etl::flags constexpr issues.
Added atomics for clang.
Resolved type_traits issues for GCC < v5
2020-11-12 19:52:14 +00:00