Я хочу сделать класс в моей модели Rhapsody не копируемым, но
=> так что я делаю это по-старому увлечённо.
Что мне нужно от Rhapsody:
В этом контексте я хочу сгенерировать только декларацию для копирования ctor и копирования copy op — мне не нужна реализация.
Это вообще возможно?
Вещи, которые я рассмотрел:
Я бы предложил стереотипный подход:
NonCopyable
Базовый класс, как, например, описано @Dennis.Создайте стереотип, например, назовите его <<non-copyable>>
,
а) установить свойство стереотипа CPP_CG::Class::AdditionalBaseClasses
в NonCopyable
(имя базового класса, созданного выше).
б) Сделать стереотип применимым к занятиям.
Наконец, добавьте <<non-copyable>>
стереотип ко всем классам, которые не подлежат копированию.
Напишите частную копию ctor и opertor:
class NonCopy {
// These private versions of the copy constructor
// and operator will signal to the compiler to
// prevent automatic generation.
NonCopy(const NonCopy& other);
const NonCopy& operator=(const NonCopy& other);
public:
// Your public ctors
NonCopy(int a);
}
Вы можете посмотреть на расширенная версия не копируемого интерфейса для более полного примера.