3028 Commits

Author SHA1 Message Date
John Wellbelove
6299163f45 Minor updates. 2021-01-10 20:41:13 +00:00
John Wellbelove
9f0f65b0b4 Renamed internal structure 2021-01-09 12:34:51 +00:00
John Wellbelove
e67d285862 Added static asserts 2021-01-08 19:53:48 +00:00
John Wellbelove
bd263e6510 Added final unit tests 2021-01-07 22:40:51 +00:00
John Wellbelove
2d612b0409 Ongoing addition of unit tests 2021-01-06 21:18:18 +00:00
John Wellbelove
0b2bf0e47c LLVM changes 2021-01-06 19:01:34 +00:00
John Wellbelove
db8841ff0d Updates to pools and memory allocators 2021-01-06 17:56:24 +00:00
John Wellbelove
b40349ca9d get_memory_block_size() const 2021-01-04 17:31:52 +00:00
John Wellbelove
f980ce2cd3 Merge branch 'feature/shared-objects-in-pools' into development
# Conflicts:
#	.gitignore
#	include/etl/deque.h
#	include/etl/file_error_numbers.txt
#	include/etl/generators/fsm_generator.h
#	include/etl/list.h
#	include/etl/memory.h
#	include/etl/pool.h
#	test/vs2019/etl.vcxproj.filters
2021-01-04 17:15:25 +00:00
John Wellbelove
5a274578bb Updated deque from development 2021-01-04 12:40:43 +00:00
John Wellbelove
f02a99cc0e Updated generators 2021-01-04 12:21:40 +00:00
John Wellbelove
3e8c2ca448 Fixed LGT8F macro name clash 2021-01-04 11:21:57 +00:00
John Wellbelove
fc48021849 message router changes 2021-01-03 20:24:38 +00:00
John Wellbelove
6e71e05877 Added fixed_sized_memory_block_pool and restored imemory_block_pool interface 2021-01-03 20:15:16 +00:00
John Wellbelove
3c2cb74524 Refactored reference_counted_message now contains owner reference 2021-01-03 12:18:34 +00:00
John Wellbelove
10683ae662 Unknown board is not an error 2021-01-03 10:23:29 +00:00
John Wellbelove
dc25df16db reference_counted_object and reference_counted_message specialisations 2021-01-02 19:42:27 +00:00
John Wellbelove
ecee02d41d reference_counted_object and reference_counted_message specialisations 2021-01-02 14:09:36 +00:00
John Wellbelove
cbf07b053c reference_counted_object and reference_counted_message specialisations 2021-01-02 13:39:59 +00:00
John Wellbelove
920dcdf4b6 Merged shared_message handlers into message_router 2021-01-02 12:35:13 +00:00
John Wellbelove
3cc95d6755 Interim commit
Refactor of reference counted types.
2021-01-01 20:26:01 +00:00
John Wellbelove
5abae28f16 Interim commit 2021-01-01 17:07:53 +00:00
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