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
)
требует MoveConstructible < Base > ; |
(5) | |
|
tagged
(
const
Base
&
that
)
noexcept
(
std::
is_nothrow_copy_constructible
<
Base
>
::
value
)
требует CopyConstructible < Base > ; |
(6) | |
|
template
<
class
Other
>
требует Constructible
<
Base, Other
>
|
(7) | |
|
template
<
class
Other
>
требует Constructible
<
Base,
const
Other
&
>
|
(8) | |
Создает
tagged
объект.
tagged<Base, Tags...>
наследует конструкторы от
Base
.
tagged
имеет конструкторы по умолчанию, копирования и перемещения, объявленные как default, которые вызывают соответствующий конструктор
Base
.
Base
. Инициализирует подобъект
Base
с помощью
std
::
move
(
that
)
.
Base
. Инициализирует подобъект
Base
с помощью
that
.
tagged
с соответствующими тегами. Инициализирует подобъект
Base
с помощью
static_cast
<
Other
&&
>
(
that
)
.
tagged
с соответствующими тегами. Инициализирует
Base
подобъект с помощью
static_cast
<
const
Other
&
>
(
that
)
.