file
Span.h
Namespaces
- namespace iDynTree
- namespace iDynTree::SpanUtils
- namespace iDynTree::details
Classes
-
template<typename... Ts>struct iDynTree::SpanUtils::make_void
-
template<typename T, typename = void>struct iDynTree::SpanUtils::is_value_defined
-
template<typename T>struct iDynTree::SpanUtils::is_value_defined<T, void_t<typename T::value_type>>
-
template<typename T, typename = void>struct iDynTree::SpanUtils::is_element_defined
-
template<typename T>struct iDynTree::SpanUtils::is_element_defined<T, void_t<typename T::element_type>>
-
template<typename T, typename = void>struct iDynTree::SpanUtils::has_data_method
-
template<typename T>struct iDynTree::SpanUtils::has_data_method<T, void_t<decltype(std::declval<T>().data())>>
-
template<typename T, typename = void>struct iDynTree::SpanUtils::has_size_method
-
template<typename T>struct iDynTree::SpanUtils::has_size_method<T, void_t<decltype(std::declval<T>().size())>>
-
template<class T>struct iDynTree::details::is_span_oracle
-
template<class ElementType, std::ptrdiff_t Extent>struct iDynTree::details::is_span_oracle<iDynTree::Span<ElementType, Extent>>
-
template<class T>struct iDynTree::details::is_span
-
template<class T>struct iDynTree::details::is_std_array_oracle
-
template<class ElementType, std::size_t Extent>struct iDynTree::details::is_std_array_oracle<std::array<ElementType, Extent>>
-
template<class T>struct iDynTree::details::is_std_array
-
template<std::ptrdiff_t From, std::ptrdiff_t To>struct iDynTree::details::is_allowed_extent_conversion
-
template<class From, class To>struct iDynTree::details::is_allowed_element_type_conversion
-
template<class Span, bool IsConst>class iDynTree::details::span_iterator
-
template<std::ptrdiff_t Ext>class iDynTree::details::extent_type
-
template<>class iDynTree::details::extent_type<dynamic_extent>
-
template<class ElementType, std::ptrdiff_t Extent, std::ptrdiff_t Offset, std::ptrdiff_t Count>struct iDynTree::details::calculate_subspan_type
-
template<class ElementType, std::ptrdiff_t Extent>class iDynTree::Span
-
template<class ElementType, std::ptrdiff_t Extent>struct iDynTree::details::calculate_byte_size
-
template<class ElementType>struct iDynTree::details::calculate_byte_size<ElementType, dynamic_extent>
Typedefs
-
template<typename... Ts>using void_t = typename make_void<Ts...>::type
Functions
-
template<class Span, bool IsConst>auto operator+(typename span_iterator<Span, IsConst>::difference_type n, span_iterator<Span, IsConst> rhs) -> IDYNTREE_CONSTEXPR span_iterator<Span, IsConst>
-
template<class Span, bool IsConst>auto operator-(typename span_iterator<Span, IsConst>::difference_type n, span_iterator<Span, IsConst> rhs) -> IDYNTREE_CONSTEXPR span_iterator<Span, IsConst>
-
template<class ElementType, std::ptrdiff_t FirstExtent, std::ptrdiff_t SecondExtent>auto operator==(Span<ElementType, FirstExtent> l, Span<ElementType, SecondExtent> r) -> IDYNTREE_CONSTEXPR bool
-
template<class ElementType, std::ptrdiff_t Extent>auto operator!=(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
-
template<class ElementType, std::ptrdiff_t Extent>auto operator<(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
-
template<class ElementType, std::ptrdiff_t Extent>auto operator<=(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
-
template<class ElementType, std::ptrdiff_t Extent>auto operator>(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
-
template<class ElementType, std::ptrdiff_t Extent>auto operator>=(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
-
template<class ElementType>auto make_span(ElementType* ptr, typename Span<ElementType>::index_type count) -> IDYNTREE_CONSTEXPR Span<ElementType>
-
template<class ElementType>auto make_span(ElementType* firstElem, ElementType* lastElem) -> IDYNTREE_CONSTEXPR Span<ElementType>
-
template<class ElementType, std::size_t N>auto make_span(ElementType(&arr)[N]) -> IDYNTREE_CONSTEXPR Span<ElementType, N> noexcept
-
template<class Container>auto make_span(Container& cont) -> IDYNTREE_CONSTEXPR Span<typename Container::value_type>
-
template<class Container, typename = typename std::enable_if<SpanUtils::is_value_defined<Container>::value>::type>auto make_span(const Container& cont) -> IDYNTREE_CONSTEXPR Span<const typename Container::value_type>
-
template<class Ptr>auto make_span(Ptr& cont, std::ptrdiff_t count) -> IDYNTREE_CONSTEXPR Span<typename Ptr::element_type>
-
template<class Ptr, typename = typename std::enable_if<!SpanUtils::is_value_defined<Ptr>::value&& SpanUtils::is_element_defined<Ptr>::value>::type>auto make_span(Ptr& cont) -> IDYNTREE_CONSTEXPR Span<typename Ptr::element_type>
-
template<class Container, typename = typename std::enable_if<!SpanUtils::is_value_defined<Container>::value&& !SpanUtils::is_element_defined<Container>::value&& SpanUtils::has_data_method<Container>::value>::type>auto make_span(Container& cont) -> IDYNTREE_CONSTEXPR Span<typename std::remove_pointer<decltype(std::declval<Container>).data())>::type>
Variables
- IDYNTREE_CONSTEXPR const std::ptrdiff_t dynamic_extent
Defines
- #define IDYNTREE_USE_STATIC_CONSTEXPR_WORKAROUND
- #define IDYNTREE_CONSTEXPR