Сообщение Re[2]: Perfect forward object от 08.11.2022 15:02
Изменено 08.11.2022 15:02 Videoman
Re[2]: Perfect forward object
Здравствуйте, Sm0ke, Вы писали:
S>Здравствуйте, Videoman, Вы писали:
V>>Что-то сегодня плохо голова соображает. А возможен ли сабж ?
V>>Чего хочется: маленький некопируемый неперемещаемый объект, в который передается ссылка на любой другой (возможно некопируемый и неперемещаемый) тип. При вызове метода объекта ссылка передается дальше. Что-то типа такого:
V>>
V>>Тут всё преобразуется к ссылке на const type, а в идеале хотелось бы std::forward<> но для класса. Возможно ли такое в принципе? Если нет, какие возможны компромиссы?
S>std::ref<> ?
S>Здравствуйте, Videoman, Вы писали:
V>>Что-то сегодня плохо голова соображает. А возможен ли сабж ?
V>>Чего хочется: маленький некопируемый неперемещаемый объект, в который передается ссылка на любой другой (возможно некопируемый и неперемещаемый) тип. При вызове метода объекта ссылка передается дальше. Что-то типа такого:
V>>
V>>template <typename type_t>
V>>struct object
V>>{
V>> object(const type_t& type) ...
V>> object(const object& that) = delete;
V>> object& oparator(const object& that) = delete;
V>> const type_t& forward() const ... // as std::forward<>
V>>};
V>>
V>>Тут всё преобразуется к ссылке на const type, а в идеале хотелось бы std::forward<> но для класса. Возможно ли такое в принципе? Если нет, какие возможны компромиссы?
S>std::ref<> ?
Re[2]: Perfect forward object
Здравствуйте, Sm0ke, Вы писали:
S>std::ref<> ?
нет!
S>std::ref<> ?
нет!