История изменений
Исправление
pavlick,
(текущая версия)
:
Да он в тысячу раз лучше твоего, ты используешь function, я нет (лишь в компайлтайме). Почему-то вариант со статик ассертом не работает в таком виде
static_assert(..., function<void(T)>>, ...);
со следующим пояснением:
note: the expression ‘is_same_v<_Tp, _Up> [with _Tp = std::function<void()>; _Up = std::function<void()>]’ evaluated to ‘false’
Баг? По-моему да.
UPD: туплю там же типы разные. Ты сформулируй задачу конкретно: тебе нужна функция, которая принимает функтор с 1 аргументом лбого типа и возвращает void, я так понимаю. Сейчас накостылю.
Исправление
pavlick,
:
Да он в тысячу раз лучше твоего, ты используешь function, я нет (лишь в компайлтайме). Почему-то вариант со статик ассертом не работает в таком виде
~~static_assert(..., function<void(T)>>, ...);~~
со следующим пояснением:
note: the expression ‘is_same_v<_Tp, _Up> [with _Tp = std::function<void()>; _Up = std::function<void()>]’ evaluated to ‘false’
Баг? По-моему да.
UPD: туплю там же типы разные. Ты сформулируй задачу конкретно: тебе нужна функция, которая принимает функтор с 1 аргументом лбого типа и возвращает void, я так понимаю. Сейчас накостылю.
Исходная версия
pavlick,
:
Да он в тысячу раз лучше твоего, ты используешь function, я нет (лишь в компайлтайме). Почему-то вариант со статик ассертом не работает в таком виде
static_assert(..., function<void(T)>>, ...);
со следующим пояснением:
note: the expression ‘is_same_v<_Tp, _Up> [with _Tp = std::function<void()>; _Up = std::function<void()>]’ evaluated to ‘false’
Баг? По-моему да.