Main Content

matlab::data::optional<T>

オプション値を表す、テンプレート化された C++ クラス

説明

optional オブジェクトを使用して、存在する、または存在しない可能性がある値を表します。

クラスの詳細

名前空間:

matlab::data

インクルード:

Optional.hpp

テンプレート パラメーター

T

配列の型。matlab::data::String として指定します。

コンストラクター

既定のコンストラクター

optional()

コピー コンストラクター

optional(const optional& other)

説明

共有データ コピーを作成します。

パラメーター

const optional& other

コピーする値。

スロー

なし

代入演算子のコピー

optional<T>& operator=(const optional<T>& other)

説明

共有データ コピーを代入します。

パラメーター

const optional<T>& other

コピーする値。

戻り値

optional<T>&

更新されたインスタンス。

スロー

なし

移動コンストラクター

optional(optional&& other)

optional(T&& value)

説明

optional オブジェクトの内容を新しいインスタンスに移動させます。

パラメーター

optional&& other

移動させる値。

T&& value

移動させる T 型の値。
スロー

なし

移動代入演算子

optional<T>& operator=(optional<T>&& other)

optional<T>& operator=(T&& value)

説明

このインスタンスに入力を代入します。

パラメーター

optional<T>&& other

T&& value

移動させる値。

戻り値

optional<T>&

更新されたインスタンス。

スロー

なし

その他の演算子

operator=

optional<T>& operator=(nullopt_t)

optional<T>& operator=(const optional<T>& other)

optional<T>& operator=(optional<T>&& other)

optional<T>& operator=(T&& value)

optional<T>& operator=(const T& value)

説明

代入演算子。

戻り値

optional<T>&

更新されたインスタンス。

スロー

なし

operator->

const T* operator->() const

T* operator->()

戻り値

const T*

T*

要素へのポインター。

スロー

std::runtime_error

optional オブジェクトに値が含まれていません。

operator*

const T& operator*() const

T& operator*()

戻り値

const T&

T&

要素への参照。
スロー

std::runtime_error

optional オブジェクトに値が含まれていません。

operator T

operator T() const
説明

optional<T> の値を T にキャストします。

戻り値

operator

optional<T> に含まれる値 (存在する場合)。

スロー

std::runtime_error

値がありません。

メンバー関数

bool

explicit operator bool() const
説明

オブジェクトに値が含まれているかどうかをチェックします。

戻り値

operator

オブジェクトに値が含まれている場合は true。

スロー

なし

has_value

bool has_value() const
説明

オブジェクトに値が含まれているかどうかをチェックします。

戻り値

bool

オブジェクトに値が含まれている場合は true。

スロー

なし

swap

void swap(optional &other)
説明

このオプション インスタンスの値を、パラメーターに含まれている値と交換します。

パラメーター

optional &other

交換する値。

スロー

なし

reset

void reset()
説明

オプション値をリセットし、欠損しているものとします。

スロー

なし

バージョン履歴

R2017b で導入