最終更新日時: 2024年12月22日 16時03分05秒 (JST)
yoh が更新

履歴 編集

function
<mdspan>

# std::aligned_accessor::コンストラクタ(C++26)

    constexpr aligned_accessor() noexcept = default;  // (1)

    template<class OtherElementType, size_t OtherByteAlignment>
    constexpr aligned_accessor(
      aligned_accessor<OtherElementType, OtherByteAlignment>) noexcept;  // (2)

    template<class OtherElementType>
    explicit constexpr aligned_accessor(
      default_accessor<OtherElementType>) noexcept;  // (3)

## 概要

- (1) : デフォルトコンストラクタ
- (2) : 他`aligned_accessor`からの変換コンストラクタ
- (3) : `default_accessor`からの変換コンストラクタ

## テンプレートパラメータ制約

- (2) :
  - `is_convertible_v<OtherElementType(*)[], element_type(*)[]>`が`true`であること
  - `OtherByteAlignment > byte_alignment`
- (3) : `is_convertible_v<OtherElementType(*)[], element_type(*)[]>`が`true`であること

## 例外

投げない

## バージョン

### 言語

- C++26

### 処理系

- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??

## 参照

- P2897R7 `aligned_accessor`: An mdspan accessor expressing pointer over-alignment