@ProCxx

Страница 993 из 2477
Маришка
21.06.2017
11:36:50
А смысл от чистки истории чятика?

Matway
21.06.2017
11:37:26
Итог бенчмарка std::variant vs. switch-based variant, Clang/C2 3.8, x86, синтетический пример (выше): std::variant - 27.689 s switch variant - 13.487 s

В два раза.

Alex Фэils?︙
21.06.2017
11:37:43
А смысл от чистки истории чятика?
Я чат перечитываю и тырю интересные фичи на статьи

Google
Alex Фэils?︙
21.06.2017
11:38:46
Хитрец)
*с указанием авторства. Алсо @xthon.

Маришка
21.06.2017
11:40:33
Danila
21.06.2017
11:44:14
/rules

Anatoly
21.06.2017
11:44:59
/rules
а упоминание rules в суе относится к флуду?

Danila
21.06.2017
11:45:35
а шут его знает

Дед Пегас
21.06.2017
11:46:37
/rules

Group Butler [beta]
21.06.2017
11:46:38
/rules
Правила 0. Язык чата — русский. The chat's language is Russian. 1. Простые вопросы (к примеру, о базовом синтаксисе языка, или от новичков в C/C++) , лабы, "помогите с задачкой" и о IDE — в чат новичков: https://telegram.me/joinchat/BYlFbD3eN3JMaG34hyh96w 2. Не хамим, не переходим на личности, не вбрасываем утверждения без доказательств (для этого есть pro.cxx.holywars — https://telegram.me/joinchat/BYlFbECi8UKU0bCqc7jWlQ и @flood); 2.0. Не поддавайтесь на провокации, а лучше репортите, написав в реплае @admin. 2.1. Не делайте ложных доносов на людей, и не "пингуйте" администраторов чата зря; 2.2. Не разводите срачи/холивары в этом чате. За разведение срача администрация банит без предупреждения; 3. Не надо оффтопить в этом чате и флудить (в частности не рекомендуется писать кучу мелких сообщений); 3.0. Не стоит злоупотреблять стикерами и (или) кидать их без всякой причины; 3.1. Голосовые сообщения в этом чате запрещены; 4. Вы можете спросить тематический чат, и вам, по возможности, его подскажут (также можно ввести команду #chatlist, и бот вам напишет списочек известных чатов) 5. Все вакансии, реклама и добавление своего чатика в списочек известных чатов — по согласованию с @AlexFails; 6. Нарушители сначала получают предупреждение, а затем, в случае рецидива, бан на срок от 1 дня до бесконечности. Все правила - /rules.

Alex Фэils?︙
21.06.2017
11:47:57
а упоминание rules в суе относится к флуду?
Лучше много раз не нажимать, да

Готово

/rules
Он не-админам пишет в личку

Google
reagentoo
21.06.2017
13:47:13
https://www.youtube.com/watch?v=3KyW5Ve3LtI ы
ничего не понял про overload_set. говно какое-то через наследование

кстати, сейчас std::variant генерит таблицу с указателями на конструкторы/деструкторы/операторы?

или через рекурсию запилено

https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/variant

вроде запилили через таблицу _S_vtable

но как же это ужасно смотреть

...

кому нраица код то вообще?

помоему месево безумное

std сочиняет сам сатана

Дед Пегас
21.06.2017
15:23:39
Да, пишут его упорки.

Владислав
21.06.2017
15:24:27
а это типо супероптимизированный код? Или они просто колдуны?

Simon
21.06.2017
15:25:00
суперколдуны-упорки

Владислав
21.06.2017
15:25:12
просто как не глянешь так сразу самооценка падает

Дед Пегас
21.06.2017
15:25:12
Они просто упорки + много лет поддержки кодовой базы.

Alexander
21.06.2017
15:25:34
ну-ка, конан мастера - можно заставить тянуть conan пакеты с определённого адреса?

Simon
21.06.2017
15:25:48
пишешь в течение 10+ лет в 3 стандарте плюсов новые фичи

Alexander
21.06.2017
15:25:52
то есть каждому пакету присвоить ссылку, откуда стоит его брать?

reagentoo
21.06.2017
15:26:08
Да, пишут его упорки.
"Упорки" звучит как комплемент. Я бы их чуток подругому назвал.

Google
Constantine
21.06.2017
15:26:41
"Упорки" звучит как комплемент. Я бы их чуток подругому назвал.
Ага, а потом сидишь, думаешь как написать и понимаешь, что челики что-то знают

