Size: a a a

2020 August 17

ПК

Побитый Кирпич... in pro.cxx
Sergey Tarasov
Спасибо, но не то... (
Ок, раз уж заговорили про итерацию не по элементам, а по типам: есть ли что-то готовое? По идее нужно раскрытие variadic template в порядке справа налево. Пример:
https://godbolt.org/z/ETMK5j только вызов в обратном порядке... В mp11 такое есть, но там нужен дефолтный конструктор и предполагается вызов функции с соответствующим сконструированным объектом, а нужно просто вызов некой шаблонной функции с типом из списка шаблонных параметров...
Короче перепиши свой пример на использование index_sequence<I...>, делай fold по I - это индекс по нему ты можешь получить тип в списке (если тебе именно типы нужны).

Теперь задача сводится к тому чтобы сконструировать index_sequence<N-1, N-2, ..., 0>. Это можно сделать чуть чуть изменив реализацию std::make_index_sequence, которая в прямом порядке индексы строит, чтоб строила в обратном
источник

VK

Valentin Kornienko in pro.cxx
Sergey Tarasov
Всем привет! В boost mp11/fusion/hana есть что-нить вроде reverse_for_each ? Задача: нужен обратный цикл (итератор) по элементам std::tuple? В mp11 даже нет нормального for_each, в fusion и hana есть, но только прямой. Можно конечно по-старинке - сделать реверс из подобного:

template<size_t Index = 0, typename TTuple, size_t Size = std::tuple_size_v<std::remove_reference_t<TTuple>>,
        typename TCallable, typename... TArgs>
void for_each(TTuple &&tuple, TCallable &&callable, TArgs &&... args) {
 if constexpr (
Index < Size) {
   std::invoke(callable, args..., std::get<
Index>(tuple));

   if constexpr (
Index + 1 < Size) {
     for_each<
Index + 1>(std::forward<TTuple>(tuple), std::forward<TCallable>(callable), std::forward<TArgs>(args)...);
   }
 }
}


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

VK

Valentin Kornienko in pro.cxx
@tarasov_sd там выше по коду чуть есть reverseArray, возможно это и для тапла подойдет, только вместо конструирования- просто std::invoke делать по-идее
источник

ПК

Побитый Кирпич... in pro.cxx
Ему нужен reverseApply
источник

VK

Valentin Kornienko in pro.cxx
Побитый Кирпич
Ему нужен reverseApply
std::integer_sequence сгенерить по-идее в другую сторону
источник

ПК

Побитый Кирпич... in pro.cxx
Valentin Kornienko
@tarasov_sd там выше по коду чуть есть reverseArray, возможно это и для тапла подойдет, только вместо конструирования- просто std::invoke делать по-идее
Кстати, да. Можно просто делать sizeof...(I) - I
источник

ПК

Побитый Кирпич... in pro.cxx
Valentin Kornienko
std::integer_sequence сгенерить по-идее в другую сторону
Походу можно оставить обычный
источник

VK

Valentin Kornienko in pro.cxx
Побитый Кирпич
Кстати, да. Можно просто делать sizeof...(I) - I
А. ну так да
источник

VK

Valentin Kornienko in pro.cxx
Так должно сработать
источник

AP

Antony Polukhin in pro.cxx
Sergey Tarasov
@antoshkka может подскажешь что?)
прям изкоробочного ничего нет, но в C++23 возможно проскочит работа с variadic pack как с массивом
auto [x...] seq = integer_sequance();
(initType<Types...[sizeof...(Types) - x]>(), ...);
источник

AL

Anton Lashkov in pro.cxx
Кто-нибудь пользуется сопрограммами из boost::asio (stackful, которые создаются через boost::asio::spawn), периодически всплывает проблема когда не хватает стека, например много стека могут отъедать вызовы функций сторонней библиотеки и заранее это неизвестно, и после разработки или  доработки кода  программа просто падает в некоторых случаях в процессе тестирования или в процессе уже работы. Приходится подгонять размер стека под конкретную сопрограмму. Так вот может кто-нибудь копал на тему автоматически расширяемого стека или каких-нибудь явных ассертов/исключений при нехватке стека (интересует под MSVC) чтобы это еще и как-то с boost::asio::spawn совместить?
источник

ER

Eyal Rozenberg in pro.cxx
Hello ProCXX group members...
источник

ER

Eyal Rozenberg in pro.cxx
I realize this is a Russian-focused group, but I did notice that the leha-bot group account, and homepage, link to the stacktrace standardization proposal. (After the account starred a repo of mine today.)
источник

ER

Eyal Rozenberg in pro.cxx
I'd like to draw your attention to my (small) initiative of de-boostifying Boost Stacktrace - to have again a standalone implementation of the stacktrace library by @antoshkka . It's here: https://github.com/eyalroz/stacktrace/
источник

ER

Eyal Rozenberg in pro.cxx
... and might benefit from a bit of interest/testing/bug reports etc.
источник

ER

Eyal Rozenberg in pro.cxx
Thanks and sorry for "crashing" your channel.
источник

AZ

Alexander Zaitsev in pro.cxx
Eyal Rozenberg
I'd like to draw your attention to my (small) initiative of de-boostifying Boost Stacktrace - to have again a standalone implementation of the stacktrace library by @antoshkka . It's here: https://github.com/eyalroz/stacktrace/
Cool! Thank you for the project a lot!
источник

A

Alex in pro.cxx
Eyal Rozenberg
I'd like to draw your attention to my (small) initiative of de-boostifying Boost Stacktrace - to have again a standalone implementation of the stacktrace library by @antoshkka . It's here: https://github.com/eyalroz/stacktrace/
That's very interesting, thanks, will check it out!
источник

ER

Eyal Rozenberg in pro.cxx
@zamazan4ik : Don't thank me until you use it and it works for you...
источник

AZ

Alexander Zaitsev in pro.cxx
😊
источник