19 #include "trait_backports.hpp" 22 namespace experimental {
27 template <
class _T,
size_t _Disambiguator = 0,
class _Enable =
void>
29 using __stored_type = _T;
31 MDSPAN_FORCE_INLINE_FUNCTION constexpr _T
const &__ref()
const noexcept {
34 MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__ref() noexcept {
42 template <
class _T,
size_t _Disambiguator>
45 enable_if_t<_MDSPAN_TRAIT(is_empty, _T) &&
49 _MDSPAN_TRAIT(is_trivially_destructible, _T)>> :
50 #ifdef _MDSPAN_COMPILER_MSVC 62 using __stored_type = _T;
63 MDSPAN_FORCE_INLINE_FUNCTION constexpr _T
const &__ref()
const noexcept {
64 return *
static_cast<_T
const *
>(
this);
66 MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__ref() noexcept {
67 return *
static_cast<_T *
>(
this);
70 MDSPAN_INLINE_FUNCTION_DEFAULTED
72 MDSPAN_INLINE_FUNCTION_DEFAULTED
75 MDSPAN_INLINE_FUNCTION_DEFAULTED
78 MDSPAN_INLINE_FUNCTION_DEFAULTED
81 MDSPAN_INLINE_FUNCTION_DEFAULTED
84 MDSPAN_INLINE_FUNCTION_DEFAULTED
89 MDSPAN_INLINE_FUNCTION
91 MDSPAN_INLINE_FUNCTION
Definition: no_unique_address.hpp:28