You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
structarray_traits<T[N], void, void> { // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) : for backwards compatibility
1690
+
structdetail::array_traits<T[N], void, void> { // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) : for backwards compatibility
1691
1691
using reference = T&;
1692
1692
using element = std::remove_all_extents_t<T[N]>; // NOSONAR(cpp:S5945) NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) : for backwards compatibility
BOOST_MULTI_HDconstexprautocbegin() const& { returnbegin(); } ///< returns an (explicitly const-)iterator to the beginning
1823
1822
BOOST_MULTI_HDconstexprautocend() const& { returnend(); } ///< returns an (explicitly const-)iterator to the end
1824
1823
1825
-
using cursor = cursor_t<typename const_subarray::element_ptr, D, typename const_subarray::strides_type>; // Cursor for the array, the cursor is indexable, and it has pointer semantics (returned by `home`)
1826
-
using const_cursor = cursor_t<typename const_subarray::element_const_ptr, D, typename const_subarray::strides_type>; // const-cursor for the array
1824
+
using cursor = cursor_t<typename const_subarray::element_ptr, D, typename const_subarray::strides_type>; ///< Cursor for access to the array, the cursor is indexable, and it has pointer semantics (returned by `home`)
1825
+
using const_cursor = cursor_t<typename const_subarray::element_const_ptr, D, typename const_subarray::strides_type>; ///< Cursor for constant access to the array
BOOST_MULTI_HDconstexprautohome() const& -> const_cursor { returnhome_aux_(); } ///< Return a cursor pointing to the top corner element of the array, the cursor is indexed relative to this location
1831
+
BOOST_MULTI_HDconstexprautohome() const& -> const_cursor { returnhome_aux_(); } ///< Return a cursor pointing to the top corner element of the array, the cursor is indexed relative to this location
1833
1832
1834
1833
template<
1835
1834
classRange,
@@ -4194,8 +4193,16 @@ constexpr auto uninitialized_copy
4194
4193
// to overwrite the behavior of std::begin and std::end
4195
4194
// which take rvalue-references as const-references.
template<classT> constexprautobegin(T&& rng) -> decltype(std::forward<T>(rng).begin()) { return std::forward<T>(rng).begin(); } ///< Returns the beginning of the range (generic free function, usually return .begin())
4197
+
template<classT> constexprautoend(T&& rng) -> decltype(std::forward<T>(rng).end()) { return std::forward<T>(rng).end(); } ///< Returns the end of the range (generic free function, usually return .begin())
4198
+
4199
+
// this has to take argument by forward reference to avoid collison with std::cbegin/std::cend
4200
+
template<classT> constexprautocbegin(T&& rng) -> decltype(std::forward<T>(rng).begin()) { return std::forward<T>(rng).begin(); } ///< Returns the beginning of the range (for constant access, generic free function, usually return .begin())
4201
+
template<classT> constexprautocend(T&& rng) -> decltype(std::forward<T>(rng).end()) { return std::forward<T>(rng).end(); } ///< Returns the end of the range (for constant access, generic free function, usually return .begin())
0 commit comments