5306 Commits

Author SHA1 Message Date
John Wellbelove
eeb057a99d Moved code lines 2020-12-30 10:02:12 +00:00
John Wellbelove
35debe90eb Merge branch 'feature/add-multi-loop' into development
# Conflicts:
#	include/etl/functional.h
#	include/etl/multi_loop.h
#	test/test_functional.cpp
#	test/test_multi_range.cpp
2020-12-28 13:37:19 +00:00
John Wellbelove
92c68b1367 Refactor multi_loop to multi_range 2020-12-28 13:23:23 +00:00
John Wellbelove
aa148ac424 Latest implementation 2020-12-27 11:59:14 +00:00
John Wellbelove
faed3231bf Added typedefs 2020-12-24 19:08:03 +00:00
John Wellbelove
dd9aa7761e Added etl::multi_loop 2020-12-24 12:32:46 +00:00
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
ee8abd915d Added is_random_access_iterator and deprecated is_random_iterator 2020-12-22 11:06:00 +00:00
John Wellbelove
45d7186d8a Removed unused functions 2020-12-22 11:06:00 +00:00
John Wellbelove
a0e77e0949 VS2019 Delegate function interrupt service example 2020-12-22 10:57:12 +00:00
John Wellbelove
1ac3b77ef4 Arduino compatibility 19.3.7 2020-12-21 12:03:49 +00:00
John Wellbelove
3e8d39dae5 Merge branch 'hotfix/fcs_make_getter_const' into development 2020-12-20 19:54:39 +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
dc4bc1018b Arduino compatibility 2020-12-20 17:50:22 +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
168483335e Create Arduino ZIP 2020-12-16 15:27:49 +00:00
John Wellbelove
7fd73fe96d Change std::move to etl::move in etl::forward_list 19.3.5 2020-12-16 08:47:39 +00:00
John Wellbelove
d7daf59a5b Updated version numbers 19.3.4 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
e425e25dce Merge branch 'hotfix/issue-303-etl-not-compatible-with-arduino-ide' into development
# Conflicts:
#	support/Release notes.txt
#	test/vs2019/etl.vcxproj.filters
19.3.3
2020-12-08 13:19:42 +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
41dbae73b2 Updated generators 2020-12-08 12:11:54 +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 19.3.2 2020-12-05 14:32:00 +00:00
John Wellbelove
fdcc2c00d3 Minor changes 2020-12-05 11:55:40 +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 19.3.1 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
b8e6e6070d Make modifying constexpr C++14 only 2020-12-03 18:56:12 +00:00
John Wellbelove
ed8959d0c1 Make modifying constexpr C++14 only 2020-12-03 18:52:32 +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. 19.3.0 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 19.2.1 2020-11-27 18:29:08 +00:00
John Wellbelove
14868412ce Fixed AVR to __AVR__ 19.2.0 2020-11-27 15:40:46 +00:00
John Wellbelove
39d958b7a0 Merge branch 'development' 2020-11-27 09:54:27 +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