История изменений
Исправление wandrien, (текущая версия) :
С того, что std::optional::reset() не принимает аргумента. У тебя там что-то странное написано
И это мы ещё даже не начали углубляться в самое интересное - когда решения брать мьютекс или нет зависят не только от переданных параметров, но и от состояния самого объекта.
Мне это абсолютно не интересно. Задачу я очертил, и она состоит в том, чтобы однозначно отделить код, выполняющийся под блокировкой, от кода, который выполняется не под блокировкой.
Исходная версия wandrien, :
С того, что std::optional::reset() не принимает аргумента. У тебя там что-то странное написано
И это мы ещё даже не начали углубляться в самое интересное - когда решения брать мьютекс или нет зависят не только от переданных параметров, но и от состояния самого объекта.
Мне это абсолютно не интересно. Задачу я очертил, и она состоит в том, чтобы однозначно отделить код, выполняющийся под блокировкой, от кода, который под блокировкой не выполняется.