Update documentation

This commit is contained in:
Peter Dimov
2025-02-23 22:02:50 +02:00
parent ec61272c1f
commit eee0d5bbc5
2 changed files with 34 additions and 0 deletions

View File

@ -21,3 +21,4 @@ http://www.boost.org/LICENSE_1_0.txt
* Removed local `hash_value` overload; `boost::hash` supports array-like types natively.
* `array<T, 0>` can now be initialized with `= {{}}`.
* Added `operator\<\=>`.
* Added `to_array`.

View File

@ -42,6 +42,13 @@ namespace boost {
constexpr T& get(array<T, N>&) noexcept;
template<std::size_t Idx, typename T, std::size_t N>
constexpr const T& get(const array<T, N>&) noexcept;
template<class T, std::size_t N>
constexpr array<T, N> to_array( T const (&)[N] );
template<class T, std::size_t N>
constexpr array<T, N> to_array( T (&&)[N] );
template<class T, std::size_t N>
constexpr array<T, N> to_array( T const (&&)[N] );
}
```
@ -417,3 +424,29 @@ Mandates: :: `Idx < N`.
Returns: :: `arr[Idx]`.
---
### Creation
```
template<class T, std::size_t N>
constexpr array<T, N> to_array( T const (&a)[N] );
```
[horizontal]
Returns: :: an `array<T, N>` `r` such that for each `i` in `[0..N)`, `r[i]` is copied from `a[i]`.
```
template<class T, std::size_t N>
constexpr array<T, N> to_array( T (&&a)[N] );
```
[horizontal]
Returns: :: an `array<T, N>` `r` such that for each `i` in `[0..N)`, `r[i]` is moved from `std::move(a[i])`.
```
template<class T, std::size_t N>
constexpr array<T, N> to_array( T const (&&a)[N] );
```
[horizontal]
Returns: :: an `array<T, N>` `r` such that for each `i` in `[0..N)`, `r[i]` is copied from `a[i]`.
---