@ProCxx

Страница 2197 из 2477
Крис
13.07.2018
00:28:42
Делал, потому что было интересно как это работает. Насколько помню, нужно только begin, end, звездочку и ++. Практического опыта у меня мало, поэтому не могу сказать про причины. Но имхо, мне кажется это не сложно сделать если пишешь что-то похожее на контейнер. P.S. Сорри если вообще не по теме пишу. Я не знаю о чем шла речь до этого (не все читаю).
Ничего, это я из другого чата перекопировал(там мне видимо никто не смог бы помочь). Хотелось как раз узнать имеет ли смысл таким заниматся на практике. Тобишь, потратить время на синтаксический сахар(улучшить "инфраструктуру" проэкта) вместо решения существующих проблем, или написание "полезного" кода

Alex Фэils?︙
13.07.2018
00:37:12
Modern C++ Challenge
врде в книжной помойке была

Дмитрий
13.07.2018
00:39:14
Спасииибо, но я к реакту сочувствующий максимум ;)

Google
Alex Фэils?︙
13.07.2018
00:42:11
Так я и спрашиваю, почему требует
Там для команды нужно 512 бит данных (говорю по памяти, поэтому могу сказать не точно)

Спасииибо, но я к реакту сочувствующий максимум ;)
Ок, если найдешь упоротые регрессии или баги - пиши)

Дмитрий
13.07.2018
00:43:02
Удачи, коллеги)

Alex Фэils?︙
13.07.2018
00:53:59
А вот мне интересно стало, по поводу того for-range. Для того чтобы его можно было юзать для своего класса(не std-шного) мне нужно определить 2 метода begin и end, и для класса возвращаемого обьекта нужно перегрузить несколько операторов. Вопрос такой, стоит ли игра свеч? Парится так сильно из-за, грубо говоря, синтаксического сахара в виде for-range? Занимался ли кто-то таким? Какие предпосылки могут быть для такого? Мне на ум приходит только итерация по наследникам std::container полиморфно через указатель на инстанс того же std::container. Какие еще могут быть разумные причины для такого? UPD: Прошу прощения за кросс-постинг...
1. Кмк, стоит, т.к. этот сахар упрощает код в большинстве случаев; Как хочешь, я вот свои древние велики из vc6.0 апнул для range-based-for'ов давно при миграции на 2013; Да; Влом писать длинный заголовок классичесвого фора или если есть итервторы, то range-based-for поможет; Реализация зависит от структуры данных, мне обычно в моих частных тешениях хватало возврата указателя

Aidar
13.07.2018
06:19:00
К слову не обязательно члены begin и end, можно функции begin и end

Причем в твоей джаве то почти так же

Dmitry
13.07.2018
07:54:30
Интересно, почему в реализациях std деревьев (map/set etc.) не выносят перебалансировку rb tree в библиотеку? Вроде довольно толстые методы, от шаблонов не зависят.

Kitsu
13.07.2018
08:30:55
а чего не в Иннополисе?
а там много плюсовых разрабов?

Google
Alexey
13.07.2018
08:32:32
Да. Там вообще Евгений Зуев тусит

Alexander Alprog
13.07.2018
08:34:27
> Торопитесь, количество мест не ограничено!

:)

Sergey
13.07.2018
08:45:51
а чего не в Иннополисе?
Потому что в прошлом году из трёх докладчиков было 2 из Йошкар-Олы (а третий - из Москвы), а из аудитории не менее 50% было также из Йошкар-Олы.

Aidar
13.07.2018
08:47:11
Йошкар-Ола плюсоцентр России?

Alex Фэils?︙
13.07.2018
08:48:10
Как минимум, республики Марий Эл

Sergey
13.07.2018
08:48:11
У нас просто есть инициативные люди

Не только у нас, наверное, но встречу в Иннополисе пока никто не объявлял

мы хотели объявить, но Сергей Платонов спросил - может, уже пора в Йошкар-Оле

и мы осознали, что пора

Если кто-то с Иннополиса хотел бы приехать - будем рады гостям; заявки на доклады тоже с удовольствием рассмотрим - пока есть два свободных слота, на один из них нашли отличного кандидата :)

Aidar
13.07.2018
08:50:46
Жду первую конференцию в Самаре с аудиторией в 2.5 плюсовика

Sergey
13.07.2018
08:55:07
Возможно, малое число слушателей из Иннополиса связано с временем прошлых двух встреч - они проходили в начале июня, когда все студенты Иннополиса сдали сессию и укатили в родные края

Встреча в Йошкар-Оле не лишает возможности позже провести встречу в Иннополисе; если такая встреча будет проводиться - мы на неё приедем

Mikhail Voronov
13.07.2018
08:56:55
Aidar
13.07.2018
09:05:06
Mikhail Voronov
13.07.2018
09:07:53
Хм, а вы не из Самары?
даже с того же самого вуза

Серж
13.07.2018
09:38:11
на заводах и нии полно плюсовиков, в Самаре полно заводов и нии, все сходится

Аттрибутивно-ассоциативный ряд
13.07.2018
09:48:34
Google
Mikhail Voronov
13.07.2018
09:50:25
Из аэрокоса?
ага, но у нас уже совсем оффтоп

Aidar
13.07.2018
10:04:20
Омг кто вы почему я вас не знаю

Серж
13.07.2018
10:32:41
а почему ты их должен знать? ты смотрящий по плюсовикам в Самаре?

Alexander
13.07.2018
10:33:19
А кто за общак тогда отвечает?

Andrey
13.07.2018
10:39:12
А кто за общак тогда отвечает?
За стандарт и за библиотеку

Pavel
13.07.2018
11:15:54
твой канал?

Alexander
13.07.2018
11:17:49
при таких вбросах прошу сразу кастовать админов

так как бот не работает (спасибо @AlexFails )

Pavel
13.07.2018
11:18:49
да ладно, забавный был канал, вот можно было разосраться то... ух.. всёравно никто ничего не спрашивает

захостить вам бота?

Dmitry
13.07.2018
11:33:56
ceil2 первый шажок к легальным bit twiddling hacks? Битовая длина будет? ;)

О, ещё бы и кошерную запись в byte array little/big endian. Хотя для стандартизации всяческих методов сериализации может вообще нужен какой то легковесный byte stream. Если не заморачиваться на прям вот потоковую сущность, может вся виртуализация сведётся к virtual resize, с overflow error по умолчанию.

Интерфейс не потока но буфера и поверх него обертки для всяческих binary/string сериализаций.

Много что может предоставить интерфейс буфера, хоть стековый массив, хоть std string. А сериализация через подобный интерфейс была бы более реюзабельна чем std to_string например.

Я просто велосипедостроитель, это немножко на личном опыте. Буфер (интерфейс буфера) это указатель плюс позиция и размер. Аллокатор, политика ресайзинга, это всё снаружи, по вкусу. Поверх обёртка, с мелочью всякой, push(byte), push(string_view) и т.п. В двух вариантах, safe/unsafe. Чтобы меньше проверок, buf.ensure(4); buf.push1(1, 2, 3, 4); или buf.s_push4(0x01020304) .

А обертки для стандартных контейнеров под этот интерфейс уже даже предложили примерно, это string/vector dynamic buffer из networking TS.

Только header only направленность не позволяет в этом месте ввести интерфейс, потому концепт.

Серж
13.07.2018
12:10:36
ты это к чему?

а до этого header only направленность через шаблоны интерфейс не позволяла задавать?

Dmitry
13.07.2018
12:15:56
К тому что интерфейс сериализации может быть существенно облегчен.

Google
Серж
13.07.2018
12:16:40
да, надо только рефлексию сделать

Dmitry
13.07.2018
12:16:45
Есть вообще

