diff --git a/arduino/library-arduino.json b/arduino/library-arduino.json index 8a438a32..9288f7f6 100644 --- a/arduino/library-arduino.json +++ b/arduino/library-arduino.json @@ -1,6 +1,6 @@ { "name": "Embedded Template Library ETL", - "version": "20.44.0", + "version": "20.44.1", "authors": { "name": "John Wellbelove", "email": "john.wellbelove@etlcpp.com" diff --git a/arduino/library-arduino.properties b/arduino/library-arduino.properties index a0b917d6..4dac09db 100644 --- a/arduino/library-arduino.properties +++ b/arduino/library-arduino.properties @@ -1,5 +1,5 @@ name=Embedded Template Library ETL -version=20.44.0 +version=20.44.1 author= John Wellbelove maintainer=John Wellbelove license=MIT diff --git a/include/etl/array.h b/include/etl/array.h index f24ca976..efb2ce04 100644 --- a/include/etl/array.h +++ b/include/etl/array.h @@ -682,7 +682,7 @@ namespace etl //************************************************************************* ETL_NODISCARD ETL_CONSTEXPR14 - reference at(size_t) + reference at(size_t) ETL_NOEXCEPT { return *data(); } @@ -693,7 +693,7 @@ namespace etl //************************************************************************* ETL_NODISCARD ETL_CONSTEXPR14 - const_reference at(size_t) const + const_reference at(size_t) const ETL_NOEXCEPT { return *data(); } @@ -705,7 +705,7 @@ namespace etl //************************************************************************* ETL_NODISCARD ETL_CONSTEXPR14 - reference operator[](size_t) + reference operator[](size_t) ETL_NOEXCEPT { return *data(); } @@ -716,7 +716,7 @@ namespace etl ///\param i The index of the element to access. //************************************************************************* ETL_NODISCARD - ETL_CONSTEXPR const_reference operator[](size_t) const + ETL_CONSTEXPR const_reference operator[](size_t) const ETL_NOEXCEPT { return *data(); } @@ -726,7 +726,7 @@ namespace etl //************************************************************************* ETL_NODISCARD ETL_CONSTEXPR14 - reference front() + reference front() ETL_NOEXCEPT { return *data(); } @@ -735,7 +735,7 @@ namespace etl /// Returns a const reference to the first element. //************************************************************************* ETL_NODISCARD - ETL_CONSTEXPR const_reference front() const + ETL_CONSTEXPR const_reference front() const ETL_NOEXCEPT { return *data(); } @@ -745,7 +745,7 @@ namespace etl //************************************************************************* ETL_NODISCARD ETL_CONSTEXPR14 - reference back() + reference back() ETL_NOEXCEPT { return *data(); } @@ -933,7 +933,7 @@ namespace etl /// Fills the array with the specified value. ///\param value The value to fill the array with. //************************************************************************* - ETL_CONSTEXPR14 void fill(parameter_t) + ETL_CONSTEXPR14 void fill(parameter_t) ETL_NOEXCEPT { } @@ -953,7 +953,7 @@ namespace etl ///\return An iterator to the first unassigned array element, or end(). //************************************************************************* template - iterator assign(TIterator, const TIterator) + iterator assign(TIterator, const TIterator) ETL_NOEXCEPT { return iterator(); } @@ -966,7 +966,7 @@ namespace etl ///\return An iterator to the first array element set to 'value', or end(). //************************************************************************* template - iterator assign(TIterator, const TIterator, parameter_t) + iterator assign(TIterator, const TIterator, parameter_t) ETL_NOEXCEPT { return iterator(); } @@ -976,7 +976,7 @@ namespace etl ///\param position The index of the position to insert at. ///\param value The value to insert. //************************************************************************* - inline iterator insert_at(size_t, parameter_t) + inline iterator insert_at(size_t, parameter_t) ETL_NOEXCEPT { return iterator(); } @@ -986,7 +986,7 @@ namespace etl ///\param position The iterator to the position to insert at. ///\param value The value to insert. //************************************************************************* - iterator insert(const_iterator, parameter_t) + iterator insert(const_iterator, parameter_t) ETL_NOEXCEPT { return iterator(); } @@ -998,7 +998,7 @@ namespace etl ///\param last The iterator to one past the final item in the range. //************************************************************************* template - inline iterator insert_at(size_t, TIterator, const TIterator) + inline iterator insert_at(size_t, TIterator, const TIterator) ETL_NOEXCEPT { return iterator(); } @@ -1010,7 +1010,7 @@ namespace etl ///\param last The iterator to one past the final item in the range. //************************************************************************* template - iterator insert(const_iterator, TIterator, const TIterator) + iterator insert(const_iterator, TIterator, const TIterator) ETL_NOEXCEPT { return iterator(); } @@ -1020,7 +1020,7 @@ namespace etl /// After erase, the last value in the array will be unmodified. ///\param position The index of the position to erase at. //************************************************************************* - inline iterator erase_at(size_t) + inline iterator erase_at(size_t) ETL_NOEXCEPT { return iterator(); } @@ -1030,7 +1030,7 @@ namespace etl /// After erase, the last value in the array will be unmodified. ///\param position The iterator to the position to erase at. //************************************************************************* - iterator erase(const_iterator) + iterator erase(const_iterator) ETL_NOEXCEPT { return iterator(); } @@ -1041,7 +1041,7 @@ namespace etl ///\param first The first item to erase. ///\param last The one past the last item to erase. //************************************************************************* - iterator erase_range(size_t, size_t) + iterator erase_range(size_t, size_t) ETL_NOEXCEPT { return iterator(); } @@ -1052,7 +1052,7 @@ namespace etl ///\param first The first item to erase. ///\param last The one past the last item to erase. //************************************************************************* - iterator erase(const_iterator, const_iterator) + iterator erase(const_iterator, const_iterator) ETL_NOEXCEPT { return iterator(); } @@ -1062,7 +1062,7 @@ namespace etl ///\param position The index of the position to erase at. ///\param value The value to use to overwrite the last element in the array. //************************************************************************* - inline iterator erase_at(size_t, parameter_t) + inline iterator erase_at(size_t, parameter_t) ETL_NOEXCEPT { return iterator(); } @@ -1072,7 +1072,7 @@ namespace etl ///\param position The iterator to the position to erase at. ///\param value The value to use to overwrite the last element in the array. //************************************************************************* - iterator erase(const_iterator, parameter_t) + iterator erase(const_iterator, parameter_t) ETL_NOEXCEPT { return iterator(); } @@ -1083,7 +1083,7 @@ namespace etl ///\param last The one past the last item to erase. ///\param value The value to use to overwrite the last elements in the array. //************************************************************************* - iterator erase_range(size_t, size_t, parameter_t) + iterator erase_range(size_t, size_t, parameter_t) ETL_NOEXCEPT { return iterator(); } @@ -1093,7 +1093,7 @@ namespace etl ///\param position The iterator to the position to erase at. ///\param value The value to use to overwrite the last elements in the array. //************************************************************************* - iterator erase(const_iterator, const_iterator, parameter_t) + iterator erase(const_iterator, const_iterator, parameter_t) ETL_NOEXCEPT { return iterator(); } diff --git a/include/etl/private/delegate_cpp11.h b/include/etl/private/delegate_cpp11.h index 5d06dc6c..288c3a54 100644 --- a/include/etl/private/delegate_cpp11.h +++ b/include/etl/private/delegate_cpp11.h @@ -434,7 +434,7 @@ namespace etl /// Run time alternative. //************************************************************************* template - ETL_CONSTEXPR14 TReturn call_or(TAlternative alternative, TCallArgs&&... args) const + ETL_CONSTEXPR14 TReturn call_or(TAlternative&& alternative, TCallArgs&&... args) const { ETL_STATIC_ASSERT((sizeof...(TCallArgs) == sizeof...(TArgs)), "Incorrect number of parameters passed to delegate"); ETL_STATIC_ASSERT((etl::type_lists_are_convertible, argument_types>::value), "Incompatible parameter types passed to delegate"); @@ -445,7 +445,7 @@ namespace etl } else { - return alternative(etl::forward(args)...); + return etl::forward(alternative)(etl::forward(args)...); } } diff --git a/include/etl/version.h b/include/etl/version.h index b79b3958..11790058 100644 --- a/include/etl/version.h +++ b/include/etl/version.h @@ -40,7 +40,7 @@ SOFTWARE. #define ETL_VERSION_MAJOR 20 #define ETL_VERSION_MINOR 44 -#define ETL_VERSION_PATCH 0 +#define ETL_VERSION_PATCH 1 #define ETL_VERSION ETL_STRING(ETL_VERSION_MAJOR) "." ETL_STRING(ETL_VERSION_MINOR) "." ETL_STRING(ETL_VERSION_PATCH) #define ETL_VERSION_W ETL_WIDE_STRING(ETL_VERSION_MAJOR) L"." ETL_WIDE_STRING(ETL_VERSION_MINOR) L"." ETL_WIDE_STRING(ETL_VERSION_PATCH) diff --git a/library.json b/library.json index 235d0f86..62519726 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "Embedded Template Library", - "version": "20.44.0", + "version": "20.44.1", "authors": { "name": "John Wellbelove", "email": "john.wellbelove@etlcpp.com" diff --git a/library.properties b/library.properties index e10db639..f6e7bcd5 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Embedded Template Library -version=20.44.0 +version=20.44.1 author= John Wellbelove maintainer=John Wellbelove license=MIT diff --git a/support/Release notes.txt b/support/Release notes.txt index 1a333a93..41731895 100644 --- a/support/Release notes.txt +++ b/support/Release notes.txt @@ -1,4 +1,15 @@ =============================================================================== +20.44.1 + +Updates: +Added perfect forwarding for alternative callback for etl::delegate::call_or() + +Pull Requests: +#1208 array noexcept expr + Fixed ETL_NOEXCEPT_EXPR for etl::array + Added ETL_NOEXCEPT for zero sized etl::array specialisation. + +=============================================================================== 20.44.0 Updates: diff --git a/version.txt b/version.txt index 631e6759..66252a79 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -20.44.0 +20.44.1