| 1329 | |
| 1330 | template <typename T, size_t idx> |
| 1331 | void set(T val, size_t align) { |
| 1332 | static_assert(std::is_same_v<NthType<idx>, T>); |
| 1333 | index = idx; |
| 1334 | new(data.data + align) T(val); |
| 1335 | } |
| 1336 | template <typename T, size_t idx> |
| 1337 | static TVariant create(T val, size_t align) { |
| 1338 | TVariant var; |