const static struct
{
Tu::InputId id;
std::initializer_list<Tu::InputState> states;
} AcceptableStateEvent[] = {
// Touch buttons
{Tu::InputId::TouchPower, {Tu::InputState::ShortPress, Tu::InputState::ShortRelease}},
{Tu::InputId::TouchSource, {Tu::InputState::ShortPress, Tu::InputState::ShortRelease}},
};
for (const auto &m : AcceptableStateEvent)
{
if (m.id == ie.id)
{
for (auto &e : m.states)
if (e == ie.state)
return ie;
}
}
return {};
}
```
блин, а ведь оно работало )) Как вообще тогда это можно заменить? span?
Нашел похожую проблему, где человек рассказывает про что-то подобное. https://schneide.blog/2019/12/09/stdinitializer_list-considered-evil/ Решил повторить на его примере, вот что gcc 10 и 11 показывется: https://godbolt.org/z/bqrGW8Mdx
Обсуждают сегодня