Template Class span¶
Defined in File span.h
Class Documentation¶
-
template<class
T, size_tExtent>
classopentelemetry::nostd::span¶ Back port of std::span.
See https://en.cppreference.com/w/cpp/container/span for interface documentation.
Note: This provides a subset of the methods available on std::span.
Note: The std::span API specifies error cases to have undefined behavior, so this implementation chooses to terminate or assert rather than throw exceptions.
Public Functions
-
template<size_t
N, typename std::enable_if<Extent == N>::type* = nullptr>
inlinespan(T (&array)[N]) noexcept¶
-
template<size_t
N, typename std::enable_if<Extent == N>::type* = nullptr>
inlinespan(std::array<T, N> &array) noexcept¶
-
template<size_t
N, typename std::enable_if<Extent == N>::type* = nullptr>
inlinespan(const std::array<T, N> &array) noexcept¶
-
template<class
C, typename std::enable_if<!detail::is_specialized_span_convertible<C>::value && std::is_convertible<typename std::remove_pointer<decltype(nostd::data(std::declval<C&>()))>::type (*)[], T (*)[]>::value && std::is_convertible<decltype(nostd::size(std::declval<const C&>())), size_t>::value>::type* = nullptr>
inlinespan(C &c) noexcept(noexcept(data(c),size(c)))¶
-
template<class
C, typename std::enable_if<!detail::is_specialized_span_convertible<C>::value && std::is_convertible<typename std::remove_pointer<decltype(nostd::data(std::declval<const C&>()))>::type (*)[], T (*)[]>::value && std::is_convertible<decltype(nostd::size(std::declval<const C&>())), size_t>::value>::type* = nullptr>
inlinespan(const C &c) noexcept(noexcept(data(c),size(c)))¶
-
template<class
U, size_tN, typename std::enable_if<N == Extent && std::is_convertible<U (*)[], T (*)[]>::value>::type* = nullptr>
inlinespan(const span<U, N> &other) noexcept¶
-
inline bool
empty() const noexcept¶
-
inline size_t
size() const noexcept¶
-
template<size_t