|
| constexpr | Span () noexcept=default |
| constexpr | Span (pointer data, std::size_t size) noexcept |
| template<std::size_t N> |
| constexpr | Span (element_type(&data)[N]) noexcept |
| template<typename Container, typename = decltype(std::declval<Container &>().data()), typename = decltype(std::declval<Container &>().size())> |
| | Span (Container &container) noexcept |
| template<typename Container, typename = decltype(std::declval<const Container &>().data()), typename = decltype(std::declval<const Container &>().size()), typename U = element_type, typename = typename std::enable_if<std::is_const<U>::value>::type> |
| | Span (const Container &container) noexcept |
| constexpr pointer | data () const noexcept |
| constexpr std::size_t | size () const noexcept |
| constexpr bool | empty () const noexcept |
| reference | operator[] (std::size_t index) const noexcept |
template<typename T>
class copp::Span< T >
Non-owning view of a contiguous one-dimensional array.
Span<T> is the C++17 compatibility equivalent of std::span<T>. It does not allocate, copy, or own memory. The referenced data must remain alive for the duration of the call that consumes the span.
Typical inputs are std::vector<double>, C arrays, or pointer/length pairs:
std::vector<double> s{0.0, 0.5, 1.0};
Non-owning view of a contiguous one-dimensional array.
- Template Parameters
-
| T | Element type. Use const double for most public inputs. |
Definition at line 138 of file core.hpp.