Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

is_copy_assignable

Boost , Chapter 1. Boost.TypeTraits , Alphabetical Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
template <class T>
struct is_copy_assignable : public true_type-or-false_type {};

Наследники:Если<T>является<CopyAssignable>(т.е. имеет доступный явный или неявный оператор присвоения копий), то наследует отtrue_type, в противном случае наследует отfalse_type. Тип<T>должен быть полным.

Иными словами, наследуется отtrue_typeтолько в том случае, если копия<T>от<constT &>не отмечена<=delete>,<T>не происходит от<boost::noncopyable>и не отмечена<BOOST_MOVABLE_BUT_NOT_COPYABLE(T)>.

Совместимость компиляторов:Для полной поддержки требуются функции C++11<decltype>и SFINAE-выражения.

Если ваш компилятор не поддерживает удаленные функции C++11<=delete>или не поддерживает SFINAE для удаленных назначений, то выведите свои классы из<boost::noncopyable>или пометьте их<BOOST_MOVABLE_BUT_NOT_COPYABLE(T)>, чтобы показать, что класс не назначается.

Trait не заботится о модификаторах доступа, поэтому, если вы видите такие ошибки:

'T::operator=(const T&)' is private
boost/type_traits/is_copy_assignable.hpp:68:5: error: within this context

Затем вы пытаетесь назвать этот макрос структурой с частным назначением:

struct T {
    // ...
private:
    T &operator=(const T &);
    // ...
};

Чтобы исправить это, вы должны изменить свою структуру, явно пометив ее как некопируемую<=delete>,<boost::noncopyable>или<BOOST_MOVABLE_BUT_NOT_COPYABLE(T)>или явно, специализирующуюся на признаке.

Заголовок:<#include <boost/type_traits/is_copy_assignable.hpp>>или<#include<boost/type_traits.hpp>>


PrevUpHomeNext

Статья is_copy_assignable раздела Chapter 1. Boost.TypeTraits Alphabetical Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Alphabetical Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 01:20:03/0.0035121440887451/0