class _ExtentsStorage : public _StaticExtents<_Extents>
{
private:
- using _S_base = _StaticExtents<_Extents>;
+ using _Base = _StaticExtents<_Extents>;
public:
- using _S_base::_S_rank;
- using _S_base::_S_rank_dynamic;
- using _S_base::_S_dynamic_index;
- using _S_base::_S_dynamic_index_inv;
- using _S_base::_S_static_extent;
+ using _Base::_S_rank;
+ using _Base::_S_rank_dynamic;
+ using _Base::_S_dynamic_index;
+ using _Base::_S_dynamic_index_inv;
+ using _Base::_S_static_extent;
static constexpr bool
_S_is_dynamic(size_t __r) noexcept
}
private:
- using _S_storage = __array_traits<_IndexType, _S_rank_dynamic>::_Type;
- [[no_unique_address]] _S_storage _M_dyn_exts{};
+ using _Storage = __array_traits<_IndexType, _S_rank_dynamic>::_Type;
+ [[no_unique_address]] _Storage _M_dyn_exts{};
};
template<typename _OIndexType, typename _SIndexType>
template<typename _Extents>
constexpr const array<size_t, _Extents::rank()>&
__static_extents() noexcept
- { return _Extents::_S_storage::_S_static_extents(); }
+ { return _Extents::_Storage::_S_static_extents(); }
// Pre-compute: \prod_{i = 0}^r _Extents[i], for r = 0,..., n (exclusive)
template<array _Extents>
using rank_type = size_t;
static constexpr rank_type
- rank() noexcept { return _S_storage::_S_rank; }
+ rank() noexcept { return _Storage::_S_rank; }
static constexpr rank_type
- rank_dynamic() noexcept { return _S_storage::_S_rank_dynamic; }
+ rank_dynamic() noexcept { return _Storage::_S_rank_dynamic; }
static constexpr size_t
static_extent(rank_type __r) noexcept
if constexpr (rank() == 0)
__builtin_trap();
else
- return _S_storage::_S_static_extent(__r);
+ return _Storage::_S_static_extent(__r);
}
constexpr index_type
friend span<const index_type>
__mdspan::__dynamic_extents<extents>(const extents&, size_t, size_t);
- using _S_storage = __mdspan::_ExtentsStorage<
+ using _Storage = __mdspan::_ExtentsStorage<
_IndexType, array<size_t, sizeof...(_Extents)>{_Extents...}>;
- [[no_unique_address]] _S_storage _M_exts;
+ [[no_unique_address]] _Storage _M_exts;
template<typename _OIndexType, size_t... _OExtents>
friend class extents;
}
private:
- using _S_strides_t = typename __array_traits<index_type,
- extents_type::rank()>::_Type;
+ using _Strides = typename __array_traits<index_type,
+ extents_type::rank()>::_Type;
[[no_unique_address]] extents_type _M_extents;
- [[no_unique_address]] _S_strides_t _M_strides;
+ [[no_unique_address]] _Strides _M_strides;
};
template<typename _ElementType>