|
template<class TCONTAINER > |
constexpr auto | gsl::size (TCONTAINER &&container) -> decltype(container.size()) |
|
template<class T , size_t SIZE> |
constexpr size_t | gsl::size (const T(&)[SIZE]) noexcept |
|
template<class TCONTAINER > |
constexpr auto | gsl::data (TCONTAINER &&container) -> decltype(container.data()) |
|
template<class T , size_t SIZE> |
constexpr T * | gsl::data (T(&array_value)[SIZE]) noexcept |
|
template<class TELEMENT > |
constexpr const TELEMENT * | gsl::data (std::initializer_list< TELEMENT > l) noexcept |
|
template<class TELEMENT > |
constexpr span< TELEMENT > | gsl::make_span (TELEMENT *ptr, typename span< TELEMENT >::size_type count) |
|
template<class TELEMENT > |
constexpr span< TELEMENT > | gsl::make_span (TELEMENT *first, TELEMENT *last) |
|
template<class TELEMENT , std::size_t N> |
constexpr span< TELEMENT, N > | gsl::make_span (TELEMENT(&arr)[N]) noexcept |
|
template<class TCONTAINER , typename std::enable_if< !std::is_array< typename std::remove_reference< TCONTAINER >::type >::value &&std::is_pointer< decltype(data(std::declval< TCONTAINER >()))>::value &&std::is_convertible< decltype(size(std::declval< TCONTAINER >())), size_t >::value , ::type * = nullptr> |
constexpr span< typename _make_span_value_type< TCONTAINER >::type > | gsl::make_span (TCONTAINER &&cont) |
|