/* * This is a variation of the general interval_tree_span_iter that computes the * spans over the union of two different interval trees. Used ranges are broken * up and reported based on the tree that provides the interval. The first span * always takes priority. Like interval_tree_span_iter it is greedy and the same * value of is_used will not repeat on two iteration cycles.
*/ struct interval_tree_double_span_iter { struct rb_root_cached *itrees[2]; struct interval_tree_span_iter spans[2]; union { unsignedlong start_hole; unsignedlong start_used;
}; union { unsignedlong last_hole; unsignedlong last_used;
}; /* 0 = hole, 1 = used span[0], 2 = used span[1], -1 done iteration */ int is_used;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.