Addition of extra ETL_NODISCARD and ETL_NOEXCEPT to etl::span & etl::poly_span.

Fixed warnings for initialisation order for some etl::poly_span constructors.
This commit is contained in:
John Wellbelove 2022-07-17 12:18:04 +01:00
parent 4903e0cac8
commit 93a0a0fe73
12 changed files with 66 additions and 92 deletions

View File

@ -1,6 +1,6 @@
{
"name": "Embedded Template Library - Arduino",
"version": "20.31.0",
"version": "20.31.1",
"authors": {
"name": "John Wellbelove",
"email": "john.wellbelove@etlcpp.com"

View File

@ -1,5 +1,5 @@
name=Embedded Template Library - Arduino
version=20.31.0
version=20.31.1
author= John Wellbelove <john.wellbelove@etlcpp.com>
maintainer=John Wellbelove <john.wellbelove@etlcpp.com>
license=MIT

View File

@ -511,7 +511,7 @@ namespace etl
/// Obtains a poly_span that is a view over the first COUNT elements of this poly_span.
//*************************************************************************
template <size_t COUNT>
ETL_CONSTEXPR etl::poly_span<element_type, COUNT> first() const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, COUNT> first() const ETL_NOEXCEPT
{
return etl::poly_span<element_type, COUNT>(pbegin, 0U, COUNT, element_size);
}
@ -519,7 +519,7 @@ namespace etl
//*************************************************************************
/// Obtains a poly_span that is a view over the first count elements of this poly_span.
//*************************************************************************
ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> first(size_t count) const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> first(size_t count) const
{
return etl::poly_span<element_type, etl::dynamic_extent>(pbegin, 0U, count, element_size);
}
@ -528,7 +528,7 @@ namespace etl
/// Obtains a poly_span that is a view over the last COUNT elements of this poly_span.
//*************************************************************************
template <size_t COUNT>
ETL_CONSTEXPR etl::poly_span<element_type, COUNT> last() const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, COUNT> last() const ETL_NOEXCEPT
{
return etl::poly_span<element_type, COUNT>(pbegin, Extent - COUNT, COUNT, element_size);
}
@ -536,7 +536,7 @@ namespace etl
//*************************************************************************
/// Obtains a poly_span that is a view over the last count elements of this poly_span.
//*************************************************************************
ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> last(size_t count) const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> last(size_t count) const ETL_NOEXCEPT
{
return etl::poly_span<element_type, etl::dynamic_extent>(pbegin, Extent - count, count, element_size);
}
@ -546,7 +546,7 @@ namespace etl
/// Obtains a poly_span that is a view from OFFSET over the next COUNT elements of this poly_span.
//*************************************************************************
template <const size_t OFFSET, size_t COUNT = etl::dynamic_extent>
ETL_CONSTEXPR etl::poly_span<element_type, COUNT != etl::dynamic_extent ? COUNT : Extent - OFFSET> subspan() const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, COUNT != etl::dynamic_extent ? COUNT : Extent - OFFSET> subspan() const ETL_NOEXCEPT
{
return (COUNT == etl::dynamic_extent) ? etl::poly_span<element_type, COUNT != etl::dynamic_extent ? COUNT : Extent - OFFSET>(pbegin, OFFSET, Extent, element_size)
: etl::poly_span<element_type, COUNT != etl::dynamic_extent ? COUNT : Extent - OFFSET>(pbegin, OFFSET, COUNT, element_size);
@ -572,7 +572,7 @@ namespace etl
//*************************************************************************
/// Obtains a poly_span that is a view from 'offset' over the next 'count' elements of this poly_span.
//*************************************************************************
ETL_CONSTEXPR14 etl::poly_span<element_type, etl::dynamic_extent> subspan(size_t offset, size_t count = etl::dynamic_extent) const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> subspan(size_t offset, size_t count = etl::dynamic_extent) const ETL_NOEXCEPT
{
return (count == etl::dynamic_extent) ? etl::poly_span<element_type, etl::dynamic_extent>(pbegin, offset, Extent, element_size)
: etl::poly_span<element_type, etl::dynamic_extent>(pbegin, offset, count, element_size);
@ -640,8 +640,8 @@ namespace etl
//*************************************************************************
ETL_CONSTEXPR poly_span() ETL_NOEXCEPT
: pbegin(ETL_NULLPTR)
, span_extent(0U)
, element_size(0U)
, span_extent(0U)
{
}
@ -744,8 +744,8 @@ namespace etl
//*************************************************************************
ETL_CONSTEXPR poly_span(const poly_span<TBase, etl::dynamic_extent>& other) ETL_NOEXCEPT
: pbegin(other.pbegin)
, span_extent(other.span_extent)
, element_size(other.element_size)
, span_extent(other.span_extent)
{
}
@ -755,8 +755,8 @@ namespace etl
template <typename UBase>
ETL_CONSTEXPR poly_span(const poly_span<UBase, etl::dynamic_extent>& other) ETL_NOEXCEPT
: pbegin(other.pbegin)
, span_extent(other.span_extent)
, element_size(other.element_size)
, span_extent(other.span_extent)
{
}
@ -854,8 +854,8 @@ namespace etl
ETL_CONSTEXPR14 poly_span& operator =(const poly_span& other) ETL_NOEXCEPT
{
pbegin = other.pbegin;
span_extent = other.span_extent;
element_size = other.element_size;
span_extent = other.span_extent;
return *this;
}
@ -866,8 +866,8 @@ namespace etl
ETL_CONSTEXPR14 poly_span& operator =(const poly_span<UBase, etl::dynamic_extent>& other) ETL_NOEXCEPT
{
pbegin = other.pbegin;
span_extent = other.span_extent;
element_size = other.element_size;
span_extent = other.span_extent;
return *this;
}
@ -883,7 +883,7 @@ namespace etl
/// Obtains a poly_span that is a view over the first COUNT elements of this poly_span.
//*************************************************************************
template <size_t COUNT>
ETL_CONSTEXPR etl::poly_span<element_type, COUNT> first() const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, COUNT> first() const ETL_NOEXCEPT
{
return etl::poly_span<element_type, COUNT>(pbegin, 0U, COUNT, element_size);
}
@ -891,7 +891,7 @@ namespace etl
//*************************************************************************
/// Obtains a poly_span that is a view over the first count elements of this poly_span.
//*************************************************************************
ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> first(size_t count) const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> first(size_t count) const ETL_NOEXCEPT
{
return etl::poly_span<element_type, etl::dynamic_extent>(pbegin, 0U, count, element_size);
}
@ -900,7 +900,7 @@ namespace etl
/// Obtains a poly_span that is a view over the last COUNT elements of this poly_span.
//*************************************************************************
template <size_t COUNT>
ETL_CONSTEXPR etl::poly_span<element_type, COUNT> last() const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, COUNT> last() const ETL_NOEXCEPT
{
return etl::poly_span<element_type, COUNT>(pbegin, span_extent - COUNT, COUNT, element_size);
}
@ -908,7 +908,7 @@ namespace etl
//*************************************************************************
/// Obtains a poly_span that is a view over the last count elements of this poly_span.
//*************************************************************************
ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> last(size_t count) const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> last(size_t count) const ETL_NOEXCEPT
{
return etl::poly_span<element_type, etl::dynamic_extent>(pbegin, span_extent - count, count, element_size);
}
@ -918,7 +918,7 @@ namespace etl
/// Obtains a poly_span that is a view from OFFSET over the next COUNT elements of this poly_span.
//*************************************************************************
template <const size_t OFFSET, size_t COUNT = etl::dynamic_extent>
ETL_CONSTEXPR etl::poly_span<element_type, COUNT != etl::dynamic_extent ? COUNT : etl::dynamic_extent> subspan() const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, COUNT != etl::dynamic_extent ? COUNT : etl::dynamic_extent> subspan() const ETL_NOEXCEPT
{
return (COUNT == etl::dynamic_extent) ? etl::poly_span<element_type, COUNT != etl::dynamic_extent ? COUNT : etl::dynamic_extent>(pbegin, OFFSET, span_extent, element_size)
: etl::poly_span<element_type, COUNT != etl::dynamic_extent ? COUNT : etl::dynamic_extent>(pbegin, OFFSET, COUNT, element_size);
@ -944,7 +944,7 @@ namespace etl
//*************************************************************************
/// Obtains a poly_span that is a view from 'offset' over the next 'count' elements of this poly_span.
//*************************************************************************
ETL_CONSTEXPR14 etl::poly_span<element_type, etl::dynamic_extent> subspan(size_t offset, size_t count = etl::dynamic_extent) const
ETL_NODISCARD ETL_CONSTEXPR etl::poly_span<element_type, etl::dynamic_extent> subspan(size_t offset, size_t count = etl::dynamic_extent) const ETL_NOEXCEPT
{
return (count == etl::dynamic_extent) ? etl::poly_span<element_type, etl::dynamic_extent>(pbegin, offset, span_extent - offset, element_size)
: etl::poly_span<element_type, etl::dynamic_extent>(pbegin, offset, count, element_size);
@ -957,8 +957,8 @@ protected:
//*************************************************************************
ETL_CONSTEXPR poly_span(TBase* pbegin_, size_t offset_, size_t extent_, size_t element_size_) ETL_NOEXCEPT
: pbegin(reinterpret_cast<pointer>(reinterpret_cast<char_ptr_t>(pbegin_) + (offset_ * element_size_)))
, span_extent(extent_)
, element_size(element_size_)
, span_extent(extent_)
{
}
@ -981,8 +981,8 @@ protected:
}
pointer pbegin;
size_t span_extent;
size_t element_size;
size_t span_extent;
};
//*************************************************************************

View File

@ -216,7 +216,7 @@ namespace etl
//*************************************************************************
/// Returns a reference to the first element.
//*************************************************************************
ETL_CONSTEXPR reference front() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR reference front() const ETL_NOEXCEPT
{
return *pbegin;
}
@ -224,7 +224,7 @@ namespace etl
//*************************************************************************
/// Returns a reference to the last element.
//*************************************************************************
ETL_CONSTEXPR reference back() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR reference back() const ETL_NOEXCEPT
{
return *((pbegin + Extent) - 1);
}
@ -232,7 +232,7 @@ namespace etl
//*************************************************************************
/// Returns a pointer to the first element of the internal storage.
//*************************************************************************
ETL_CONSTEXPR pointer data() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR pointer data() const ETL_NOEXCEPT
{
return pbegin;
}
@ -240,7 +240,7 @@ namespace etl
//*************************************************************************
/// Returns an iterator to the beginning of the span.
//*************************************************************************
ETL_CONSTEXPR iterator begin() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR iterator begin() const ETL_NOEXCEPT
{
return pbegin;
}
@ -248,7 +248,7 @@ namespace etl
//*************************************************************************
/// Returns an iterator to the end of the span.
//*************************************************************************
ETL_CONSTEXPR iterator end() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR iterator end() const ETL_NOEXCEPT
{
return (pbegin + Extent);
}
@ -256,7 +256,7 @@ namespace etl
//*************************************************************************
// Returns an reverse iterator to the reverse beginning of the span.
//*************************************************************************
ETL_CONSTEXPR reverse_iterator rbegin() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR reverse_iterator rbegin() const ETL_NOEXCEPT
{
return reverse_iterator((pbegin + Extent));
}
@ -264,7 +264,7 @@ namespace etl
//*************************************************************************
/// Returns a reverse iterator to the end of the span.
//*************************************************************************
ETL_CONSTEXPR reverse_iterator rend() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR reverse_iterator rend() const ETL_NOEXCEPT
{
return reverse_iterator(pbegin);
}
@ -272,7 +272,7 @@ namespace etl
//*************************************************************************
/// Returns <b>true</b> if the span size is zero.
//*************************************************************************
ETL_CONSTEXPR bool empty() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR bool empty() const ETL_NOEXCEPT
{
return false;
}
@ -280,7 +280,7 @@ namespace etl
//*************************************************************************
/// Returns the size of the span.
//*************************************************************************
ETL_CONSTEXPR size_t size() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR size_t size() const ETL_NOEXCEPT
{
return Extent;
}
@ -288,7 +288,7 @@ namespace etl
//*************************************************************************
/// Returns the size of the span in bytes.
//*************************************************************************
ETL_CONSTEXPR size_t size_bytes() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR size_t size_bytes() const ETL_NOEXCEPT
{
return sizeof(element_type) * Extent;
}
@ -296,7 +296,7 @@ namespace etl
//*************************************************************************
/// Returns the maximum possible size of the span.
//*************************************************************************
ETL_CONSTEXPR size_t max_size() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR size_t max_size() const ETL_NOEXCEPT
{
return size();
}
@ -322,7 +322,7 @@ namespace etl
/// Obtains a span that is a view over the first COUNT elements of this span.
//*************************************************************************
template <size_t COUNT>
ETL_CONSTEXPR etl::span<element_type, COUNT> first() const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, COUNT> first() const ETL_NOEXCEPT
{
return etl::span<element_type, COUNT>(pbegin, pbegin + COUNT);
}
@ -330,7 +330,7 @@ namespace etl
//*************************************************************************
/// Obtains a span that is a view over the first count elements of this span.
//*************************************************************************
ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> first(size_t count) const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> first(size_t count) const ETL_NOEXCEPT
{
return etl::span<element_type, etl::dynamic_extent>(pbegin, pbegin + count);
}
@ -339,7 +339,7 @@ namespace etl
/// Obtains a span that is a view over the last COUNT elements of this span.
//*************************************************************************
template <size_t COUNT>
ETL_CONSTEXPR etl::span<element_type, COUNT> last() const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, COUNT> last() const ETL_NOEXCEPT
{
return etl::span<element_type, COUNT>(pbegin + Extent - COUNT, (pbegin + Extent));
}
@ -347,7 +347,7 @@ namespace etl
//*************************************************************************
/// Obtains a span that is a view over the last count elements of this span.
//*************************************************************************
ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> last(size_t count) const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> last(size_t count) const ETL_NOEXCEPT
{
return etl::span<element_type, etl::dynamic_extent>((pbegin + Extent) - count, (pbegin + Extent));
}
@ -357,8 +357,8 @@ namespace etl
/// Obtains a span that is a view from OFFSET over the next COUNT elements of this span.
//*************************************************************************
template <const size_t OFFSET, size_t COUNT = etl::dynamic_extent>
ETL_CONSTEXPR
etl::span<element_type, COUNT != etl::dynamic_extent ? COUNT : Extent - OFFSET> subspan() const
ETL_NODISCARD ETL_CONSTEXPR
etl::span<element_type, COUNT != etl::dynamic_extent ? COUNT : Extent - OFFSET> subspan() const ETL_NOEXCEPT
{
return (COUNT == etl::dynamic_extent) ? etl::span<element_type, COUNT != etl::dynamic_extent ? COUNT : Extent - OFFSET>(pbegin + OFFSET, (pbegin + Extent))
: etl::span<element_type, COUNT != etl::dynamic_extent ? COUNT : Extent - OFFSET>(pbegin + OFFSET, pbegin + OFFSET + COUNT);
@ -384,7 +384,7 @@ namespace etl
//*************************************************************************
/// Obtains a span that is a view from 'offset' over the next 'count' elements of this span.
//*************************************************************************
ETL_CONSTEXPR14 etl::span<element_type, etl::dynamic_extent> subspan(size_t offset, size_t count = etl::dynamic_extent) const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> subspan(size_t offset, size_t count = etl::dynamic_extent) const ETL_NOEXCEPT
{
return (count == etl::dynamic_extent) ? etl::span<element_type, etl::dynamic_extent>(pbegin + offset, (pbegin + Extent))
: etl::span<element_type, etl::dynamic_extent>(pbegin + offset, pbegin + offset + count);
@ -573,7 +573,7 @@ namespace etl
//*************************************************************************
/// Returns a reference to the first element.
//*************************************************************************
ETL_CONSTEXPR reference front() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR reference front() const ETL_NOEXCEPT
{
return *pbegin;
}
@ -581,7 +581,7 @@ namespace etl
//*************************************************************************
/// Returns a reference to the last element.
//*************************************************************************
ETL_CONSTEXPR reference back() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR reference back() const ETL_NOEXCEPT
{
return *(pend - 1);
}
@ -589,7 +589,7 @@ namespace etl
//*************************************************************************
/// Returns a pointer to the first element of the internal storage.
//*************************************************************************
ETL_CONSTEXPR pointer data() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR pointer data() const ETL_NOEXCEPT
{
return pbegin;
}
@ -597,7 +597,7 @@ namespace etl
//*************************************************************************
/// Returns an iterator to the beginning of the span.
//*************************************************************************
ETL_CONSTEXPR iterator begin() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR iterator begin() const ETL_NOEXCEPT
{
return pbegin;
}
@ -605,7 +605,7 @@ namespace etl
//*************************************************************************
/// Returns an iterator to the end of the span.
//*************************************************************************
ETL_CONSTEXPR iterator end() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR iterator end() const ETL_NOEXCEPT
{
return pend;
}
@ -613,7 +613,7 @@ namespace etl
//*************************************************************************
// Returns an reverse iterator to the reverse beginning of the span.
//*************************************************************************
ETL_CONSTEXPR reverse_iterator rbegin() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR reverse_iterator rbegin() const ETL_NOEXCEPT
{
return reverse_iterator(pend);
}
@ -621,7 +621,7 @@ namespace etl
//*************************************************************************
/// Returns a reverse iterator to the end of the span.
//*************************************************************************
ETL_CONSTEXPR reverse_iterator rend() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR reverse_iterator rend() const ETL_NOEXCEPT
{
return reverse_iterator(pbegin);
}
@ -629,7 +629,7 @@ namespace etl
//*************************************************************************
/// Returns <b>true</b> if the span size is zero.
//*************************************************************************
ETL_CONSTEXPR bool empty() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR bool empty() const ETL_NOEXCEPT
{
return (pbegin == pend);
}
@ -637,7 +637,7 @@ namespace etl
//*************************************************************************
/// Returns the size of the span.
//*************************************************************************
ETL_CONSTEXPR size_t size() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR size_t size() const ETL_NOEXCEPT
{
return (pend - pbegin);
}
@ -645,7 +645,7 @@ namespace etl
//*************************************************************************
/// Returns the size of the span in bytes.
//*************************************************************************
ETL_CONSTEXPR size_t size_bytes() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR size_t size_bytes() const ETL_NOEXCEPT
{
return sizeof(element_type) * (pend - pbegin);
}
@ -653,7 +653,7 @@ namespace etl
//*************************************************************************
/// Returns the maximum possible size of the span.
//*************************************************************************
ETL_CONSTEXPR size_t max_size() const ETL_NOEXCEPT
ETL_NODISCARD ETL_CONSTEXPR size_t max_size() const ETL_NOEXCEPT
{
return size();
}
@ -680,7 +680,7 @@ namespace etl
/// Obtains a span that is a view over the first COUNT elements of this span.
//*************************************************************************
template <size_t COUNT>
ETL_CONSTEXPR etl::span<element_type, COUNT> first() const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, COUNT> first() const ETL_NOEXCEPT
{
return etl::span<element_type, COUNT>(pbegin, pbegin + COUNT);
}
@ -688,7 +688,7 @@ namespace etl
//*************************************************************************
/// Obtains a span that is a view over the first count elements of this span.
//*************************************************************************
ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> first(size_t count) const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> first(size_t count) const ETL_NOEXCEPT
{
return etl::span<element_type, etl::dynamic_extent>(pbegin, pbegin + count);
}
@ -697,7 +697,7 @@ namespace etl
/// Obtains a span that is a view over the last COUNT elements of this span.
//*************************************************************************
template <size_t COUNT>
ETL_CONSTEXPR etl::span<element_type, COUNT> last() const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, COUNT> last() const ETL_NOEXCEPT
{
return etl::span<element_type, COUNT>(pend - COUNT, pend);
}
@ -705,7 +705,7 @@ namespace etl
//*************************************************************************
/// Obtains a span that is a view over the last count elements of this span.
//*************************************************************************
ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> last(size_t count) const
ETL_NODISCARD ETL_CONSTEXPR etl::span<element_type, etl::dynamic_extent> last(size_t count) const ETL_NOEXCEPT
{
return etl::span<element_type, etl::dynamic_extent>(pend - count, pend);
}
@ -715,8 +715,8 @@ namespace etl
/// Obtains a span that is a view from OFFSET over the next COUNT elements of this span.
//*************************************************************************
template <const size_t OFFSET, size_t COUNT = etl::dynamic_extent>
ETL_CONSTEXPR
etl::span<element_type, COUNT != etl::dynamic_extent ? COUNT : etl::dynamic_extent> subspan() const
ETL_NODISCARD ETL_CONSTEXPR
etl::span<element_type, COUNT != etl::dynamic_extent ? COUNT : etl::dynamic_extent> subspan() const ETL_NOEXCEPT
{
return (COUNT == etl::dynamic_extent) ? etl::span<element_type, COUNT != etl::dynamic_extent ? COUNT : etl::dynamic_extent>(pbegin + OFFSET, pend)
: etl::span<element_type, COUNT != etl::dynamic_extent ? COUNT : etl::dynamic_extent>(pbegin + OFFSET, pbegin + OFFSET + COUNT);
@ -742,7 +742,7 @@ namespace etl
//*************************************************************************
/// Obtains a span that is a view from 'offset' over the next 'count' elements of this span.
//*************************************************************************
ETL_CONSTEXPR14 etl::span<element_type, etl::dynamic_extent> subspan(size_t offset, size_t count = etl::dynamic_extent) const
ETL_NODISCARD ETL_CONSTEXPR14 etl::span<element_type, etl::dynamic_extent> subspan(size_t offset, size_t count = etl::dynamic_extent) const ETL_NOEXCEPT
{
return (count == etl::dynamic_extent) ? etl::span<element_type, etl::dynamic_extent>(pbegin + offset, pend)
: etl::span<element_type, etl::dynamic_extent>(pbegin + offset, pbegin + offset + count);

View File

@ -40,7 +40,7 @@ SOFTWARE.
#define ETL_VERSION_MAJOR 20
#define ETL_VERSION_MINOR 31
#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)

View File

@ -1,6 +1,6 @@
{
"name": "Embedded Template Library",
"version": "20.31.0",
"version": "20.31.1",
"authors": {
"name": "John Wellbelove",
"email": "john.wellbelove@etlcpp.com"

View File

@ -1,5 +1,5 @@
name=Embedded Template Library
version=20.31.0
version=20.31.1
author= John Wellbelove <john.wellbelove@etlcpp.com>
maintainer=John Wellbelove <john.wellbelove@etlcpp.com>
license=MIT

View File

@ -1,9 +0,0 @@
[wrap-file]
directory = unittest-cpp-2.0.0
source_url = https://github.com/unittest-cpp/unittest-cpp/archive/v2.0.0.zip
source_filename = unittest-cpp-2.0.0.zip
source_hash = 3ba4f8b6c6e75ca8c79dd6008c78e95fb08554fbf2e0f1195fb78a4bf5a8a805
patch_url = https://wrapdb.mesonbuild.com/v2/unittest-cpp_2.0.0-1/get_patch
patch_filename = unittest-cpp-2.0.0-1-wrap.zip
patch_hash = a887de2b619c13fc4fd8bff844ca7015a2046dc613ae0765dd4452ff70db12ca

View File

@ -1,3 +1,8 @@
===============================================================================
20.31.1
Addition of extra ETL_NODISCARD and ETL_NOEXCEPT to etl::span & etl::poly_span.
Fixed warnings for initialisation order for some etl::poly_span constructors.
===============================================================================
20.31.0
Added etl::poly_span

1
temp/.gitignore vendored
View File

@ -1 +0,0 @@
/Containers - Supporting rvalue references.txt

View File

@ -1,21 +0,0 @@
From 18713df17b39ef01707a5891f1d26b39b74ca8a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Chodzikiewicz?= <mchodzikiewicz@gmail.com>
Date: Mon, 30 Nov 2020 17:06:02 +0100
Subject: [PATCH] Add assertion for fsm's state array order
---
include/etl/fsm.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/etl/fsm.h b/include/etl/fsm.h
index 84bb34c..55a41f7 100644
--- a/include/etl/fsm.h
+++ b/include/etl/fsm.h
@@ -230,6 +230,7 @@ namespace etl
for (etl::fsm_state_id_t i = 0; i < size; ++i)
{
ETL_ASSERT((state_list[i] != nullptr), ETL_ERROR(etl::fsm_null_state_exception));
+ ETL_ASSERT((state_list[i]->state_id == i),"State list is in incorrect order");
state_list[i]->set_fsm_context(*this);
}
}
--
2.29.2

View File

@ -1 +1 @@
20.31.0
20.31.1