最終更新日時: 2025年08月18日 23時46分35秒 (JST)
Raclamusi が更新

履歴 編集

function
<linalg>

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

    constexpr scaled_accessor() = default; // (1)

    template<class OtherNestedAccessor>
    explicit(!is_convertible_v<OtherNestedAccessor, NestedAccessor>)
    constexpr scaled_accessor(const scaled_accessor<ScalingFactor, OtherNestedAccessor>& other); // (2)

    constexpr scaled_accessor(const ScalingFactor& s, const NestedAccessor& a); // (3)

## 概要

- (1) : デフォルトコンストラクタ
- (2) : 他`scaled_accessor`からの変換コンストラクタ
- (3) : `ScalingFactor`と`NestedAccessor`から構築

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

- (2) : `is_constructible_v<NestedAccessor, const OtherNestedAccessor&> == true`

## 効果

- (2) : `scaling-factor`を`other.scaling_factor()`で、`nested-accessor`を`other.nested_accessor()`で直接非リスト初期化する。
- (3) : `scaling-factor`を`s`で、`nested-accessor`を`a`で直接非リスト初期化する。

## バージョン

### 言語

- C++26

### 処理系

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

## 参照

- P1673R13 A free function linear algebra interface based on the BLAS