У меня есть структура (например, mystruct_s), в которой есть несколько структур одного типа (например, package_s) в разных иерархиях.
struct packet_s {
size:uint;
active:bool;
};
struct mystruct_s {
// packet struct paths:
// p
// q.p
// w.p
};
Я хотел бы создать экземпляр mystruct_s и обеспечить, чтобы сумма размеров всех активных пакетов была меньше 1 КБ.
var s : mystruct_s;
gen s keeping {
// it.p.size (if it.p.active) + it.q.p.size (if it.q.p.active) + it.w.p.size (if it.w.p.active) < 1024 ;
};
Есть ли простой способ решить эту проблему?