Std::is_trivyly_copyable слишком силен, что мне использовать вместо него?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Std::is_trivyly_copyable слишком силен, что мне использовать вместо него?

Сообщение Anonymous »

Я хочу принимать классы, которые являются «тривиально копируемыми», в том смысле, что если я скопирую байтовое представление одной переменной типа в другую, ее можно будет использовать, и ничего не будет сломано.
Глядя на std::is_trivyly_copyable, я вижу, что требования следующие:
  • По крайней мере одна копия допустимы
  • Каждый допустимый конструктор копирования (если таковой имеется) является тривиальным
  • Каждый подходящий конструктор перемещения (если таковой имеется) является тривиальным
  • Каждый допустимый оператор присваивания копирования (если есть) тривиален
  • Каждый допустимый оператор присваивания перемещения (если есть) тривиален
  • Имеет тривиальный неудаленный деструктор
Первое и последнее требование — проверка. Но другие требования очень строгие и не то, что мне нужно! Я был бы готов пойти на «компромисс» с наличием тривиального копирования в качестве требования, а это уже сильно отличается от того, что мне действительно нужно.
Итак, какой признак типа я могу использовать из стандартной библиотеки или написать самостоятельно, чтобы выразить интересующее меня ограничение?
Я пишу C++11 прямо сейчас, поэтому, если ваш ответ требует более позднего стандарта - напишите его, но упомяните этот факт явно.

Подробнее здесь: https://stackoverflow.com/questions/719 ... se-instead
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»