21 constexpr
operator T ();
32 if constexpr (requires { T { any, any, any, any, any, any }; })
34 else if constexpr (requires { T { any, any, any, any, any }; })
36 else if constexpr (requires { T { any, any, any, any }; })
38 else if constexpr (requires { T { any, any, any }; })
40 else if constexpr (requires { T { any, any }; })
42 else if constexpr (requires { T { any }; })
45 static_assert (std::is_same_v<T, struct Dummy>,
"Don't know how to handle this type");
79 auto [a0, a1, a2] = item;
96 auto [a0, a1, a2, a3] = item;
115 auto [a0, a1, a2, a3, a4] = item;
136 auto [a0, a1, a2, a3, a4, a5] = item;
157 QVariant
GetField (
const T& item,
int idx)
159 return GetFieldImpl (item, idx, FC<GetFieldsCount<T> ()> {});
164 class FlatItemsModel :
public FlatItemsModelTypedBase<T>
167 using FlatItemsModelTypedBase<T>::FlatItemsModelTypedBase;
169 QVariant
GetData (
int row,
int col,
int role)
const override
172 return QVariant::fromValue (this->
Items_.at (row));
174 if (role != Qt::DisplayRole)