Андрей
Андрей
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
Андрей
Andrei
Если важно время поиска то unordered_map в данном случае будет решением лучше.
Sergey
Andrei
Плюс у тебя еще и дважды стринги хранятся.
Andrei
Ключевые.
Андрей
Andrei
Она стандартная. Выдает ответ по ключу не за логарифм как простой мэп, а за константу.
Андрей
Andrei
Andrei
В данном случае заменить в каком-то месте строчки на указатели.
Sergey
Какой будет самый правильный способ спарсить строку типа %Y.%m.%d %H:%M:%S во время, взять другое время меньше этого и рассчитать разницу в секундах?
Sergey
а то chrono + более старые time штуки в std и еще time.h
Sergey
и еще все мешается между собой
Андрей
Эм. Ладно, я буст не трогал. Походу хрень пишу. Сорян.
Andrei
Andrei
И потом к ним строятся только индексы.
Andrei
Можно построить легко один упорядоченный индекс и один хеш индекс
Andrei
Упорядоченный работает за одну индирекцию, хеш за две.
Андрей
Andrei
Andrei
У тебя много таких строчек?
Sergey
Всего одна
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
:3
Sergey
зачем-то второй stringstream
Sergey
надо переписать
Andrei
Сделай константый tm объект лучше
Sergey
ваще так и было
Sergey
я просто для конфы быстро изменил
Sergey
чтобы показать
Andrei
Ну вроде ок.
Anonymous
Square
Удивлён что про хэшмэп никто не написал кроме @AndreiC
Нахер эти огороды с векторами ....
🦥Alex Fails
хешмэп - первое, что пришло в голову
🦥Alex Fails
но я гулял по городу, и впадлу было много писать
Андрей
🦥Alex Fails
кто-н. октодеревья юзал?
Андрей
Andrei
Anonymous
релиз vscode 1.1