template<class ElementType, std::ptrdiff_t Extent>
iDynTree::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::has_data_method<Container>::value&& SpanUtils::has_size_method<Container>::value>>
auto Span(Container& cont) -> IDYNTREE_CONSTEXPR
template<class Container, class = std::enable_if_t<SpanUtils::has_data_method<Container>::value&& SpanUtils::has_size_method<Container>::value>>
auto Span(const Container& cont) -> IDYNTREE_CONSTEXPR
auto Span(const Span& other) -> IDYNTREE_CONSTEXPR defaulted noexcept
template<class OtherElementType, std::ptrdiff_t OtherExtent, class = std::enable_if_t< details::is_allowed_extent_conversion<OtherExtent, Extent>::value&& details::is_allowed_element_type_conversion<OtherElementType, element_type>::value>>
auto Span(const Span<OtherElementType, OtherExtent>& other) -> IDYNTREE_CONSTEXPR
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