35 Commits

Author SHA1 Message Date
rleigh-electradx
25e2d6e8a3
Adopt the Library Fundamentals TS make_array design for the sequence factories (#1553)
* Adopt the Library Fundamentals TS make_array design for the sequence factories

make_array, make_deque, make_vector, make_list, make_forward_list and
make_indirect_vector now follow the Library Fundamentals TS
std::experimental::make_array design: a defaulted leading template
parameter selects the element type explicitly, falling back to the
decayed common type of the arguments when it is not supplied. A shared
trait (etl::private_make::element_type) performs the selection lazily,
so common_type is not instantiated when the element type is explicit.

This fixes the explicit-element-type calling style for the four
common-type factories, where make_vector<char>(lvalue) never compiled:
the explicit argument pinned the first pack parameter to char, making
it a char&& that no lvalue can bind to. It also gives make_array and
make_deque the deduced form (e.g. make_array(1, 2L) is array<long, 2>)
for free. All arguments are converted with static_cast, as in the
make_array const-lvalue fix, so const-qualified lvalues and narrowing
initialisers work in both forms.

Intentional behaviour change: an explicit element type now converts
every argument instead of pinning only the first. make_vector<char>(0,
1, ...) previously produced vector<int> - the explicit char affected
only the first argument and the element type was still the common type
- and now produces vector<char>. test_make_vector documented the old
behaviour and has been updated.

The keyed set and map factories are unchanged: their key/mapped types
are separate mandatory template parameters ahead of a fully-deduced
pack, so the explicit-type style already works, and retrofitting
deduction there would interact with the defaulted comparator/hash
parameters.

Adds explicit-element-type tests for the four common-type factories
(const/non-const lvalues plus narrowing initialisers) and
deduced-element-type tests for make_array and make_deque, and updates
the four documented signatures.

* Address review comments on the make_xxx factory design

- Forward same-type arguments in the make_xxx factories instead of
  casting them. static_cast produced a prvalue that, before C++17, had
  to be materialised through the move constructor, rejecting
  copyable-but-non-movable element types. The new
  private_make::convert helper forwards arguments that already have
  the element type and static_casts the rest.
- Drop ETL_NOEXCEPT from make_array: conversions can throw, and the
  other factories do not declare it.
- Remove the redundant etl::decay in element_type<void, ...>;
  etl::common_type already decays its arguments.
- Stop leaking the etl::private_make implementation namespace into the
  documented factory signatures.

* Add a test for make_array with an explicit element type and no arguments

etl::make_array<int>() produces an empty etl::array<int, 0> and now has
a regression test. A call with neither an element type nor arguments
remains ill-formed, matching the Library Fundamentals TS: there is
nothing to deduce the element type from. The array documentation now
states this explicitly.

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
2026-08-24 08:53:25 +01:00
rleigh-electradx
70d64496e6
Fix make_array and make_deque rejecting const-qualified lvalues of the element type (#1526)
* Fixed make_array rejecting const-qualified lvalues of the element type

make_array forwarded each argument as T (the element type) rather than
as its own deduced type. etl::forward<T> accepts only a non-const T& or
a T&&, and a T&& cannot bind to a reference-related const lvalue, so
any call passing a const-qualified lvalue of type T failed to compile:

  static const char c = 42;
  etl::make_array<char>(c, c);   // error: would lose const qualifier

Arguments of *other* types slipped through via temporary
materialisation, which is why the existing conversion and move tests
never caught it.

Forward each argument as its own deduced type and convert explicitly
with static_cast<T>. The explicit conversion is required rather than
plain forwarding: function parameters are not constant expressions, so
narrowing initialisers such as make_array<char>(0, 1) - which the old
code accepted and the tests cover - would otherwise be rejected by the
braced initialiser list.

Adds regression tests for const/non-const lvalues of the element type
and for constexpr evaluation. Verified with clang 22 (C++14/17/20) and
GCC 14 (C++11/20); existing conversion and move-only patterns still
compile.

* Fixed make_deque rejecting const-qualified lvalues of the element type

make_deque had the same defect fixed for make_array in the previous
commit: it forwarded each argument as T (the element type) rather than
as its own deduced type. etl::forward<T> accepts only a non-const T& or
a T&&, and a T&& cannot bind to a reference-related const lvalue, so
any call passing a const-qualified lvalue of type T failed to compile:

  static const char c = 42;
  etl::make_deque<char>(c, c);   // error: would lose const qualifier

An audit of all other make_xxx container factories found no further
instances - they forward each argument as its own deduced pack type,
which is the correct idiom.

Forward each argument as its own deduced type and convert explicitly
with static_cast<T>. The explicit conversion keeps narrowing
initialisers such as make_deque<char>(0, 1) - which the old code
accepted and test_make_deque covers - working, which plain forwarding
into the braced initialiser list would reject.

Adds a regression test for const/non-const lvalues of the element type.
No constexpr test, unlike make_array: etl::deque is not a literal type,
so make_deque cannot be evaluated at compile time. Verified with
clang 22 (C++14/17/20); the new test fails to compile before the fix
and passes after, and all 101 deque tests pass.

* Added narrowing-conversion regression tests for make_array and make_deque

Review feedback on the make_deque fix: the const-lvalue regression test
only passes arguments that already have the element type, so nothing
exercises the static_cast<T> conversion that keeps narrowing
initialisers working. If the implementation regressed to plain
forwarding into the braced initialiser list, narrowing calls such as
make_deque<char>(0, 1) would fail to compile.

make_array already covered narrowing from int literals via
test_make_array, but neither container covered conversion from
const-qualified lvalues of a different type (const int narrowed to
char), which combines both dimensions of the fix.

Adds a matching test to each container covering int literals plus
const/non-const int lvalues, all narrowed to char. Verified with
clang 22 (C++17): 102 deque and 53 array tests pass.

* Added const-lvalue regression tests for the remaining make_xxx factories

Review feedback on the make_array/make_deque fixes asked whether the
same defect - rejecting const-qualified lvalue arguments by forwarding
each argument as the element type rather than as its own deduced type -
exists in the other make_xxx container factories. The audit found that
it does not: the other factories forward each argument as its own
deduced pack type. These tests pin that down explicitly for every
remaining factory, mirroring the make_array and make_deque regression
tests:

- make_vector, make_forward_list, make_indirect_vector (element type
  deduced via common_type): const/non-const char lvalues, element type
  checked.
- make_set, make_multiset, make_flat_set, make_flat_multiset,
  make_unordered_set, make_unordered_multiset: const/non-const lvalues
  of the key type.
- make_map, make_multimap, make_flat_map, make_flat_multimap,
  make_unordered_map, make_unordered_multimap: const/non-const lvalues
  of the pair type.

make_reference_flat_* are excluded: they cannot currently be
instantiated at all (no initializer_list constructor exists in the
reference containers), which is reported separately.

Verified with clang 22 (C++17): all 15 test suites pass (996 tests).

* Added make_forward_list parity tests matching the make_list fixes

Checked whether the make_list defect - taking its argument pack by
value, costing an extra move per lvalue argument - also applies to
make_forward_list. It does not: make_forward_list already takes its
pack by forwarding reference, as make_vector does. No header change is
needed.

Adds the two tests that accompanied the make_list fix so that
forward_list has the same coverage and the same regression detector:

- test_make_forward_list_common_type_from_mixed_types, confirming the
  element type deduction through common_type.
- test_make_forward_list_argument_copy_and_move_counts, an
  instrumented type counting copy/move constructions. This is the test
  that fails if the pack ever regresses to by-value (one extra move
  per lvalue argument). The exact move counts are C++17-only, as
  before C++17 the non-guaranteed return elision may add a move per
  element.

Verified with clang 22 (C++17): all 67 forward_list tests pass.

---------

Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
2026-08-17 10:13:34 +02:00
John Wellbelove
aeb8e4f734 Formatted source files 2026-04-02 14:11:45 +01:00
Roland Reichwein
b83cef5668
Fix compilation with -Wsign-conversion (#1367)
* Fix compilation with -Wsign-conversion

For tests with GCC and Clang

Fixes https://github.com/ETLCPP/etl/issues/632

* Fix support of negative Id in type_lookup.h: type_from_id

* Fix element access arithmetic in atomic_gcc_sync.h fetch_add/fetch_sub

* Fix rounded_integral_division.h: divide_round_half_odd(): direction is always 1
2026-03-28 11:15:56 +00:00
Iványi Béla
16389b3eea
Indirect vector checks (#1239)
* Check in indirect_vector::emplace_back if the vector is full, when push pop checks are requested

* Add extra checks to indirect_vector

* Fix emplace in indirect_vector not taking const_iterator

* Fix usage of ipool::create<T> in indirect_vector, so that there are no intermitten objects created

---------

Co-authored-by: Béla Iványi <bela.ivanyi@idata.hu>
2026-01-01 09:56:25 +00:00
John Wellbelove
d884719098 Fixed all 'extra semicolon' warnings 2025-12-16 09:15:26 +00:00
John Wellbelove
77513730e0 Fixed shadow warnings in all files
#823 Multiple variable shadowing warnings in private/bitset_new.h
2024-01-25 14:22:26 +00:00
John Wellbelove
63d1a64e6c #787 etl::expected doesn't compile with ETL_LOG_ERRORS
Updated CI scripts
#786 u8string
#783 Cannot insert existing value to full set
#781 etl::multi_span::iterator::operator *() fails if first span is empty
#780 endian enum_type produces useless-cast warnings
#779 hash.h: warnings produced with -Wfloat-equal
2023-11-24 09:59:35 +00:00
John Wellbelove
61da85fa77 Removed float-equal warnings
Added functions is_nan, is_infinity, is_zero & is_exactly_equal
Fixed array-bounds warnings for GCC and -O2 optimisation
2023-11-21 15:13:24 +00:00
Soma Veszelovszki
93091cff0f Fixed: move assignment not working for non-empty containers (#759) 2023-09-20 23:06:32 +01:00
John Wellbelove
c92ab94220 Change to require semicolons after debug count macros.
Added error assert for vector reserve greater than capacity.
2023-08-25 21:08:01 +01:00
John Wellbelove
53084ae932 Added c++03 zero parameter emplace member functions 2023-08-25 02:05:46 +01:00
John Wellbelove
044fc1b2ff Improved emplace testing
Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL
2023-01-07 18:46:59 +00:00
Alex Hirsch
a507f8f2a6
emplace member functions return reference to emplaced value (#659) 2023-01-07 12:18:55 +00:00
John Wellbelove
cd18cc6af0 Eradicated all GCC and clang warnings 2022-07-27 10:42:03 +01:00
John Wellbelove
baa47d1c33 Updated copyright notice 2022-06-10 21:45:37 +01:00
John Wellbelove
7c3d8490c4 indirect_vector updates from sanitizer results 2022-05-13 14:43:36 +01:00
John Wellbelove
740e490aed Tested ETL traits code. 2022-03-11 20:28:26 +00:00
John Wellbelove
86c0813d93 Added fill() member functions to array_view, circular_buffer, deque, indirect_vector and vector 2022-02-15 10:54:44 +00:00
John Wellbelove
d2ba5e9956 Multiple code changes, delegates & timers 2021-12-14 10:52:49 +00:00
John Wellbelove
343dabe7e2 Fixes for < GCC 8 2021-11-21 17:29:56 +00:00
John Wellbelove
8872b9a0ae const_iterator parameters for containers 2021-11-20 19:04:39 +00:00
John Wellbelove
a3eda2c2e1 Added 'make' functions to construct containers
Added tests for 'make' and 'template deduction'
2021-11-08 19:05:59 +00:00
CanastraRF
7c0f169b66
literal with suffix (#416) 2021-08-23 11:01:18 +01:00
John Wellbelove
dbfa71944f Abstracted unit test framework header 2021-03-05 13:52:34 +00:00
John Wellbelove
2ea2e9a5d5 Squashed commit of the following:
commit 0bd0067022994f359c3bd68a7d34056f3a4de2f0
Merge: 3973ac2d 35cfa526
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 18:18:20 2020 +0100

    Merge branch 'feature/github-actions-for-windows-compilers' into development

    # Conflicts:
    #	.github/workflows/clang.yml
    #	CMakeLists.txt
    #	include/etl/version.h
    #	library.json
    #	library.properties
    #	support/Release notes.txt
    #	test/vs2019/etl.vcxproj
    #	test/vs2019/etl.vcxproj.filters

commit 35cfa5263d0bbc936ead29f69fa05f1c419311c3
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 18:00:04 2020 +0100

    Add VS2019 configuration to Github CI

commit d894b9c422868400ac14cbb9a7b3ba12022e1021
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 17:56:13 2020 +0100

    Add VS2019 configuration to Github CI

commit c5f296bab9558c0655ebb84621eda0f4679da547
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 17:46:09 2020 +0100

    Add VS2019 configuration to Github CI

commit 2f1635f894cb82577603740eeb709979460b1cb7
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 17:41:55 2020 +0100

    Add VS2019 configuration to Github CI

commit caabbba35746d7278bde9385c02de424a3bdb6e3
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 17:41:01 2020 +0100

    Add VS2019 configuration to Github CI

commit 2df9504d74a6838a7294320c251f48501bcc9551
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 17:27:20 2020 +0100

    Add VS2019 configuration to Github CI

commit 70031f2d30cb8935e879340a047fa6ce4751b89d
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 17:24:42 2020 +0100

    Add VS2019 configuration to Github CI

commit 534d5965076aced7b72c4301fd01f00df1825683
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 12:05:51 2020 +0100

    Add VS2019 configuration to Github CI

commit fbb7e467833e57054beb03e98bf8981eb9c81d5d
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 11:35:17 2020 +0100

    Add VS2019 configuration to Github CI

commit 00d27fce28fd209550aa89e6a058959521abf341
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 11:09:37 2020 +0100

    Add VS2019 configuration to Github CI

commit 4b2662d33c47cb04793e1141778ba09230e26378
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 11:02:15 2020 +0100

    Add VS2019 configuration to Github CI

commit ce9526dcb915463f280c238f3c0e2ce3c48c4a4d
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 10:51:23 2020 +0100

    Add VS2019 configuration to Github CI

commit e0edc9824d91763c29907ac555cfeffc5ab3fd62
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 10:29:41 2020 +0100

    Add VS2019 configuration to Github CI

commit 0f8b95c7b4fd81dc626f5436c7e6aa04612d4519
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 09:56:34 2020 +0100

    Add VS2019 configuration to Github CI

commit f4148c647b890cf53501f1923d5a4605372e66ee
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 09:49:55 2020 +0100

    Add VS2019 configuration to Github CI

commit 3973ac2dc354a3f4af2bc010fa5f7686f213f652
Author: Alastair Bain <45587683+thealastair@users.noreply.github.com>
Date:   Fri Oct 2 21:39:03 2020 +1300

    Fix missing empty define of ETL_OBJECT_RESET_DEBUG_COUNT (#280)

commit 7c07b112a019e25c284b39aeb168118830df6f77
Author: John Wellbelove <jwellbelove@users.noreply.github.com>
Date:   Wed Sep 30 11:35:57 2020 +0100

    Updated badges

commit 31e84421d86ad709651dd449d23910272a0b49db
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Fri Oct 2 09:40:02 2020 +0100

    Add VS2019 configuration to Github CI

commit 38d3cd35953c8d6e7057ecda431a68ee705a6587
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 19:42:57 2020 +0100

    Add VS2019 configuration to Github CI

commit c87fe057b3e374f8a3936b068d46ee6d6def002f
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 19:36:28 2020 +0100

    Add VS2019 configuration to Github CI

commit 290f34535b639edc364821308f3d8388be85bb10
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 19:30:46 2020 +0100

    Add VS2019 configuration to Github CI

commit 5d15f8fb44be7ae37a1166aca12f27ea8dbbcef8
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 18:27:00 2020 +0100

    Add VS2019 configuration to Github CI

commit eb1dd7e473ae25044d5642457424eca82b214aee
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 18:19:45 2020 +0100

    Add VS2019 configuration to Github CI

commit 2f7d60d9975a81feb2e0f2e7fa71946015e34ac0
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 18:17:16 2020 +0100

    Add VS2019 configuration to Github CI

commit 37c562538796cac192dc30e7d16839d7cc07711d
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 18:07:40 2020 +0100

    Add VS2019 configuration to Github CI

commit ded6aed47387230296101569efb833240167c902
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 18:02:57 2020 +0100

    Add VS2019 configuration to Github CI

commit 24d7f467b84008da974f462c354913b9dc622d48
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:55:27 2020 +0100

    Add VS2019 configuration to Github CI

commit e35417871887a6fe9aeaaa59b01c27e4dfe12ef1
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:51:31 2020 +0100

    Add VS2019 configuration to Github CI

commit 9f2bfa17a6604bfecfcdd7fa1f418a2f474f07b7
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:44:29 2020 +0100

    Add VS2019 configuration to Github CI

commit 29aa68326e6c354b978193044d71b6b68aca92fa
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:41:41 2020 +0100

    Add VS2019 configuration to Github CI

commit 56caea01bdf6b2ec3cd52c53b2e50d884ac563b4
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:37:05 2020 +0100

    Add VS2019 configuration to Github CI

commit 78c5a82ffc10a1e20b7a89d3276e077b3b0654c7
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:32:06 2020 +0100

    Add VS2019 configuration to Github CI

commit a5b6dc79609c088fe5db4d31caf2480198586fdb
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:26:48 2020 +0100

    Add VS2019 configuration to Github CI

commit a36b45cdb375a61c17b5c9218ecd1b71689033a7
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:22:58 2020 +0100

    Add VS2019 configuration to Github CI

commit 3bddc4ff1cfbf96a12fea4ff470964710f687673
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:21:36 2020 +0100

    Add VS2019 configuration to Github CI

commit 331513c3e09008976e1d86ccdb0a18301a4ed96c
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:19:46 2020 +0100

    Add VS2019 configuration to Github CI

commit 845d6902f119d978308408200edeec2b2dc3f9f3
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:15:34 2020 +0100

    Add VS2019 configuration to Github CI

commit 811cbcfedf881a42af7f754a3b1256c3661f1636
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:13:13 2020 +0100

    Add VS2019 configuration to Github CI

commit 2a677f99aa99993264b471834ce705cc4e4ef3e5
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:06:40 2020 +0100

    Add VS2019 configuration to Github CI

commit 19fbfe774fd1761eb4a3e833697d3d13ed7c8c71
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:04:02 2020 +0100

    Add VS2019 configuration to Github CI

commit 8dc0db48f214a9a0bb6891a4abfdc1f47ed8a19f
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:01:59 2020 +0100

    Add VS2019 configuration to Github CI

commit af226c09a09b7de850f4b0c0bec90ab4677dee49
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 17:00:19 2020 +0100

    Add VS2019 configuration to Github CI

commit e3f4d3536c853aa154c2f01e211f1adfa35d61d7
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 16:57:13 2020 +0100

    Add VS2019 configuration to Github CI

commit 048c367ad072ab2a9f88324cff176813d6f68b83
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 16:53:21 2020 +0100

    Add VS2019 configuration to Github CI

commit 373c90c5532759a1fd81c8f5b8ff6e9b71157557
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 16:50:37 2020 +0100

    Add VS2019 configuration to Github CI

commit 362e5131f817273cfa2d688ec2d68a45fecb6775
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 16:49:22 2020 +0100

    Add VS2019 configuration to Github CI

commit 2a4756d6422eabfbcb1d0416b9352d9eb9bfbcbb
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 11:59:29 2020 +0100

    Add VS2019 configuration to Github CI

commit 45573dbd85d65cd5ce1e2907e010902c78e30d05
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 11:57:52 2020 +0100

    Add VS2019 configuration to Github CI

commit 17f2f66932440dc703ea206e348fb7787cf08265
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 11:56:18 2020 +0100

    Add VS2019 configuration to Github CI

commit bb9b00c8c9c1a99a404f3a512764602881e3ab57
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 11:55:11 2020 +0100

    Add VS2019 configuration to Github CI

commit c21cbbd8a94cec1672b1ff09c94b4716ac86c74c
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 11:39:40 2020 +0100

    Add VS2019 configuration to Github CI

commit be8679bb571db37062d166e04e79f16231820025
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 11:32:19 2020 +0100

    Add VS2019 configuration to Github CI

commit 5fdf89db4827f6fff74b8883aa0671a5aeb4a503
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:43:31 2020 +0100

    Add VS2019 configuration to Github CI

commit 7dc4d0ad941896eb5f2ca85758c0351673634c6d
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:41:32 2020 +0100

    Add VS2019 configuration to Github CI

commit bc993027bf80fb23924d33ffddef92f2004e2a2d
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:36:45 2020 +0100

    Add VS2019 configuration to Github CI

commit be2a660a62a485148d4d1a2b2dcdb12edc58860f
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:25:25 2020 +0100

    Add VS2019 configuration to Github CI

commit 8e67b682452640fa7f6dbe968de06b4813b02bd8
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:23:24 2020 +0100

    Add VS2019 configuration to Github CI

commit 6cb4d8829d96863e4992efb3cf4fa03acb31ec11
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:18:59 2020 +0100

    Add VS2019 configuration to Github CI

commit 646f95505ae4159a9f59edf9f42a8a67e4849a13
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:16:52 2020 +0100

    Add VS2019 configuration to Github CI

commit 2654f52cdd3b497e277d3ccf2ac7e242e899a7be
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:12:33 2020 +0100

    Add VS2019 configuration to Github CI

commit 698094c422b9f76697641e20782b82ab2d3d7891
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:11:07 2020 +0100

    Add VS2019 configuration to Github CI

commit 0b23e71578d402d49e3f31259dcd3d17b0ca6ac9
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 10:05:20 2020 +0100

    Add VS2019 configuration to Github CI

commit a08366166648d9411424493c89e06a55f844acb8
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 09:57:29 2020 +0100

    Add VS2019 configuration to Github CI

commit 2bedbdf699e9d3bf990c3066425a88146c01cda3
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Thu Oct 1 09:57:20 2020 +0100

    Add VS2019 configuration to Github CI

commit 6a1a2d56e576690ec5d439e6a5eb8f4f2292f69a
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:57:14 2020 +0100

    Add VS2019 configuration to Github CI

commit 1d993142542b20c85de8528c5a6e2fe6f84dd25c
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:50:10 2020 +0100

    Add VS2019 configuration to Github CI

commit 3f37897a4868d46b0f5469482bd5212967367184
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:48:07 2020 +0100

    Add VS2019 configuration to Github CI

commit fa3926bacf423407e4024461d24da739d28af3d9
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:47:26 2020 +0100

    Add VS2019 configuration to Github CI

commit 1cd30b7e8ed6e7d5dd6872e305cd3e286cb7cd79
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:45:58 2020 +0100

    Add VS2019 configuration to Github CI

commit db74e54c870d64c581061554350b3a6d29f543f3
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:44:00 2020 +0100

    Add VS2019 configuration to Github CI

commit 78aa39ced507c275665b4ba05053b129c86339f6
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:43:27 2020 +0100

    Add VS2019 configuration to Github CI

commit a4154b27dd4381b1e2a542498b43be7f521aca52
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:27:35 2020 +0100

    Add VS2019 configuration to Github CI

commit cf4fe76427381232593e7e9ef1a497228d376aaf
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 19:18:05 2020 +0100

    Add VS2019 configuration to Github CI

commit 3819cf1bb7f062249c1550425a1c8e4639c9c5b7
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 18:56:15 2020 +0100

    Add VS2019 configuration to Github CI

commit 9ce21707b4ad9612b9710c371d89b1096a73cbdc
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 11:31:21 2020 +0100

    Add VS2019 configuration to Github CI

commit c27f14479b246d68aa07f0513f9343206275e199
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 11:27:44 2020 +0100

    Add VS2019 configuration to Github CI

commit 1a90c1e3d171fbe438380dbb19586f92125e0f4b
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 11:12:02 2020 +0100

    Updates to CI configuration files to compile 'No STL' variants of the tests.

commit 7f256f6b94c97770aa64c5bfa2876e43b0a4ce11
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 10:49:53 2020 +0100

    Add No STL variants to Github CI

commit 22bbb8cb946afa523c7e676b8d071e62ff9ec427
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 10:09:48 2020 +0100

    CMakeLists test

commit a2ed867e371d1008e140807cee6321c4a03d7a47
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 09:55:20 2020 +0100

    CMakeLists test

commit 133c5fff77f9732bf9a4af790cfc8b77a98e6006
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 09:53:29 2020 +0100

    CMakeLists test

commit 3b4e92ce9a1822adb194e8de133bbf578a0d9113
Author: John Wellbelove <jwellbelove@users.noreply.github.com>
Date:   Wed Sep 30 10:36:54 2020 +0100

    Create FUNDING.yml

    Help keep the ETL active by supporting development

commit 22d38712c22e4e51fa1c89abe11a9c532fa160ed
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Sep 30 09:42:00 2020 +0100

    CMakeLists test

commit df23e2d750d7ec247001a29c53bbe19508c87bef
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 13:15:37 2020 +0100

    Conditionally disable template deduction guide tests

commit a5e02be012ac8122ac65ebb610da2f1a1bffd9c5
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 13:00:51 2020 +0100

    Conditionally disable template deduction guide tests

commit c2e185cf5680c8e64060845ced810520de13e7a0
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 12:51:23 2020 +0100

    Conditionally disable template deduction guide tests

commit 8296ec2b5c78283a5f3e4e75624505eacb3dc319
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 20:05:33 2020 +0100

    Add VS2019 configuration to Github CI

commit 5550500e7b7ebc6a9d450239ce5c1482a737b39f
Merge: b99b52c3 e337689e
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 19:56:03 2020 +0100

    Merge branch 'master' into feature/github-actions-for-windows-compilers

    # Conflicts:
    #	.github/workflows/main.yml
    #	include/etl/version.h
    #	library.json
    #	library.properties
    #	support/Release notes.txt
    #	test/vs2019/etl.vcxproj.filters

commit b99b52c39dcae34ae7ac5daaedd21b9b62bb2bd8
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 19:52:00 2020 +0100

    Update main.yml

commit be5935787a934b8275e093344e4a3303f15d9468
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 12:49:22 2020 +0100

    Conditionally disable template deduction guide tests

commit 9e7cae7a02adf40379fa720979ff550d37a9643a
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 12:24:54 2020 +0100

    Conditionally disable template deduction guide tests

commit 713031a514b9781fc1bfa08ecfc62ed3b82e9388
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Sep 29 12:09:49 2020 +0100

    Conditionally disable template deduction guide tests

commit 67a67c18a32ef2b9ed2e4d2b1e894a0e88f7a6af
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Mon Aug 17 16:43:14 2020 +0100

    Github actions for MSVC

commit 063eae98782a51236294b96d05539ed5c23fe6ec
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Mon Aug 17 16:39:40 2020 +0100

    Github actions for MSVC

commit 609a7008d7e2400940dd99e89e07afc796b53a62
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Mon Aug 17 16:26:48 2020 +0100

    Github actions for MSVC

commit 6e649f98ba4a95713b0c0b09272ff2591dbcb0c5
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 19:55:16 2020 +0100

    Github actions for MSVC

commit 49735baa6d1940dd52d72b7f14333f364afa95a1
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 19:27:45 2020 +0100

    Github actions for MSVC

commit 347565bb802b416f15e7860592279a0c62be3610
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 19:24:40 2020 +0100

    Github actions for MSVC

commit 63e35414933b19d178b6729e9db737473d505956
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 19:18:43 2020 +0100

    Github actions for MSVC

commit 2c10a814e9a1838f11acbc3d6e026123a8a1375e
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 19:06:56 2020 +0100

    Github actions for MSVC

commit 99200936817d794172a02e832373f16094fae26e
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 19:03:05 2020 +0100

    Github actions for MSVC

commit d592d059139eb7818a8c975e9e0e84ff8f07cda8
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 18:59:30 2020 +0100

    Github actions for MSVC

commit 32b003629cc6bfa08ad17561324f3df5bcb5cd27
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 18:54:11 2020 +0100

    Github actions for MSVC

commit 4b485bc038e1624023af604fa2403107dfbe877f
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 15:45:58 2020 +0100

    Github actions for MSVC

commit 8e154a75ce86a4baa0e5c8497519f663c0eca66f
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 15:33:56 2020 +0100

    Github actions for MSVC

commit cebf7ea072e4e101695d011afcf77ec21aacad81
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 15:12:30 2020 +0100

    Github actions for MSVC

commit 7dc4f772360cebb43df3901c0129007f8f17930a
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 14:41:42 2020 +0100

    Github actions for MSVC

commit 7d7dd89c703dcc6d23a8d0c83b727cc9df7b71f5
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sun Aug 16 11:32:23 2020 +0100

    Fixed issue for incorrect operation of erase(const_iterator, const_iterator)

    when the terminating iterator was end() for etl::unordered_map, etl::unordered_multimap, etl::unordered_set and etl::unordered_multiset.

commit bb52c37eca73b114820cb131641397ce9764b85b
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Sat Aug 15 21:00:18 2020 +0100

    Fixed issue for incorrect operation of erase(const_iterator, const_iterator)

    when the terminating iterator was end() for etl::unordered_map, etl::unordered_multimap, etl::unordered_set and etl::unordered_multiset.

commit dc501fa2c477ee37b79c4dbe6eca0ed92fa96115
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Aug 12 10:26:39 2020 +0100

    Github actions for MSVC

commit b8389c71348bee12c60d77f2b4c240670e931ea2
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Aug 12 10:23:56 2020 +0100

    Github actions for MSVC

commit 2ea9aece4fe9df2a80b9264d1aea2fc497467bdb
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Wed Aug 12 10:17:51 2020 +0100

    Github actions for MSVC

commit 8577e8e5f22ffe6c7dec111ed4383f16ad6b3d74
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 20:04:59 2020 +0100

    Github actions for MSVC

commit d6e3db0b9f2762318d4accb3f7b04bc8be0a16af
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 20:00:57 2020 +0100

    Github actions for MSVC

commit d2c5b761e53f62929ad179e79435c9c8eb30c1ba
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 19:49:41 2020 +0100

    Github actions for MSVC

commit 3ea20255e1bc77e77bf759008dc626c79f30415e
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 19:36:12 2020 +0100

    Github actions for MSVC

commit 1b396679ebcf7768f301c37dfe5baedb489fa5a8
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 19:31:55 2020 +0100

    Github actions for MSVC

commit db1a9790e0dfe0999cd9e3b222d32b3bbcb6ce7a
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 12:22:39 2020 +0100

    Github actions for MSVC

commit 662dd6ea24f2ca315668a362a6ff0b76f1d353ec
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 12:14:51 2020 +0100

    Github actions for MSVC

commit fdb0f64ec9f22caf398d128a81f97abcba7bd256
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 12:11:52 2020 +0100

    Github actions for MSVC

commit 35a2fc91aa142246c5d7d10970b0e8f326d4f681
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 12:06:40 2020 +0100

    Github actions for MSVC

commit 79f3148eb3c4b050da3e1d2bfc4b3c7b4dfc32f6
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 11:06:29 2020 +0100

    Github actions for MSVC

commit 208f0c2fb61b8a9b5d1bb214e9358d1bbacaac70
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:57:32 2020 +0100

    Github actions for MSVC

commit 5d9bbf2672e49d2b4729b80ee9c763aa7c730e00
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:52:09 2020 +0100

    Github actions for MSVC

commit 6a2ce5e8c44ad68a14eda365cfa75e46b24cf08c
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:49:24 2020 +0100

    Github actions for MSVC

commit c4f59bc20024120034212290488fa67e2035958a
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:38:44 2020 +0100

    Github actions for MSVC

commit 5cf076d61ed070dcf7bb03fc838c5d4cf9e96a24
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:35:19 2020 +0100

    Github actions for MSVC

commit 731167fff6854d849be770bb6e6b32d2f64bc256
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:32:20 2020 +0100

    Github actions for MSVC

commit e3d23f95bb85b5762c7f64c4c82d9ba698f6fdbc
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:30:13 2020 +0100

    Github actions for MSVC

commit d887d110357d2bfee6073c1a2c733c8493155791
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:27:40 2020 +0100

    Github actions for MSVC

commit 346abe9a691b5b64f96a5a6de7a60cc317c40380
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:21:39 2020 +0100

    Github actions for MSVC

commit 192a851577fa3320833f60afe3e8e4a0d2e82edb
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:18:38 2020 +0100

    Github actions for MSVC

commit c0590bf52d0c074c868123629e8156caf081ae5d
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:16:01 2020 +0100

    Github actions for MSVC

commit 9724a0fe3fd58978651ddd6276342559790ec6d7
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:07:52 2020 +0100

    Github actions for MSVC

commit a9d39153e57abf527f1a1105ae07e666c13bacfd
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:03:20 2020 +0100

    Github actions for MSVC

commit b971037ce5ae046778a98d8cdd3d51620b312644
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 10:02:06 2020 +0100

    Github actions for MSVC

commit 44e2730baa0cab5e2f365bc88347ce85f692e019
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 09:58:08 2020 +0100

    Github actions for MSVC

commit 1a3a2ce5cbe3095db2291b4193550ae2bfe684c3
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 09:54:08 2020 +0100

    Github actions for MSVC

commit 367f96552e14745bdb53999ea01729b9631f042f
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 09:53:29 2020 +0100

    Github actions for MSVC

commit f9dbaba07643f15ea89e34e813d10ece1a2584dc
Author: John Wellbelove <github@wellbelove.co.uk>
Date:   Tue Aug 11 09:52:12 2020 +0100

    Github actions for MSVC
2020-10-02 18:30:55 +01:00
John Wellbelove
18d8236f91 Conditionally disable template deduction guide tests 2020-09-29 11:23:10 +01:00
John Wellbelove
509089c0e2 Added template deduction guides 2020-09-28 13:14:12 +01:00
John Wellbelove
f4d9476900 Simplified conditional macros 2020-05-09 19:40:44 +01:00
John Wellbelove
83347ccfdd Work in progress 2020-01-09 11:15:50 +00:00
John Wellbelove
84cfab6b32 Merge remote-tracking branch 'origin/feature/indirect_vector_algorithm_adaptor' into development
# Conflicts:
#	include/etl/indirect_vector.h
2019-12-04 16:23:35 +00:00
John Wellbelove
5803d928a1 Merge remote-tracking branch 'origin/feature/no_stl_unit_tests' into development
# Conflicts:
#	include/etl/stl/alternate/algorithm.h
#	include/etl/stl/alternate/iterator.h
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
#	test/test_no_stl_algorithm.cpp
#	test/test_no_stl_iterator.cpp
#	test/vs2017/etl.vcxproj
2019-12-01 18:21:10 +00:00
John Wellbelove
7a4c74f8df Fix LLVM & GCC highlighted error for initialisation order. 2019-11-16 19:06:30 +00:00
John Wellbelove
fe36361973 Finalised sort functions.
Added 'no STL' support.
2019-11-15 10:14:48 +00:00
John Wellbelove
87b202b27f Added indirect_vector 2019-11-13 14:12:10 +00:00