Quick Links:

bal | bbl | bdl | bsl

Classes | Namespaces | Enumerations | Functions

bslstl_span.h File Reference

Provide a (mostly) standard-compliant span class template. More...

Go to the source code of this file.

Classes

struct  bsl::Span_Utility
struct  bsl::Span_Utility::IsArrayConvertible< FROM, TO >
struct  bsl::Span_Utility::SubspanReturnType< TYPE, EXTENT, COUNT, OFFSET >
struct  bsl::Span_Utility::TypeIdentity< TYPE >
struct  bsl::Span_Utility::IsSpanImpl< TP >
struct  bsl::Span_Utility::IsSpanImpl< span< TP, SZ > >
struct  bsl::Span_Utility::IsSpan< TP >
struct  bsl::Span_Utility::IsBSLArrayImpl< TP >
struct  bsl::Span_Utility::IsBSLArrayImpl< bsl::array< TP, SZ > >
struct  bsl::Span_Utility::IsBSLArray< TP >
struct  bsl::Span_Utility::IsSTDArrayImpl< TP >
struct  bsl::Span_Utility::IsSTDArrayImpl< std::array< TP, SZ > >
struct  bsl::Span_Utility::IsSTDArray< TP >
struct  bsl::Span_Utility::IsSpanCompatibleContainer< TP, ELEMENT_TYPE, class >
struct  bsl::Span_Utility::IsSpanCompatibleContainer< TP, ELEMENT_TYPE, bsl::void_t< typename bsl::enable_if<!IsSpan< TP >::value, bsl::nullptr_t >::type, typename bsl::enable_if< !IsBSLArray< TP >::value, bsl::nullptr_t >::type, typename bsl::enable_if< !IsSTDArray< TP >::value, bsl::nullptr_t >::type, typename bsl::enable_if< !bsl::is_array< TP >::value, bsl::nullptr_t >::type, decltype(data(std::declval< TP >())), decltype(size(std::declval< TP >())), typename bsl::enable_if< Span_Utility::IsArrayConvertible< typename bsl::remove_pointer< decltype(data(std::declval< TP & >()))>::type, ELEMENT_TYPE >::value, bsl::nullptr_t >::type > >
class  bsl::span< TYPE, EXTENT >
class  bsl::span< TYPE, dynamic_extent >

Namespaces

namespace  bsl

Enumerations

enum  { bsl::dynamic_extent = size_t(-1) }

Functions

template<class TYPE , size_t EXTENT>
BSLS_KEYWORD_CONSTEXPR_CPP14
span< const std::byte, EXTENT
*sizeof(TYPE)> 
bsl::as_bytes (span< TYPE, EXTENT > s) BSLS_KEYWORD_NOEXCEPT
template<class TYPE >
BSLS_KEYWORD_CONSTEXPR_CPP14
span< const std::byte,
dynamic_extent > 
bsl::as_bytes (span< TYPE, dynamic_extent > s) BSLS_KEYWORD_NOEXCEPT
template<class TYPE , size_t EXTENT>
BSLS_KEYWORD_CONSTEXPR_CPP14
span< std::byte, EXTENT
*sizeof(TYPE)> 
bsl::as_writable_bytes (span< TYPE, EXTENT > s) BSLS_KEYWORD_NOEXCEPT
template<class TYPE >
BSLS_KEYWORD_CONSTEXPR_CPP14
span< std::byte,
dynamic_extent > 
bsl::as_writable_bytes (span< TYPE, dynamic_extent > s) BSLS_KEYWORD_NOEXCEPT
template<class TYPE , size_t EXTENT>
BSLS_KEYWORD_CONSTEXPR_CPP14 void bsl::swap (span< TYPE, EXTENT > &a, span< TYPE, EXTENT > &b) BSLS_KEYWORD_NOEXCEPT

Detailed Description