Крылатый
Напилить и заюзать не такая и проблема.
Крылатый
Но пахнет невкусно.
ttldtor
делать нативными однобайтовые строки - это бред
Anonymous
А не надо его нативным делать
Надо перегрузку разрешать
Крылатый
Учитывая, что строка известна на этапе компиляции, то почему не юзать её как параметр шаблона? Ну, шобы нативно.
Anonymous
А еще
babysitter
Типо "45$6@7)" - не new char[8] а myType("45$6@7")
ты такой странный. почему не написать юзер литерал и все. "45$6@7)" = char* , а "45$6@7)"_mt = myType
Крылатый
Можно const char* юзать (геморрой тот еще)
Разве можно const char* юзать как параметр шаблона?)
Anonymous
все фундаментальные типы можно юзать как non-type template parameter
Vladislav
Разве можно const char* юзать как параметр шаблона?)
можно, но нельзя в него "посмотреть"
Anonymous
Я хочу Что бы у меня {1, 2} было не std::initializer_list<int>, а че нить другое
babysitter
Я хочу Что бы у меня {1, 2} было не std::initializer_list<int>, а че нить другое
ладно, для фигурных скобок это хотя бы имеет какой-то смысл
Anonymous
И для строк тоже
babysitter
нет, для строк есть кастомные литералы. что-то я устал это повторять
Anonymous
И может я свой-особый инт хочу
babysitter
инт аналогично
Anonymous
А аообще C++ -
ttldtor
кто-то перегрузил слово "перегрузить"
Anonymous
Опечатка
ttldtor
Форт
Vladislav
Я хочу Что бы у меня {1, 2} было не std::initializer_list<int>, а че нить другое
с initializer_list вообще беда сейчас например: vector<int> a = {1, 2, 3}; auto b = std::vector{std::move(a)};
babysitter
А в чём проблема-то? ( О_о )
он имеет в виду, что нельзя сказать сказать вот этот future - это сумма двух других future. сначала должны посчитаться все future которые нужны, а потом только выполнена операция
Denis
Опа, а как удалять сообщения?
Denis
std::future<int> res = std::async( [&]() { return a.get() + b.get(); } );
Vladislav
ttldtor
И может я свой-особый инт хочу
да, тебя точно спасёт https://en.wikipedia.org/wiki/Forth_(programming_language)
babysitter
std::future<int> res = std::async( [&]() { return a.get() + b.get(); } );
щас подумаю, я пересказываю то, что слышал просто. звучит логично
Vladislav
и это будет busy waiting
то есть твой callback займет один thread из threadpool'а и будет его держать пока a и b не досчитаются
babysitter
http://cppcast.com/2015/04/hartmut-kaiser/
Vladislav
для сравнения, с folly::Future будет folly::Future<int> a, b; auto c = collect(a, b).then([](std::tuple<int, int> args) { return get<0😠args) + get<1😠args); });
Vladislav
и выполнится колбек только когда оба значения уже готовы
ttldtor
ну, то есть в фолли нормальные фьючи и обращение с ними, как в Scala
Vladislav
плюс можно указать, на каком executor выполнять callback
Denis
то есть твой callback займет один thread из threadpool'а и будет его держать пока a и b не досчитаются
Ну в общем случае так и надо :) Но в идеале хочешь сказать что фьючерс res должен понимать что он ничего не сможет сделать пока не посчитается фьючерс a`и `b и не должен отжимать тред в пуле?
Vladislav
да, колбек должен быть вызван только когда все аргументы уже посчитались, до этого момента он не должен тратить ресурсы
Denis
collect(a, b).then О, я вот как раз хотел спросить можно ли как-то "подождать" пачку фьючерсов
ttldtor
да
а зависимостей у него прилично... ещё и гугло лог(
Vladislav
Denis
Да, не подождать. Хотел сказать, сделать then для пачки :)
Крылатый
Же
Denis
Не слыхал
Vladislav
when_all
только вот он даже не в c++17
ttldtor
C++23 ?)
Крылатый
C++20147
Vladislav
кроме того, у std::future какая-то ботва с error handling, на сколько я слышал (правда я не вникал)
Vladislav
C++20147
это в нем добавили расширенную поддержку квантовых вычислений?)
Крылатый
Но всё ещё осуществляется поддержка legacy C99 кода.
Крылатый
Вспоминается вскрики IBM о том, что будут убирать некоторые триграфы.
Крылатый
Блин, это же ужасно.
Крылатый
Зачем они нонче вообще...
Anonymous
Триграфы?
babysitter
кого-то они реально задолбали, раз их в 17 деприкейтят. слышал бывали коллизии
Крылатый
в коде ibm юзаются триграфы?
Судя по крику — да.
babysitter
Триграфы?
иди скомпиль int main(){<:]()<%[](){[:>()<%}();}();}();}
Anonymous
Лол
Andrey
потому что уже до экранирования их отрисовал
Борис
Коллеги! Нужно ваше субъективное мнение. Что будет через пару лет? Во что вкатываться? Что учить? Что будет на рынке? Считаю, что раст ещё не стрельнит. JVM с кложами? Живу в Москве. Релокейшн исключён (престарелые родители). Проектов по крестам мне хватит на 2 года точно. Дальше непонятно. Оставаться в крестах? Готов инвестировать год в изучение. Помимо крестов пишу на perl, ruby, go. Смотрю в сторону rust и jvm. Моя функциональщина застряла на common lisp, не моё, не математик я. Амбиции: точно не пойду в контору типа яндексов-мейлов, не пойду джуниуром (лучше кабачки буду сажать и кроликов разводить). Чего думаете?
Andrey
😄
Борис