Size: a a a

2020 July 23

АК

Александр Караев... in supapro.cxx
Дмитрий
Да, числа и строки
Ответь на вопрос. Вот допустим ты смог написать функцию
??? f() {
 switch (type) {
   case INT: return value.as_int();
   case FLOAT: return value.as_float();
 }
}


Как ты собираешься её использовать?
источник

Д

Дмитрий in supapro.cxx
я думал auto val = f(INT) и БАЦ у меня int)
источник

AS

Anatoly Shirokov in supapro.cxx
Дмитрий
Да, числа и строки
выше я прочитал, что ты берешь входные данные, а дальше в массив байт превращаешь, так и превращай.
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Дмитрий
я думал auto val = f(INT) и БАЦ у меня int)
И БАЦ у тебя вариант 🤙
источник

АК

Александр Караев... in supapro.cxx
Дмитрий
я думал auto val = f(INT) и БАЦ у меня int)
Ты хотел сказать auto val = f(some_runtime_value_type)?
источник

AS

Anatoly Shirokov in supapro.cxx
Дмитрий
я думал auto val = f(INT) и БАЦ у меня int)
ух ты, а ты фантазер. может тебе действительно llvm jit :))
источник

Д

Дмитрий in supapro.cxx
Александр Караев
Ты хотел сказать auto val = f(some_runtime_value_type)?
да, точно, это всё портит)
источник

АК

Александр Караев... in supapro.cxx
Дмитрий
да, точно, это всё портит)
Продолжим. Вот допустим у тебя БАЦ и int. А что дальше ты будешь делать с value?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Дмитрий
я думал auto val = f(INT) и БАЦ у меня int)
А листов в ТЛВ нету?
источник

Д

Дмитрий in supapro.cxx
или obj.<map.at(some_runtime_value_type)::type>() и БАЦ у меня тип вывелся
источник

AS

Anatoly Shirokov in supapro.cxx
Дмитрий
или obj.<map.at(some_runtime_value_type)::type>() и БАЦ у меня тип вывелся
хорошо, вывелся, а дальше что
источник

ip

illya palkin in supapro.cxx
Я рад, что не один не понимаю зачем эта ф-я
источник

AS

Anatoly Shirokov in supapro.cxx
ну вот есть у тебя runtime id типа, есть какие-то данные соотвествующие этому типу, а дальше?
источник

АК

Александр Караев... in supapro.cxx
illya palkin
Я рад, что не один не понимаю зачем эта ф-я
Желание иметь такой маппинг - очень здравое, просто нужно продолжить свою мысль и понять, что нужно сделать все наоборот :)
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Дмитрий
или obj.<map.at(some_runtime_value_type)::type>() и БАЦ у меня тип вывелся
Я уже кидал ссылку 👍
источник

Д

Дмитрий in supapro.cxx
Anatoly Shirokov
хорошо, вывелся, а дальше что
т.к я прочитал данные, у меня есть индфикатор типа и массив байт.  Я думал как бы по этому индификатору сразу значение получить с нужным типом, саму переменную уже в разных целях использовать))
источник

AS

Anatoly Shirokov in supapro.cxx
Дмитрий
т.к я прочитал данные, у меня есть индфикатор типа и массив байт.  Я думал как бы по этому индификатору сразу значение получить с нужным типом, саму переменную уже в разных целях использовать))
вот такой вариант плох
 std::visit(overloaded {
           [](auto arg) { std::cout << arg << ' '; },
           [](double arg) { std::cout << std::fixed << arg << ' '; },
           [](const std::string& arg) { std::cout << std::quoted(arg) << ' '; },
       }, v);

?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Дмитрий
т.к я прочитал данные, у меня есть индфикатор типа и массив байт.  Я думал как бы по этому индификатору сразу значение получить с нужным типом, саму переменную уже в разных целях использовать))
Если очень хочешь можешь сделать обертку над вариантом, которая будет неявно ко всему подряд приводится
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
И получишь
int val = f(INT)
источник

Д

Дмитрий in supapro.cxx
Я не мог придумать нормально решение, как это красиво написать. В том же nlohmann json мы при парсинге наперед не знаем типы, поэтому приходится писать различные проверки, но я то знаю какой у меня тип в массиве лежит, как этим правильно воспользоваться?
источник