Berkus
tdesktop/Telegram/SourceFiles/settings.h:139:10: warning: enumeration values 'dbisAuto', 'dbisOne', and 'dbisScaleCount' not handled in switch [-Wswitch]
switch (cScale()) {
^
нде, кодец там конечно
🦥Alex Fails
🦥Alex Fails
Berkus
это unrelated
Berkus
Во
посмотри пока изменения, скажи если надо что-то по другому лучше сделать, пока сделаю паузу https://github.com/berkus/tdesktop/tree/cmakeify
🦥Alex Fails
Berkus
там wip ветка, потом переорганизую все коммиты как положено
Berkus
я завтра еще буду генераторы добивать, они там кучу сорсов еще производят из стайл-файлов
🦥Alex Fails
О, отл
Square
Пофладить идите во @fludpac
Anton
Народ есть вопросик... Как по феншую можно хранить объекты класса std::function? Кейс такой, что есть список обработчиков(обычные функции), которые должны храниться и при определенном условии выполняться каждая в отдельном потоке. Я хочу их складывать в std::set«std::function» чтобы потом доставать оттуда и выполнять.
Крылатый
unordered_map тут полущ будет, разве нет?
Крылатый
Или как доставать собираешься?
Anton
ну контейнер меня мало пока волнует. там по 3 обработчика на контейнер будет. больше замануха с std::function сейчас интересует
Dr. Friedrich
Я бы тупо в вектор сложил. Ну и, да, вполне нормально складывать std::function для дальнейшего использования.
Aleksei
Так в чем вопрос-то? В выборе конкретного контейнера?
Крылатый
Там разве что в перфомансе слегка проигрыш. Но не шибко большой.
Крылатый
Можно свой фугкщон написать.
Крылатый
Функшон*
Anton
а передавать "указатель" на функцию через лямбду? или есть какие-то варианты поинтереснее? можно через struct с переопределенным оператором () еще
Square
Nikita
Anton
не понятно наверное написал))) Короче есть метод класса, которому надо передавать функцию(по факту объект класса std::function) и этот метод уже положит std::function в контейнер. И где-то в другом методе уже выполняются эти std::function's
Крылатый
Nikita
Словарь-то зачем?
Крылатый
Шобы было.
Anton
вопрос как красиво из обычной функции сделать std::function и передать его в функцию(по ссылке наверное). Ну и сами объекты std::function они в контейнере по ссылкам лежат?
Nikita
Dr. Friedrich
Dr. Friedrich
В данном случае, я имею в виду.
Anton
Anton
http://en.cppreference.com/w/cpp/utility/functional/function
Aleksei
Anton
вот тут есть пример как берут print_num и через лямбду делают std::function
Anton
не нравится))
Alexey
/help@FailsBot
Крылатый
FailsBot
USAGE:
/help - prints this message;
/vzhuh [message] - do vzhuh;
/start - info about bot.
Anton
Метода пока нет. только думаю. метод AddHandler (берет ЧТО_ТО. хз что). Внутри этот метод должен сделать контейнер из std::function
Aleksei
Aleksei
ну так и принимай сразу function
Aleksei
почему?
Anton
у меня изначально есть сишные функции. прям реально сишные))
Anton
их много. трогать их не буду.
Aleksei
так там и есть сишная
Anton
ну там же структура
Anton
аааа, блин. первый в main который идет. да все
Aleksei
void print_num(int i)
{
std::cout << i << '\n';
}
std::function<void(int)> f_display = print_num;
f_display(-9);
Aleksei
где струкрута?
Anton
протупил)) вверху. я сверху читал пример,а не с начала main функции))
Anton
ну т.е. вообще халява получается, определяем AddWatcher(std::function<void(int)>). И просто даем ему обычные простые функции.
🦥Alex Fails
Ага
Aleksei
Поэтому и не был понятен вопрос
Anton
Да я блин перемудрил чето. Все же вон по примеру прям.)) Спасибо!
Anton
А контейнер set навреное возьму. Простое спасение от дубликатов
Aleksei
А зачем от дубликатов спасаться? Захотел кто-то дважды колбек получать - пусть получает
Anton
не должен хотеть дважды в одном наборе обработчиков. Это прям жесткое условие. А пользоваться этим куском будут так, что всякое будут туда пихать))
Berkus
Berkus
Berkus
std::function враппит функтор, то есть в принципе всё, что имеет operator() - функции, лямбды, структуры и классы с таким оператором
🦥Alex Fails
🦥Alex Fails
/staff
Kanat
На андроид есть компилятор с плюс плюс
Berkus
есть, в составе android-ndk
Berkus
бери ndk-r13b там уже c++14
Светомеч
На самом андроиде есть офигенная штука от Ромы
Светомеч
Рекомендую "C4droid - C/C++ compiler & IDE"
https://play.google.com/store/apps/details?id=com.n0n3m4.droidc
Berkus
о, прикольно, надо посмотреть будет, спасибо!
Светомеч
Даже куте поддерживает
🦥Alex Fails
Да, давно видел эту штуку на 4пда. Крутая, но терминал в итоге понравился больше
Anonymous
Термух тема реальнее
Andrei
Andrei
Но не всё можно запихнуть в std::function.
Andrei
Andrei
std::function не обернет movable-only объект.
Andrei
У std::function сторейджа под них нет.