Lines Matching refs:constexpr

57     static constexpr rank_type rank() noexcept { return sizeof...(_Extents); }
58 static constexpr rank_type rank_dynamic() noexcept { return dynamic-index(rank()); }
59 static constexpr size_t static_extent(rank_type) noexcept;
60 constexpr index_type extent(rank_type) const noexcept;
63 constexpr extents() noexcept = default;
66 constexpr explicit(see below)
69 constexpr explicit extents(_OtherIndexTypes...) noexcept;
71 constexpr explicit(N != rank_dynamic())
74 constexpr explicit(N != rank_dynamic())
79 friend constexpr bool operator==(const extents&,
106 constexpr mapping() noexcept = default;
107 constexpr mapping(const mapping&) noexcept = default;
108 constexpr mapping(const extents_type&) noexcept;
110 constexpr explicit(!is_convertible_v<OtherExtents, extents_type>)
113 constexpr explicit(!is_convertible_v<OtherExtents, extents_type>)
116 constexpr explicit(extents_type::rank() > 0)
119 constexpr mapping& operator=(const mapping&) noexcept = default;
122 constexpr const extents_type& extents() const noexcept { return extents_; }
124 constexpr index_type required_span_size() const noexcept;
127 constexpr index_type operator()(Indices...) const noexcept;
129 static constexpr bool is_always_unique() noexcept { return true; }
130 static constexpr bool is_always_exhaustive() noexcept { return true; }
131 static constexpr bool is_always_strided() noexcept { return true; }
133 static constexpr bool is_unique() noexcept { return true; }
134 static constexpr bool is_exhaustive() noexcept { return true; }
135 static constexpr bool is_strided() noexcept { return true; }
137 constexpr index_type stride(rank_type) const noexcept;
140 friend constexpr bool operator==(const mapping&, const mapping<OtherExtents>&) noexcept;
160 constexpr mapping() noexcept = default;
161 constexpr mapping(const mapping&) noexcept = default;
162 constexpr mapping(const extents_type&) noexcept;
164 constexpr explicit(!is_convertible_v<OtherExtents, extents_type>)
167 constexpr explicit(!is_convertible_v<OtherExtents, extents_type>)
170 constexpr explicit(extents_type::rank() > 0)
173 constexpr mapping& operator=(const mapping&) noexcept = default;
176 constexpr const extents_type& extents() const noexcept { return extents_; }
178 constexpr index_type required_span_size() const noexcept;
181 constexpr index_type operator()(Indices...) const noexcept;
183 static constexpr bool is_always_unique() noexcept { return true; }
184 static constexpr bool is_always_exhaustive() noexcept { return true; }
185 static constexpr bool is_always_strided() noexcept { return true; }
187 static constexpr bool is_unique() noexcept { return true; }
188 static constexpr bool is_exhaustive() noexcept { return true; }
189 static constexpr bool is_strided() noexcept { return true; }
191 constexpr index_type stride(rank_type) const noexcept;
194 friend constexpr bool operator==(const mapping&, const mapping<OtherExtents>&) noexcept;
214 static constexpr rank_type rank_ = extents_type::rank(); // exposition only
218 constexpr mapping() noexcept;
219 constexpr mapping(const mapping&) noexcept = default;
221 constexpr mapping(const extents_type&, span<OtherIndexType, rank_>) noexcept;
223 constexpr mapping(const extents_type&, const array<OtherIndexType, rank_>&) noexcept;
226 constexpr explicit(see below) mapping(const StridedLayoutMapping&) noexcept;
228 constexpr mapping& operator=(const mapping&) noexcept = default;
231 constexpr const extents_type& extents() const noexcept { return extents_; }
232 constexpr array<index_type, rank_> strides() const noexcept { return strides_; }
234 constexpr index_type required_span_size() const noexcept;
237 constexpr index_type operator()(Indices...) const noexcept;
239 static constexpr bool is_always_unique() noexcept { return true; }
240 static constexpr bool is_always_exhaustive() noexcept { return false; }
241 static constexpr bool is_always_strided() noexcept { return true; }
243 static constexpr bool is_unique() noexcept { return true; }
244 constexpr bool is_exhaustive() const noexcept;
245 static constexpr bool is_strided() noexcept { return true; }
247 constexpr index_type stride(rank_type i) const noexcept { return strides_[i]; }
250 friend constexpr bool operator==(const mapping&, const OtherMapping&) noexcept;
268 constexpr default_accessor() noexcept = default;
270 constexpr default_accessor(default_accessor<OtherElementType>) noexcept;
271 constexpr reference access(data_handle_type p, size_t i) const noexcept;
272 constexpr data_handle_type offset(data_handle_type p, size_t i) const noexcept;
286 static constexpr size_t byte_alignment = ByteAlignment;
288 constexpr aligned_accessor() noexcept = default;
291 constexpr aligned_accessor(
295 explicit constexpr aligned_accessor(
299 constexpr operator default_accessor<OtherElementType>() const noexcept;
301 constexpr reference access(data_handle_type p, size_t i) const noexcept;
303 constexpr typename offset_policy::data_handle_type
327 static constexpr rank_type rank() noexcept { return extents_type::rank(); }
328 static constexpr rank_type rank_dynamic() noexcept { return extents_type::rank_dynamic(); }
329 static constexpr size_t static_extent(rank_type r) noexcept
331 constexpr index_type extent(rank_type r) const noexcept { return extents().extent(r); }
334 constexpr mdspan();
335 constexpr mdspan(const mdspan& rhs) = default;
336 constexpr mdspan(mdspan&& rhs) = default;
339 constexpr explicit mdspan(data_handle_type ptr, OtherIndexTypes... exts);
341 constexpr explicit(N != rank_dynamic())
344 constexpr explicit(N != rank_dynamic())
346 constexpr mdspan(data_handle_type p, const extents_type& ext);
347 constexpr mdspan(data_handle_type p, const mapping_type& m);
348 constexpr mdspan(data_handle_type p, const mapping_type& m, const accessor_type& a);
352 constexpr explicit(see below)
356 constexpr mdspan& operator=(const mdspan& rhs) = default;
357 constexpr mdspan& operator=(mdspan&& rhs) = default;
361 constexpr reference operator[](OtherIndexTypes... indices) const;
363 constexpr reference operator[](span<OtherIndexType, rank()> indices) const;
365 constexpr reference operator[](const array<OtherIndexType, rank()>& indices) const;
367 constexpr size_type size() const noexcept;
368 [[nodiscard]] constexpr bool empty() const noexcept;
370 friend constexpr void swap(mdspan& x, mdspan& y) noexcept;
372 constexpr const extents_type& extents() const noexcept { return map_.extents(); }
373 constexpr const data_handle_type& data_handle() const noexcept { return ptr_; }
374 constexpr const mapping_type& mapping() const noexcept { return map_; }
375 constexpr const accessor_type& accessor() const noexcept { return acc_; }
378 static constexpr bool is_always_unique() noexcept
380 static constexpr bool is_always_exhaustive() noexcept
382 static constexpr bool is_always_strided() noexcept
385 constexpr bool is_unique() const
387 constexpr bool is_exhaustive() const
389 constexpr bool is_strided() const
391 constexpr index_type stride(rank_type r) const