Alexander
21.06.2017
15:26:46
Можно.
как, не подскажешь?

А вот это хз.
так, а как ты хотел? просто на левом адресе серв поднять, чтобы он у себя пакеты зранил - такое умею

Constantine
21.06.2017
15:27:35
Знают как превратить жизнь в ад?
Не, большинство хаков оказывается НА САМОМ ДЕЛЕ НУЖНО

Alexander
21.06.2017
15:28:20
смысл в том, чтобы conan мог тянуть пакеты, которые уже лежат на svn

Дед Пегас
21.06.2017
15:28:58
неа, это не то
Почему? Потом в conan install -r можно указать ремоунт нужный для пакета

ремоут*

Surreal
21.06.2017
15:29:36
а это типо супероптимизированный код? Или они просто колдуны?
Не супер, но оптимизированный. В некоторых алгоритмах даже ручной луп анролл есть.

Constantine
21.06.2017
15:30:05
тут оффтоп вопрос, безымянный неймспейс будет значить internal linkage для функции?

Alexander
21.06.2017
15:33:10
Или это не то?
смотри, что я хотел сделать: есть файл conanfile.txt. В нём записаны зависимости в таком виде: [i_forgot_this_keyword] my_supa_lib/bla-bla svn://bla-bla-bla-link my_supa_lib2/bla-bla svn://bla-bla-bla2-link После этого я пишу conan install, и он мне сам вытягивает пакеты с уже указаннах путей

Admin
ERROR: S client not available

Antony
21.06.2017
15:33:29
а это типо супероптимизированный код? Или они просто колдуны?
static constexpr void (*_S_vtable[])(void*, void*) = { &__detail::__variant::__erased_swap<_Types&, _Types&>... }; Круто! В первый раз вижу эту магию на практике

надо в Boost.Variant так же сделать

Google
Владислав
21.06.2017
15:35:08
я нипанимать

Constantine
21.06.2017
15:35:09
можно ли написать макрос с именем неймспейса и обращением так, чтобы ничего не поломалось для безымянного? :)

Antony
21.06.2017
15:37:55
что за кромешный ад...
constexpr массив из указателей на type erased функции

constexpr массив из указателей на type erased функции
вместо рекурсии или switch будет получение нужной функции по индексу и её выполнение

Alexander
21.06.2017
15:38:58
не моуг найти про это ничего в документации. Как я понимаю, у них изначально подразумевается, что хранение происходжит именно там, где установлен conan_server

Constantine
21.06.2017
15:42:09
О! Antony. Слушай, а какие есть продводные камни в 1. Разрешить forward declaration для nested class простейшим синтаксисом class Some; class Some::Nested; 2. Разрешить forward declaration с указанием предков, при этом если предок не один, то _все они_ не могут быть incomplete type. class Base; class Derived: public Base;

Arseny
21.06.2017
15:58:23
См. folly::Future
Да, я примерно такой подход и имел в виду.

reagentoo
21.06.2017
16:22:35
а без воидов заэкспандить не осилили

Antony
21.06.2017
16:43:26
что именно ты видишь, разжуй плз
// Из этого создастся куча функций, см ниже template<typename _Lhs, typename _Rhs> void __erased_swap(void* __lhs, void* __rhs) { using std::swap; swap(static_cast<_Lhs>(*__lhs), static_cast<_Rhs>(*__rhs)); } void variant<_Types>::swap(variant<_Types>& other_variant) { ... // this.index() == other_variant.index() using func_ptr_t = void(*)(void*, void*); // массив функций static constexpr func_ptr_t _S_vtable[] = { &__erased_swap<_Types&, _Types&>... }; func_ptr_t required_ptr = _S_vtable[this->index()]; // находим нужную функцию required_ptr(this->storage(), other_variant.storage()); // вызываем её }

Antony
21.06.2017
16:47:32
для каждого типа, который может хранить данный variant

reagentoo
21.06.2017
16:47:56
Google
reagentoo
21.06.2017
16:49:10
в моем велосипеде тоже через кучу функций https://github.com/reagentoo/libcxx/blob/master/include/variant.h#L192

Antony
21.06.2017
16:54:44
+1

Matway
21.06.2017
16:58:52
Мне пришлось полностью выкинуть variant нафиг. Выиграл 25% производительности.

Страница 993 из 2477