
Aidar
18.08.2017
14:03:50
Хотя как-то сравнивать вектор с листом неочень

Alexander
18.08.2017
14:04:20

Aidar
18.08.2017
14:04:29
Не это ущербно выгляжит

Alexander
18.08.2017
14:04:38
почему?

Google

Aidar
18.08.2017
14:04:42
Вектор==лист

Alexander
18.08.2017
14:04:50
и?

Aidar
18.08.2017
14:05:03
Ну мне глаза режет
Лучше явно сравнивать тут

Alexander
18.08.2017
14:05:37
есть одно говно API, что возвращает вектор, второе говноAPI, что возвращает list интов. И я хочу сравнить без гемора и накладных расходов
пусть и режет, да. Но я привёл кейс, когда это было бы полезно

Aidar
18.08.2017
14:06:22
Да есть же std::equal

Alexander
18.08.2017
14:06:32
и хотлоесь бы без обмазывания говном левым

Aidar
18.08.2017
14:06:53
Это чистое имхо
Я высказался

Alexander
18.08.2017
14:07:06
ну да, тут два имхо ?

Aidar
18.08.2017
14:07:08
Мнение не изменю

Google

Alexander
18.08.2017
14:07:19
на самом деле холивар знатный получился бы
с другой стороны, я прекрасно понимаю твою точку зрения, так как явный std::equal выглядит нормально для сравнения абсолютно разного говна
https://habrahabr.ru/post/335920/

Александр
18.08.2017
14:13:48
Вообще похоже на хорошую идею для Proposal. Операторы сравнения описаны через lexicographical_compare, он позволяет работать с итераторами разных типов.
Только надо сделать нормальное сравнение не только для vector, а и для deque, list, forward_list и т.д.
Все контейнеры нужно охватить, это конечно. Вообще, ситуация с аллокаторами не только в операторах сравнения, а везде, где используются не итераторы, а контейнеры сами по себе. А может таких мест больше нет, не помню

Ilia
18.08.2017
14:18:41

Aidar
18.08.2017
14:19:01
Лол

Alexander
18.08.2017
14:19:03

Ilia
18.08.2017
14:20:12
А. уржаца уржаца...

Дед Пегас
18.08.2017
14:20:21
Ой вей.

Alexander
18.08.2017
14:20:31
вообще, Boost.Sort быстрее
а pdqsort вообще рвёт всех

Дед Пегас
18.08.2017
14:21:26
...хочу сортировку за O(n/2)...
ib4: шучу

Evgeniy
18.08.2017
14:22:39

Ilia
18.08.2017
14:25:44
Я знаю сортировку за O(1) !

Evgeniy
18.08.2017
14:27:57

Antony
18.08.2017
14:29:10

Google

Александр
18.08.2017
14:29:20
Вспомнил. Ещё надо разобраться с конструктором копирования и оператором присваивания. Им тоже никто не мешает иметь различные аллокаторы.
Для всех контейнеров

Antony
18.08.2017
14:29:45
Вот это опасно

Aidar
18.08.2017
14:30:05

Antony
18.08.2017
14:30:53

Александр
18.08.2017
14:31:02

Дед Пегас
18.08.2017
14:31:39

Александр
18.08.2017
14:41:38
Так доказано же, что в общем виде сортировок ниже n logn не может существовать?

Alexander
18.08.2017
14:43:50

Дед Пегас
18.08.2017
14:45:50
Ну за O(n) есть
Но там и железо специальное, ЕМНИП

Alexander
18.08.2017
14:46:01

Alexander
18.08.2017
14:46:08

Денис
18.08.2017
15:14:08
Вопрос. Есть вот такой код.
template<typename T, typename X>
struct pField
{
typedef T X::* ptr_attr;
};
template<typename T>
struct SetterStruct{
std::map<std::string, pField<int, T>::ptr_attr> to_attrs_int;
}

Ilia
18.08.2017
15:14:33
Ну за O(n) есть
За O(n) есть карманная сортировка. Но она для специальных случаев значений. Т.е. что угодно ты так не отсортируешь.

Денис
18.08.2017
15:14:55
g++ ругается, что std::map ожидает тип, а получает какую-то хуйню. В чём может быть дело?

Alexander
18.08.2017
15:15:04

Google

Ilia
18.08.2017
15:15:29
Это как раз всё разновидности карманной сортировки

Alexander
18.08.2017
15:15:53

Admin
ERROR: S client not available

Ilia
18.08.2017
15:16:02
ага

Alexander
18.08.2017
15:16:06
окей, спасибо

Ilia
18.08.2017
15:16:44
Но там память нужна конечная ? O(n)

Aidar
18.08.2017
15:16:48

Alexander
18.08.2017
15:17:00
ну что ж поделать. чудес не бывает ведь

Денис
18.08.2017
15:18:54
как это ваще распарсить?
Короче pField задает тип - указатель на член структуры. А в SetterStruct будет мапа, с указателями на члены уже конкретной структуры.

Aidar
18.08.2017
15:19:10
да я понял ща чекну

Денис
18.08.2017
15:20:49

Aidar
18.08.2017
15:21:13
юзай using
вместо шаблона структуры с typedef
using умеет в шаблоны
и не нужно будет typename

Денис
18.08.2017
15:22:35
юзай using
Да, сначала был using и он ругался, и я и поменял на typedef.

Aidar
18.08.2017
15:22:43
нет
прям ваще struct снеси

Ilia
18.08.2017
15:23:20
@zamazan4ik , я так CONAN и не победил... POCO не грузит, SCUKO

Google

Aidar
18.08.2017
15:23:55
template<typename T, typename X>
using pField_t = T X::(*);
кажись так

Alexander
18.08.2017
15:24:26

Денис
18.08.2017
15:24:35
кажись так
Да. Я так как раз не хотел, потому что у меня указатели на члены с разными типами данных могут быть.

Aidar
18.08.2017
15:24:55
это не отличается от того что ты написал
у тебя тоже нельзя
там шаблон от двух типов
тут шаблон от двух типов

Денис
18.08.2017
15:26:29

Alexander
18.08.2017
15:48:42
Тут вот хотят уже <process> в Стандарте
помогите человеку)))