Андрей
Что посоветуете для хранения константных связанных строк. кроме map<string, string> ?
Забей, мальчику нравится выёбываться, что он хаскель знает.
Sergey
Ага
Sergey
Есть некая структура, так скажем
Sergey
порядок нельзя нарушать, само собой
Андрей
порядок нельзя нарушать, само собой
Список только. Больше никак.
Андрей
std::vector<std::pair<std::string, std::string> >
Андрей
Ненавижу плюсы за это)
Sergey
:D
Андрей
Тебе время поиска важно?
Sergey
Неа
Андрей
А, тогда используй просто вектор.
Андрей
Если важно будет время поиска, то добавь ещё std::map<std::string, std::vector< std::pair<std::string, std::string> >::size_type>
Sergey
Спс за советы
Андрей
Блин, сделал код корректным. Получилась жопа, ужас.
Sergey
Кто с chrono работал?
Sergey
std::chrono
pinnokio
я чуть-чуть работал)
pinnokio
а что с ним?
Andrei
Я работал.
Andrei
Со строчками верно сказали. Единственное добавлю, что pair может быть оверкилл
Andrei
Можешь просто свою структуру написать с двумя полями std::string
Andrei
Или хотя бы затайпдефить pair от двух стрингов.
Andrei
Если важно время поиска то unordered_map в данном случае будет решением лучше.
Sergey
а что с ним?
Уже ничего0
Andrei
Плюс у тебя еще и дважды стринги хранятся.
Andrei
Ключевые.
Андрей
Плюс у тебя еще и дважды стринги хранятся.
А как ты предлагаешь сделать в данном случае без оверхеда на хранение?
Andrei
Она стандартная. Выдает ответ по ключу не за логарифм как простой мэп, а за константу.
Andrei
В данном случае заменить в каком-то месте строчки на указатели.
Sergey
Какой будет самый правильный способ спарсить строку типа %Y.%m.%d %H:%M:%S во время, взять другое время меньше этого и рассчитать разницу в секундах?
Андрей
Оверкилловое решение boost::multi_index
Эм, а как ты сделаешь с контантой на поиск и с сохранением порядка?
Sergey
а то chrono + более старые time штуки в std и еще time.h
Sergey
и еще все мешается между собой
Андрей
Эм. Ладно, я буст не трогал. Походу хрень пишу. Сорян.
Andrei
Эм. Ладно, я буст не трогал. Походу хрень пишу. Сорян.
Ну у тебя там элиминируются все повторения данных.
Andrei
И потом к ним строятся только индексы.
Andrei
Можно построить легко один упорядоченный индекс и один хеш индекс
Andrei
Упорядоченный работает за одну индирекцию, хеш за две.
Андрей
Можно построить легко один упорядоченный индекс и один хеш индекс
Ну, я попытался примерно ту же штуку сделать)
Andrei
У тебя много таких строчек?
Sergey
Всего одна
🦥Alex Fails
И потом к ним строятся только индексы.
Ятак строил сортировку статистики в проге со светом по столюцам
Sergey
Консольный параметр
Sergey
а ля -date "2015.05.09 22:55:13"
Andrei
Если да, то это просто через std::regex с последующим раскладыванием в std::tm делается.
Sergey
Нужно получить кол-во секунд с этого времени до кое-какого числа 04 месяца
Sergey
Ну я в принципе так и делаю
Andrei
Такой можно и без регекса тогда. Руками распарсь.
Sergey
ща
Andrei
Ну да. Ок решение.
Sergey
'string time_str = params[++i];    struct std::tm tm_from = { 0 };    struct std::tm tm_to = { 0 };    std::stringstream ss(time_str);    ss >> std::get_time(&tm_from, "%Y.%m.%d %H:%M:%S");    auto tp = std::chrono::system_clock::from_time_t(std::mktime(&tm));        std::stringstream ss_buf(START_TIME);    ss_buf >> std::get_time(&tm_to, "%Y.%m.%d %H:%M:%S");    time_t to_t = mktime(&tm_to);    time_t from_t = mktime(&tm_from);    double diff = difftime(to_t, from_t);'
Andrei
Ятак строил сортировку статистики в проге со светом по столюцам
Ну вот. Есть более менее общепринятое решение буст мультииндекс. Но он конечно тяжеловат. Предпочитаю самому писать.
Andrei
В следующий рад лучше на пастебин.
Andrei
:3
Sergey
зачем-то второй stringstream
Sergey
надо переписать
Andrei
Сделай константый tm объект лучше
Sergey
ваще так и было
Sergey
я просто для конфы быстро изменил
Sergey
чтобы показать
Andrei
Ну вроде ок.
Anonymous
Square
Удивлён что про хэшмэп никто не написал кроме @AndreiC Нахер эти огороды с векторами ....
🦥Alex Fails
хешмэп - первое, что пришло в голову
🦥Alex Fails
но я гулял по городу, и впадлу было много писать
Square
Разве в хешмепе есть порядок?
Сорян, я слагал, контекста задачи не увидел - спросонья написал :)
🦥Alex Fails
кто-н. октодеревья юзал?
Андрей
кто-н. октодеревья юзал?
А в чём вопрос то?
Andrei
Разве в хешмепе есть порядок?
Нет. Просто там вопрос был про если все таки поиск нужен
Андрей
Нет. Просто там вопрос был про если все таки поиск нужен
Ну вот. Ему нужно было иттерироваться в том же порядке, поэтому пришлось такой костыль городить.
Anonymous
релиз vscode 1.1