std::experimental::ranges::tagged<Base,Tags...>:: tagged
|
using
Base
::
Base
;
|
(1) | |
|
tagged
(
)
=
default
;
|
(2) | |
|
tagged
(
tagged
&&
that
)
=
default
;
|
(3) | |
|
tagged
(
const
tagged
&
that
)
=
default
;
|
(4) | |
|
tagged
(
Base
&&
that
)
noexcept
(
std::
is_nothrow_move_constructible
<
Base
>
::
value
)
requires MoveConstructible < Base > ; |
(5) | |
|
tagged
(
const
Base
&
that
)
noexcept
(
std::
is_nothrow_copy_constructible
<
Base
>
::
value
)
requires CopyConstructible < Base > ; |
(6) | |
|
template
<
class
Other
>
requires Constructible
<
Base, Other
>
|
(7) | |
|
template
<
class
Other
>
requires Constructible
<
Base,
const
Other
&
>
|
(8) | |
tagged
オブジェクトを構築します。
tagged<Base, Tags...>
Base
のコンストラクタを継承します。
tagged
は、
Base
の対応するコンストラクタを呼び出すデフォルト化されたデフォルト、コピー、およびムーブコンストラクタを持ちます。
Base
からのムーブコンストラクタの変換。
Base
サブオブジェクトを
std
::
move
(
that
)
で初期化します。
Base
からの変換コピーコンストラクタ。
Base
サブオブジェクトを
that
で初期化します。
tagged
特殊化からのムーブコンストラクタの変換(一致するタグを持つ)。
Base
サブオブジェクトを
static_cast
<
Other
&&
>
(
that
)
で初期化します。
tagged
特殊化からのコピーコンストラクタの変換(一致するタグを持つ)。
Base
サブオブジェクトを
static_cast
<
const
Other
&
>
(
that
)
で初期化します。