#include <iDynTree/Span.h>
template<class ElementType, std::ptrdiff_t Extent>
Span class
Public types
- using element_type = ElementType
- using value_type = std::remove_cv_t<ElementType>
- using index_type = std::ptrdiff_t
- using pointer = element_type*
- using reference = element_type&
- using const_reference = const element_type&
-
using iterator = details::
span_iterator<Span<ElementType, Extent>, false> -
using const_iterator = details::
span_iterator<Span<ElementType, Extent>, true> - using reverse_iterator = std::reverse_iterator<iterator>
-
using const_reverse_iterator = std::reverse_iterator<const_
iterator> - using size_type = index_type
Public static variables
- static const index_type extent constexpr
Constructors, destructors, conversion operators
- ~Span() defaulted noexcept
Public functions
-
template<bool Dependent = false, class = std::enable_if_t<(Dependent || Extent <= 0)>>auto Span() -> IDYNTREE_CONSTEXPR noexcept
- auto Span(pointer ptr, index_type count) -> IDYNTREE_CONSTEXPR
- auto Span(pointer firstElem, pointer lastElem) -> IDYNTREE_CONSTEXPR
-
template<std::size_t N>auto Span(element_type(&arr)[N]) -> IDYNTREE_CONSTEXPR noexcept
-
template<std::size_t N, class ArrayElementType = std::remove_const_t<element_type>>auto Span(std::array<ArrayElementType, N>& arr) -> IDYNTREE_CONSTEXPR noexcept
-
template<std::size_t N>auto Span(const std::array<std::remove_const_t<element_type>, N>& arr) -> IDYNTREE_CONSTEXPR noexcept
-
template<class Container, class = std::enable_if_t<SpanUtils::auto Span(Container& cont) -> IDYNTREE_CONSTEXPR
has_data_method<Container>::value&& SpanUtils:: has_size_method<Container>::value>> -
template<class Container, class = std::enable_if_t<SpanUtils::auto Span(const Container& cont) -> IDYNTREE_CONSTEXPR
has_data_method<Container>::value&& SpanUtils:: has_size_method<Container>::value>> - auto Span(const Span& other) -> IDYNTREE_CONSTEXPR defaulted noexcept
-
template<class OtherElementType, std::ptrdiff_t OtherExtent, class = std::enable_if_t< details::auto Span(const Span<OtherElementType, OtherExtent>& other) -> IDYNTREE_CONSTEXPR
is_allowed_extent_conversion<OtherExtent, Extent>::value&& details:: is_allowed_element_type_conversion<OtherElementType, element_type>::value>> - auto operator=(const Span& other) -> IDYNTREE_CONSTEXPR Span& defaulted noexcept
-
template<std::ptrdiff_t Count>auto first() const -> IDYNTREE_CONSTEXPR Span<element_type, Count>
-
template<std::ptrdiff_t Count>auto last() const -> IDYNTREE_CONSTEXPR Span<element_type, Count>
-
template<std::ptrdiff_t Offset, std::ptrdiff_t Count = dynamic_extent>auto subspan() const -> typename details::calculate_subspan_type< ElementType, Extent, Offset, Count >::type -> IDYNTREE_CONSTEXPR auto
- auto first(index_type count) const -> IDYNTREE_CONSTEXPR Span<element_type, dynamic_extent>
- auto last(index_type count) const -> IDYNTREE_CONSTEXPR Span<element_type, dynamic_extent>
- auto subspan(index_type offset, index_type count = dynamic_extent) const -> IDYNTREE_CONSTEXPR Span<element_type, dynamic_extent>
- auto size() const -> IDYNTREE_CONSTEXPR index_type noexcept
- auto size_bytes() const -> IDYNTREE_CONSTEXPR index_type noexcept
- auto empty() const -> IDYNTREE_CONSTEXPR bool noexcept
- auto operator[](index_type idx) const -> IDYNTREE_CONSTEXPR reference
- auto getVal(index_type idx) const -> IDYNTREE_CONSTEXPR const_reference
- auto setVal(index_type idx, const_reference val) -> IDYNTREE_CONSTEXPR bool
- auto at(index_type idx) const -> IDYNTREE_CONSTEXPR reference
- auto operator()(index_type idx) const -> IDYNTREE_CONSTEXPR reference
- auto data() const -> IDYNTREE_CONSTEXPR pointer noexcept
- auto begin() const -> IDYNTREE_CONSTEXPR iterator noexcept
- auto end() const -> IDYNTREE_CONSTEXPR iterator noexcept
-
auto cbegin() const -> IDYNTREE_CONSTEXPR const_
iterator noexcept -
auto cend() const -> IDYNTREE_CONSTEXPR const_
iterator noexcept - auto rbegin() const -> IDYNTREE_CONSTEXPR reverse_iterator noexcept
- auto rend() const -> IDYNTREE_CONSTEXPR reverse_iterator noexcept
- auto crbegin() const -> IDYNTREE_CONSTEXPR const_reverse_iterator noexcept
- auto crend() const -> IDYNTREE_CONSTEXPR const_reverse_iterator noexcept