Size: a a a

2020 August 18

VK

Valentin Kornienko in pro.cxx
Андрей Руссков
ты мог написать decltype(&lib_free)
Это ещё вариант, кстати
источник

m

magras in pro.cxx
Андрей Руссков
ты мог написать decltype(&lib_free)
Нет, тогда пришлось бы при каждой инициализации uniq передавать адрес делитера.
источник

VK

Valentin Kornienko in pro.cxx
Nikita Provotorov
спасибо, но это оверкилл для моей задачи, мне будет проще заколхозить структуру с деструктором
Чего оверкил? Оно просто берет и работает:?
источник

АР

Андрей Руссков... in pro.cxx
magras
Нет, тогда пришлось бы при каждой инициализации uniq передавать адрес делитера.
так указание типа делитера не значит что его не надо передавать в конструктор unique_ptr
источник

VK

Valentin Kornienko in pro.cxx
И в 7 строк условно
источник

NP

Nikita Provotorov in pro.cxx
Valentin Kornienko
Чего оверкил? Оно просто берет и работает:?
вот это писать:
template <auto DeleterFunction>
using CustomDeleter = std::integral_constant<decltype(DeleterFunction), DeleterFunction>;

template <typename ManagedType, auto Functor>
using PointerWrapper = std::unique_ptr<ManagedType, CustomDeleter<Functor>>;
источник

VK

Valentin Kornienko in pro.cxx
Nikita Provotorov
вот это писать:
template <auto DeleterFunction>
using CustomDeleter = std::integral_constant<decltype(DeleterFunction), DeleterFunction>;

template <typename ManagedType, auto Functor>
using PointerWrapper = std::unique_ptr<ManagedType, CustomDeleter<Functor>>;
Это надо написать один раз в хидер и все
источник

VK

Valentin Kornienko in pro.cxx
Потом просто использовать
источник

NP

Nikita Provotorov in pro.cxx
Valentin Kornienko
Это надо написать один раз в хидер и все
да мне в одном месте всего надо было обернуть сишный указатель
источник

АР

Андрей Руссков... in pro.cxx
magras
Нет, тогда пришлось бы при каждой инициализации uniq передавать адрес делитера.
Хм. А что поменялось?
источник

АР

Андрей Руссков... in pro.cxx
он будет теперь пытаться default-инстанцировать этот deleter?
источник

m

magras in pro.cxx
Андрей Руссков
он будет теперь пытаться default-инстанцировать этот deleter?
https://godbolt.org/z/h9WYWj

Да, в моем примере у делитера есть default конструктор и мне не приходится его инициализировать руками.
источник

АР

Андрей Руссков... in pro.cxx
ну в с++17 нельзя так
источник

АР

Андрей Руссков... in pro.cxx
и я пытаюсь понять что поменялось )
источник

АР

Андрей Руссков... in pro.cxx
"lambda-expression in unevaluated context"
источник

m

magras in pro.cxx
Андрей Руссков
"lambda-expression in unevaluated context"
Да, по-моему это так называется.
источник

АК

Александр Караев... in pro.cxx
Андрей Руссков
"lambda-expression in unevaluated context"
а если точнее, то вот: https://t.me/supapro/585454
источник

АР

Андрей Руссков... in pro.cxx
блин стоит один год на конфу не сходить и тебя уже в супу направляют )
источник

AS

Anatoly Shirokov in pro.cxx
Андрей Руссков
блин стоит один год на конфу не сходить и тебя уже в супу направляют )
Как будто это что-то зазорное.
источник

АК

Александр Караев... in pro.cxx
Андрей Руссков
блин стоит один год на конфу не сходить и тебя уже в супу направляют )
это не отправка в суп, просто ссылка на сообщение в супе
источник