|
constexpr | Span ()=default |
|
template<concepts::ContiguousIterator Iter>
requires (concepts::QualificationConvertibleTo<meta::RemoveReference<meta::IteratorReference<Iter>>, T>) |
constexpr | Span (Iter first, types::size_t count) |
|
template<concepts::ContiguousIterator Iter, concepts::SizedSentinelFor< Iter > Sent>
requires (concepts::QualificationConvertibleTo<meta::RemoveReference<meta::IteratorReference<Iter>>, T> && !concepts::ConvertibleTo<Sent, types::size_t>) |
constexpr | Span (Iter it, Sent sent) |
|
template<types::size_t size>
requires (size == extent) |
constexpr | Span (T(&array)[size]) |
|
template<concepts::QualificationConvertibleTo< T > U, types::size_t size>
requires (size == extent) |
constexpr | Span (vocab::Array< U, size > &array) |
|
template<typename U, types::size_t size>
requires (size == extent && concepts::QualificationConvertibleTo<U const, T>) |
constexpr | Span (vocab::Array< U, size > const &array) |
|
template<concepts::ContiguousContainer Con>
requires (concepts::SizedContainer<Con> && (concepts::BorrowedContainer<Con> || concepts::Const<T>) && !concepts::Span<Con> && !concepts::Array<Con> && !concepts::LanguageArray<meta::RemoveCVRef<Con>> && concepts::QualificationConvertibleTo<meta::RemoveReference<meta::ContainerReference<Con>>, T>) |
constexpr | Span (Con &&container) |
|
template<concepts::QualificationConvertibleTo< T > U, types::size_t other_extent>
requires ((other_extent == dynamic_extent || extent == other_extent)) |
constexpr | explicit (other_extent==dynamic_extent) Span(Span< U |
|
constexpr | Span (Span const &)=default |
|
constexpr auto | operator= (Span const &) -> Span &=default |
|
constexpr auto | begin () const -> T * |
|
constexpr auto | end () const -> T * |
|
constexpr auto | front () const -> T &requires(extent > 0) |
|
constexpr auto | back () const -> T &requires(extent > 0) |
|
constexpr auto | at (types::size_t index) const -> vocab::Optional< T & > |
|
constexpr auto | operator[] (types::size_t index) const -> T &requires(extent > 0) |
|
constexpr auto | data () const -> T * |
|
constexpr auto | size () const -> types::size_t |
|
constexpr auto | size_bytes () const -> types::size_t |
|
constexpr auto | empty () const -> bool |
|
constexpr auto | first (types::size_t count) const -> Optional< Span< T > > |
|
constexpr auto | last (types::size_t count) const -> Optional< Span< T > > |
|
constexpr auto | subspan (types::size_t offset) const -> Optional< Span< T > > |
|
constexpr auto | subspan (types::size_t offset, types::size_t count) const -> Optional< Span< T > > |
|
template<types::size_t count>
requires (count <= extent) |
constexpr auto | first () const |
|
template<types::size_t count>
requires (count <= extent) |
constexpr auto | last () const |
|
template<types::size_t offset, types::size_t count = dynamic_extent>
requires (offset <= extent && (count == dynamic_extent || offset + count <= extent)) |
constexpr auto | subspan () const |
|
template<typename U = meta::RemoveCV<T>>
requires (concepts::CopyConstructible<U>) |
constexpr auto | to_owned () const -> Array< U, extent > |
|
constexpr auto | get () &-> decltype(auto) |
|
constexpr auto | get () const &-> decltype(auto) |
|
constexpr auto | get () &&-> decltype(auto) |
|
constexpr auto | get () const &&-> decltype(auto) |
|
constexpr auto | get () &-> decltype(auto) |
|
constexpr auto | get () const &-> decltype(auto) |
|
constexpr auto | get () &&-> decltype(auto) |
|
constexpr auto | get () const &&-> decltype(auto) |
|
|
constexpr friend auto | operator== (Span a, Span b) -> bool requires(concepts::EqualityComparable< T >) |
|
constexpr friend auto | operator<=> (Span a, Span b) |
|
template<concepts::ContiguousIterator It, concepts::SizedSentinelFor< It > Sent>
requires (concepts::QualificationConvertibleTo<It, T*>) |
constexpr friend auto | tag_invoke (types::Tag< container::reconstruct >, InPlaceType< Span >, It first, Sent last) -> Span< T > |
|
template<types::size_t index>
requires (index < extent) |
constexpr friend auto | tag_invoke (types::Tag< tuple_element >, types::InPlaceType< Span >, Constexpr< index >) -> InPlaceType< T > |
|
template<types::size_t index>
requires (index < extent) |
constexpr friend auto | tag_invoke (types::Tag< tuple_element >, types::InPlaceType< Span const >, Constexpr< index >) -> InPlaceType< T > |
|
constexpr friend auto | tag_invoke (types::Tag< tuple_size >, types::InPlaceType< Span >) -> types::size_t |
|
template<types::size_t index>
requires (index < extent) |
constexpr friend auto | tag_invoke (types::Tag< util::get_in_place >, Constexpr< index >, Span self) -> T & |
|