170 похожих чатов

Всем привет! Внезапно чо-то вспомнил старый и довольно глупый вопрос. Есть массив:

std::vector<std::future<SomeResource>> объектов, которые, собственно, могут быть загружены асинхронно или отложенно. Как хранить эти отложенно загруженные объекты? В своё время первое, что пришло в голову, было std::vector<std::variant<std::future<SomeResource>,SomeResource>>, но при всей моей любви к variant пользоваться этой штукой, кхм, не очень удобно.

Кто-нибудь подскажет более красивые способы? Или я вообще хочу чего-то странного?

6 ответов

6 просмотров

у тебя есть куча future, почему просто по ним не пройтись и не достать то что в них валяется?

Denis P
у тебя есть куча future, почему просто по ним не п...

А как к значениям потом обращаться когда ещё хочется почитать

Слава
А как к значениям потом обращаться когда ещё хочет...

что значит ещё почитать) ты везде get() вызвал и получил vector<T> условный

Denis P
что значит ещё почитать) ты везде get() вызвал и п...

Ну я про то, что ты хранишь вектор future, прочитал их. Тебе нужно их перекладывать в другой вектор. Проблема тогда когда у тебя это хранится как поле и нужно как-то эти вектора местами менять

Anton-Semenov Автор вопроса
Denis P
у тебя есть куча future, почему просто по ним не п...

ну, там дело было в том, что были важны порядковые номера объектов для доступа по индексу, и при этом запрашивать их могли, очевидно, много раз - загрузка происходила только в первый, или при инвалидации. То есть вариант "сразу запустить все таски и дождаться последнего" не подходит, а постепенная загрузка и выпихивание во второй массив загруженных объектов - вариант не сильно более красивый - в обоих в массивах будут появляться пустоты

Anton Semenov
ну, там дело было в том, что были важны порядковые...

это в любом случае лучше чем странные variant в векторе

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
10
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
это группа токсиков или тех кто помогает?
Ибрагим
9
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
8
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Добрый день! Хочу спросить совета. Хочется в скрипт добавить некую конструкцию, что скрипт создал файл, который нужно потом скопировать в определенное место. Нашел такой сп...
Mikhail
4
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта