Size: a a a

cxx.Дискуссионная

2020 April 23

Е

Егор in cxx.Дискуссионная
Ostrich Corpsе
Они выглядят как кавказские школьники.
Неправда, я орк шаман ветки совершенствования
источник

АК

Александр Караев... in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
Ну ок, для сериализации ок. Для десериализации сеттер не нужен, чуть позже накидаю пример
У меня через маппинг рантайм в компайл-тайм индекс сделано уже. Вопрос в том, что вариант мог бы иметь какой-то конструктор из индекса (рантайм) и фабрики <size_t> -> i-й тип
источник

O

Ostrich Corpsе in cxx.Дискуссионная
Roy Mustang
0.5 из 100?
Как ты сравнил 0.5 и 100?
источник

O

Ostrich Corpsе in cxx.Дискуссионная
Ясно прата не читал
источник

RM

Roy Mustang in cxx.Дискуссионная
Ostrich Corpsе
Как ты сравнил 0.5 и 100?
Кастанул
источник

O

Ostrich Corpsе in cxx.Дискуссионная
Не вижу
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
Roy Mustang
0.5 из 100?
Из 3.40282347E+38
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Александр Караев
У меня через маппинг рантайм в компайл-тайм индекс сделано уже. Вопрос в том, что вариант мог бы иметь какой-то конструктор из индекса (рантайм) и фабрики <size_t> -> i-й тип
Можно завести массив коллбеков, через folding expression в одну строчку построить
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
Мы же о плюсовиках говорим
источник

RM

Roy Mustang in cxx.Дискуссионная
Не видишь - воспользуйте этим пособием
источник

RM

Roy Mustang in cxx.Дискуссионная
Егор
ему чтоб видеть нужно себе сосать или ему просто глаза не нарисовали на первых двух слайдах?
Отсылка
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
Можно завести массив коллбеков, через folding expression в одну строчку построить
Будут читать и variant<...> возвращать. По i-му индексу коллбек работает с i-й позицией в списке типов внутри параметров variant
источник

RM

Roy Mustang in cxx.Дискуссионная
Эх, Серега, ты же не был таким, с Тиллем связался и испортился что ли?
источник

АК

Александр Караев... in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
Можно завести массив коллбеков, через folding expression в одну строчку построить
Да я же говорю - смастерить можно несколькими способами, это не проблема. Проблема в том, что приходится делать это самому, не имея какого-то нативного интерфейса.
Тот же visit по факту мапит рантайм индекс в вызов коллбэка. Но при этом принимает целый объект, хотя могла быть перегрузка, принимающая именно индекс или около того
источник

RM

Roy Mustang in cxx.Дискуссионная
Александр Караев
Да я же говорю - смастерить можно несколькими способами, это не проблема. Проблема в том, что приходится делать это самому, не имея какого-то нативного интерфейса.
Тот же visit по факту мапит рантайм индекс в вызов коллбэка. Но при этом принимает целый объект, хотя могла быть перегрузка, принимающая именно индекс или около того
Вы чем заняты? Посвятите в детали
источник

АК

Александр Караев... in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
Будут читать и variant<...> возвращать. По i-му индексу коллбек работает с i-й позицией в списке типов внутри параметров variant
std::size_t index{};
serialization::from_binary(ar, index);

runtime_unroll<sizeof...(Args)>(index, [&]<std::size_t I>(std::integral_constant<std::size_t, I>) {
 using T = metal::at<metal::list<Args...>, metal::number<I>>;
 
 T value{};
 serialization::from_binary(ar, value);
 v = std::move(value);
});

это текущая реализация, меня вполне устраивает
источник

O

Ofee in cxx.Дискуссионная
GNU/Плюшка
А поддержку тегов можно?
Следующим параметром
источник

АК

Александр Караев... in cxx.Дискуссионная
Roy Mustang
Вы чем заняты? Посвятите в детали
сериализуем варианты
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Александр Караев
std::size_t index{};
serialization::from_binary(ar, index);

runtime_unroll<sizeof...(Args)>(index, [&]<std::size_t I>(std::integral_constant<std::size_t, I>) {
 using T = metal::at<metal::list<Args...>, metal::number<I>>;
 
 T value{};
 serialization::from_binary(ar, value);
 v = std::move(value);
});

это текущая реализация, меня вполне устраивает
Ну вот, вполне без сеттера для index живётся
источник

RM

Roy Mustang in cxx.Дискуссионная
Александр Караев
std::size_t index{};
serialization::from_binary(ar, index);

runtime_unroll<sizeof...(Args)>(index, [&]<std::size_t I>(std::integral_constant<std::size_t, I>) {
 using T = metal::at<metal::list<Args...>, metal::number<I>>;
 
 T value{};
 serialization::from_binary(ar, value);
 v = std::move(value);
});

это текущая реализация, меня вполне устраивает
а разве не нужно typename для шаблонных лямбд указывать перед тем как тип передавать?
источник