diff --git a/platform/Span.h b/platform/Span.h index a502301f2c..50dde38459 100644 --- a/platform/Span.h +++ b/platform/Span.h @@ -243,7 +243,8 @@ struct Span { * @return */ template - Span subspan() const { + Span + subspan() const { MBED_STATIC_ASSERT( Offset == 0 || (Offset > 0 && Offset < Extent), "Invalid subspan offset" @@ -253,7 +254,7 @@ struct Span { (Count >= 0 && Offset + Count <= Extent), "Invalid subspan count" ); - return Span( + return Span( _data + Offset, Count == SPAN_DYNAMIC_EXTENT ? Extent - Offset : Count ); @@ -506,13 +507,14 @@ struct Span { * @return */ template - Span subspan() const { - MBED_ASSERT(Offset == 0 || (Offset > 0 && Offset < _size)); + Span + subspan() const { + MBED_ASSERT(0 <= Offset && Offset <= _size); MBED_ASSERT( (Count == SPAN_DYNAMIC_EXTENT) || (Count >= 0 && Offset + Count <= _size) ); - return Span( + return Span( _data + Offset, Count == SPAN_DYNAMIC_EXTENT ? _size - Offset : Count );