Например:
std::weak_ptr<int> wp1(std::make_shared<int>());
std::weak_ptr<int> wp2;
assert(PointsToValidOrExpiredObject(wp1));
assert(!PointsToValidOrExpiredObject(wp2));
Возможна ли такая функция?
Случай использования: Конструктор класса принимает std::weak_ptr<Foo>
как зависимость. Передача истекшего объекта в порядке (может произойти в определенных рабочих процессах), но передача null означает, что программист что-то забыл. Я бы хотел проверить это как часть проверки параметров конструктора.