Класс is_copy_constructible
Проверяет, есть ли у типа конструктор копии.
C++
template <class Ty>
struct is_copy_constructible;
Ty
Запрашиваемый тип.
Экземпляр предиката типа имеет значение true, если тип Ty — это класс, имеющий конструктор копирования, в противном случае он содержит значение false.
C++
#include <type_traits>
#include <iostream>
struct Copyable
{
int val;
};
struct NotCopyable
{
NotCopyable(const NotCopyable&) = delete;
int val;
};
int main()
{
std::cout << "is_copy_constructible<Copyable> == " << std::boolalpha
<< std::is_copy_constructible<Copyable>::value << std::endl;
std::cout << "is_copy_constructible<NotCopyable> == " << std::boolalpha
<< std::is_copy_constructible<NotCopyable>::value << std::endl;
return (0);
}
Output
is_copy_constructible<Copyable> == true
is_copy_constructible<NotCopyable > == false
Заголовок:<type_traits>
Пространство имен: std