mirror of https://github.com/ARMmbed/mbed-os.git
Add begin, end, rbegin and rend iterator functions to Span
parent
13efd1af38
commit
dfa8ea714d
100
platform/Span.h
100
platform/Span.h
|
@ -233,6 +233,16 @@ struct Span {
|
||||||
*/
|
*/
|
||||||
typedef element_type &reference;
|
typedef element_type &reference;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterator to an ElementType
|
||||||
|
*/
|
||||||
|
typedef pointer iterator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse iterator to an ElementType
|
||||||
|
*/
|
||||||
|
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of the Extent; -1 if dynamic.
|
* Size of the Extent; -1 if dynamic.
|
||||||
*/
|
*/
|
||||||
|
@ -349,6 +359,46 @@ struct Span {
|
||||||
return size() == 0;
|
return size() == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an iterator to the first element of the sequence.
|
||||||
|
*
|
||||||
|
* @return An iterator to the first element of the sequence.
|
||||||
|
*/
|
||||||
|
iterator begin() const
|
||||||
|
{
|
||||||
|
return _data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an iterator to the element following the last element of the sequence.
|
||||||
|
*
|
||||||
|
* @return An iterator to the element following the last element of the sequence.
|
||||||
|
*/
|
||||||
|
iterator end() const
|
||||||
|
{
|
||||||
|
return _data + Extent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a reverse_iterator to the first element of the reversed sequence.
|
||||||
|
*
|
||||||
|
* @return A reverse_iterator to the first element of the reversed sequence.
|
||||||
|
*/
|
||||||
|
reverse_iterator rbegin() const
|
||||||
|
{
|
||||||
|
return reverse_iterator(end());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a reverse_iterator to the element following the last element of the reversed sequence.
|
||||||
|
*
|
||||||
|
* @return A reverse_iterator to the element following the last element of the reversed sequence.
|
||||||
|
*/
|
||||||
|
reverse_iterator rend() const
|
||||||
|
{
|
||||||
|
return reverse_iterator(begin());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a reference to the element at position @p index.
|
* Returns a reference to the element at position @p index.
|
||||||
*
|
*
|
||||||
|
@ -534,6 +584,16 @@ struct Span<ElementType, SPAN_DYNAMIC_EXTENT> {
|
||||||
*/
|
*/
|
||||||
typedef element_type &reference;
|
typedef element_type &reference;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterator to an ElementType
|
||||||
|
*/
|
||||||
|
typedef pointer iterator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse iterator to an ElementType
|
||||||
|
*/
|
||||||
|
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of the Extent; -1 if dynamic.
|
* Size of the Extent; -1 if dynamic.
|
||||||
*/
|
*/
|
||||||
|
@ -644,6 +704,46 @@ struct Span<ElementType, SPAN_DYNAMIC_EXTENT> {
|
||||||
return size() == 0;
|
return size() == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an iterator to the first element of the sequence.
|
||||||
|
*
|
||||||
|
* @return An iterator to the first element of the sequence.
|
||||||
|
*/
|
||||||
|
iterator begin() const
|
||||||
|
{
|
||||||
|
return _data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an iterator to the element following the last element of the sequence.
|
||||||
|
*
|
||||||
|
* @return An iterator to the element following the last element of the sequence.
|
||||||
|
*/
|
||||||
|
iterator end() const
|
||||||
|
{
|
||||||
|
return _data + _size;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a reverse_iterator to the first element of the reversed sequence.
|
||||||
|
*
|
||||||
|
* @return A reverse_iterator to the first element of the reversed sequence.
|
||||||
|
*/
|
||||||
|
reverse_iterator rbegin() const
|
||||||
|
{
|
||||||
|
return reverse_iterator(end());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a reverse_iterator to the element following the last element of the reversed sequence.
|
||||||
|
*
|
||||||
|
* @return A reverse_iterator to the element following the last element of the reversed sequence.
|
||||||
|
*/
|
||||||
|
reverse_iterator rend() const
|
||||||
|
{
|
||||||
|
return reverse_iterator(begin());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Access to an element of the sequence.
|
* Access to an element of the sequence.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue