Как стать автором
Обновить

Комментарии 6

Или, может, самое время написать пропозал, предлагающий какую-нибудь еще? 

самым правильным было бы дать возможность создавать такие типы программистам, а не каждый тащить через коммитет, скоро уже не протолкнуться там будет от предлагающих copyable_and_movable_function_and_also_fooable
))

А кто-то эту возможность отбирал? Когда мне захотелось использовать функцию, которую можно сравнить на ==, взял и написал https://github.com/CrazyPandaLimited/panda-lib/blob/master/src/panda/function.h
Она не основывается на std::function, написана на самом C++.
Все типы в std можно написать на C++ без библиотек за исключением std::initializer_list, разве что. Возможно, reflection принесёт большую пачку таких типов, но пока что библиотека хорошо отделена от языка и написана на нём самом.

А кто-то эту возможность отбирал

Я не говорил, что нельзя написать на С++. Более чем можно, вот только каждый костыляет себе подобное тому что вы скинули, а ведь там куча проблем и это не "скейлится", когда надо будет написать ещё 1 тип. И вот это и нужно добавить в стандартную библиотеку

Вот моя библиотека для этого:

https://github.com/kelbon/AnyAny

void fire_mouse_move(int x, int y, std::function<void(int x, int y))

Название параметра забыли? Или вызывается внешняя переменная on_mouse_move? А зачем тогда параметр типа std::function<...>? Еще и закрывающей > нет.

Спасибо, поправил. Параметра быть там не должно. Это пример из исходного пропозала.

Этот код просто не скомпилируется:

получается мотивацией было чтобы такой код компилировался? И как то не совсем понятно как он связан с тремя примерами выше.

Мне одному кажется, что код там совершенно не читаемый?

Если хотелось программировать с помощью скобочек, загагулинок, точек, черточек разного наклона надо было PERL развивать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории