LLAMA can only rearrange fields inside the record dimension, but considers the final types in the leaf-fields as atomic. We could consider changing that and allow LLAMA to even take apart user defined types. A good example for that would be std::optional<T>, which is basically a record consisting of a T and a bool. LLAMA could store those two pieces in different locations but always put them back together when loaded.
LLAMA can only rearrange fields inside the record dimension, but considers the final types in the leaf-fields as atomic. We could consider changing that and allow LLAMA to even take apart user defined types. A good example for that would be
std::optional<T>
, which is basically a record consisting of aT
and abool
. LLAMA could store those two pieces in different locations but always put them back together when loaded.