Xessao
13.07.2018
12:18:24
Кстати, чо там с рефлексией в C++20?

Побитый
13.07.2018
12:18:31
Xessao
13.07.2018
12:18:43
Ну йобана рот.

Побитый
13.07.2018
12:19:08
Ну йобана рот.
Вроде как в С++23 собираются

Dmitry
13.07.2018
12:19:33
да, надо только рефлексию сделать
Не надо, сериализация это не обязательно рефлексия и прочее. Как то и без рефлексии умудряются сетевые протоколы писать.

Серж
13.07.2018
12:20:59
а чем интерфейс потока отличается от интерфейса буфера?

и там и там есть память, есть каретка, есть оператор или метод поместить в память

Dmitry
13.07.2018
12:21:45
Он не окно, он не заморачивается с emit.

Побитый
13.07.2018
12:22:02
Не надо, сериализация это не обязательно рефлексия и прочее. Как то и без рефлексии умудряются сетевые протоколы писать.
С рефлексией по идее можно будет сделать универсальный сериализатор, который с любым типом сможет работать без доп кода

Серж
13.07.2018
12:23:09
наверное ты очень умный поцан, потому что я твои ответы не понимаю

Dmitry
13.07.2018
12:26:55
С рефлексией по идее можно будет сделать универсальный сериализатор, который с любым типом сможет работать без доп кода
Нет. Ну т.е. может и да (питоновских огурцов объелись штоле). Сериализация это всегда протокол, правила... Хотя я 'умный вроде поцан', лучше помолчу.

Побитый
13.07.2018
12:28:53
Нет. Ну т.е. может и да (питоновских огурцов объелись штоле). Сериализация это всегда протокол, правила... Хотя я 'умный вроде поцан', лучше помолчу.
Не питоновских, а шарповых :) где просто взял, пометил класс как сериализуемый и засериализовал хоть в xml, хоть в бинарник одной строчкой

Dmitry
13.07.2018
12:32:29
Не питоновских, а шарповых :) где просто взял, пометил класс как сериализуемый и засериализовал хоть в xml, хоть в бинарник одной строчкой
Эгегей, воруй-убивай. Только ж паблик свойства объекта, ну и там ещё атрибутами подмандрить можно... А в ASN.1 BER так же просто?

Серж
13.07.2018
12:33:07
в джаве через рефлексию приватные методы класса тестируют - этонорма

Серж
13.07.2018
12:34:25
poor-c++-man-рефлексия: REFLECTION(person, name, age) //define meta data

Побитый
13.07.2018
12:34:29
https://github.com/qicosmos/iguana Что-то типа этого?
Наверное да, но только без костылей типа макросов для рефлексии или кодогенерации. Плюс наверное там ограничения на сериализуемый тип.

Google
Dmitry
13.07.2018
12:34:33
Так потихоньку узнаем чего ждут от рефлексии в C++ :)

Серж
13.07.2018
12:35:02
а что за ceil2?

про который он говорил

Крис
13.07.2018
12:35:37
С рефлексией по идее можно будет сделать универсальный сериализатор, который с любым типом сможет работать без доп кода
А можно поподробней? Как с помощью рефлексии сделать универсальный сериализатор? Есть какие-то статьи на эту тему?

Побитый
13.07.2018
12:36:39
А можно поподробней? Как с помощью рефлексии сделать универсальный сериализатор? Есть какие-то статьи на эту тему?
Ну как в других языках - проходишься по всем членам и пишешь их в поток. Без рефлексии ты только с помощью какой нибудь магии типа magic-get Такое сможешь провернуть и то только для POD типов.

Igor
13.07.2018
12:36:52
Так потихоньку узнаем чего ждут от рефлексии в C++ :)
от неё все ждут разного, кто-то сериализации, кто-то метаклассов, а кто-то констекспровых проверок for (f : this->functions) assert(is_snake_case(f.name));

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