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> |
||
|
|
(1) | (desde C++11) |
|
|
(2) | (desde C++11) |
|
|
(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
Original:
The text has been machine-translated via Google Translate. (membro estático público constante) | |
Member functions
converte o objeto em Original: converts the object to The text has been machine-translated via Google Translate. (função pública membro) | |
Member types
Tipo Original: Type The text has been machine-translated via Google Translate. |
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