Size: a a a

2020 April 17

AZ

Alexander Zaitsev in pro.cxx
Ivan Azoyan
Где админы вообще?
?
источник

IA

Ivan Azoyan in pro.cxx
Вот ты мне расскажи
источник

IA

Igor Akhmetov in pro.cxx
Вот это подкат.
источник

AZ

Alexander Zaitsev in pro.cxx
Ivan Azoyan
Вот ты мне расскажи
что рассказать?
источник

IA

Ivan Azoyan in pro.cxx
Ivan Azoyan
Короткий, вопрос. Когда приходишь в цикле по std::variant и вызываешь метод, вызывается он у конкретного типа. А как диспетчеризируется в конкретный тип? У std::variant а конструкторе тегом помечается конкретный тип?
☝️
источник

A

Alex in pro.cxx
Не пойму. Если я передам в std::map свой кастомный аллокатор, он же должен использоваться и для выделения нод, то есть служебных данных? Но он не может для этого использоваться, потому что тип аллокатора - allocator<std::pair<const Key, T> >
источник

m

magras in pro.cxx
Alex
Не пойму. Если я передам в std::map свой кастомный аллокатор, он же должен использоваться и для выделения нод, то есть служебных данных? Но он не может для этого использоваться, потому что тип аллокатора - allocator<std::pair<const Key, T> >
rebind
источник

A

Alex in pro.cxx
интересно, но deprecated
источник

ПК

Побитый Кирпич in pro.cxx
Ivan Azoyan
В смысле с перебором, там же Юнион под ним
Там не юнион
источник

IA

Ivan Azoyan in pro.cxx
Побитый Кирпич
Там не юнион
А что?
источник

v

vehlwn in pro.cxx
Ivan Azoyan
А что?
источник

IA

Ivan Azoyan in pro.cxx
Там чё, всё типы лежат друг за дружкой? И смещения хранятся?
источник

v

vehlwn in pro.cxx
Ivan Azoyan
Там чё, всё типы лежат друг за дружкой? И смещения хранятся?
Нет. Это юнион с выравниванием самого большого типа.
источник

IA

Ivan Azoyan in pro.cxx
Юнион и так выравнивается по самому большому типу
источник

v

vehlwn in pro.cxx
Ivan Azoyan
Юнион и так выравнивается по самому большому типу
Вариант вычисляет выравнивание и передает в алигнед стораж.
источник

IA

Ivan Azoyan in pro.cxx
Как диспетчеризируется?
источник

NP

Nikita Provotorov in pro.cxx
Ivan Azoyan
В смысле с перебором, там же Юнион под ним
Насколько я знаю не простой перебор а бинарный поиск
источник

IA

Ivan Azoyan in pro.cxx
Окей) как ищется?)
источник

SS

Sergey Skvortsov in pro.cxx
Побитый Кирпич
Там не юнион
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/variant#L335-L352
Ну не везде
Это одна из баз в цепочке наследований variant
источник

NP

Nikita Provotorov in pro.cxx
Ivan Azoyan
Окей) как ищется?)
Как в реальных имплементациях ищется я не знаю но могу предложить работающий способ
источник