◐ Shell
clean mode source ↗

std::is_assignable, std::is_trivially_assignable, std::is_nothrow_assignable - cppreference.com

De cppreference.com

<metanoindex/>

<tbody> </tbody>

Definido no cabeçalho

<type_traits>

template< class T, class U > struct is_assignable;

(1) (desde C++11)

template< class T, class U > struct is_trivially_assignable;

(2) (desde C++11)

template< class T, class U > struct is_nothrow_assignable;

(3) (desde C++11)

1)

Se o std::declval<T>() = std::declval<U>() expressão é bem-formado em contexto não avaliada, fornece o membro constante value true igual. Para qualquer outro tipo, é value false.

Original:

If the expression std::declval<T>() = std::declval<U>() is well-formed in unevaluated context, provides the member constant value equal true. For any other type, value is false.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

2)

mesmo que 1), mas a avaliação da expressão de atribuição não irá chamar qualquer operação que não é trivial.

Original:

same as 1), but evaluation of the assignment expression will not call any operation that is not trivial.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

3)

mesmo que 1), mas a avaliação da expressão de atribuição não irá chamar qualquer operação que não está noexcept.

Original:

same as 1), but the evaluation of the assignment expression will not call any operation that is not noexcept.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Herdado de std::integral_constant

Member constants

true se T is assignable from U , false contrário

Original:

true if T is assignable from U , false otherwise

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(membro estático público constante)

Member functions

converte o objeto em bool, retorna value

Original:

converts the object to bool, returns value

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(função pública membro)

Member types

Tipo

Original:

Type

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Definition
value_type bool
type std::integral_constant<bool, value>

Exemplo

#include <iostream>
#include <string>
#include <type_traits>
struct Ex1 { int n; };
int main() {
    std::cout << std::boolalpha
              << "int is assignable from double? "
              << std::is_assignable<int, double>::value << '\n'
              << "int& is nothrow assignable from double? "
              << std::is_nothrow_assignable<int&, double>::value << '\n'
              << "string is assignable from double? "
              << std::is_assignable<std::string, double>::value << '\n'
              << "Ex1& is trivially assignable from const Ex1&? "
              << std::is_trivially_assignable<Ex1&, const Ex1&>::value << '\n';
}

Saída:

int is assignable from double? false
int& is nothrow assignable from double? true
string is assignable from double? true
Ex1& is trivially assignable from const Ex1&? true

Veja também