pub struct RowsState {
pub levels: u32,
pub templates: Vec<ArrayId>,
pub cur_rows: Vec<Vec<Option<BigUint>>>,
pub deeper: Vec<ArrayState>,
pub row_base: ArrayId,
pub lowered: bool,
}Expand description
The rows of an array of dynamic arrays or queues as one randomize() call
sees them.
Fields§
§levels: u32How many levels of rows lie below the array, itself included: 1 for
int a[][] (its rows are leaf arrays), 2 for int a[][][] (its rows
are arrays of arrays, whose rows are leaf arrays).
templates: Vec<ArrayId>The row template of each level, outermost first (u32::MAX for a level
no constraint names). templates[0] is the template the constraints
name this array’s rows through; the next is that of its rows’ rows.
cur_rows: Vec<Vec<Option<BigUint>>>Each current row’s elements when levels == 1 (None is an element
with an X/Z bit).
deeper: Vec<ArrayState>Each current row when levels > 1: an array of arrays of its own.
row_base: ArrayIdSet by lower_rows: the id of the array standing for row 0, rows
0..size following it.
lowered: boolWhether lower_rows has given the rows their arrays.
Implementations§
Source§impl RowsState
impl RowsState
Sourcepub fn new(
levels: u32,
cur_rows: Vec<Vec<Option<BigUint>>>,
deeper: Vec<ArrayState>,
) -> RowsState
pub fn new( levels: u32, cur_rows: Vec<Vec<Option<BigUint>>>, deeper: Vec<ArrayState>, ) -> RowsState
Rows of levels levels with the given contents and no template yet.
Sourcepub fn set_template(&mut self, level: usize, t: ArrayId)
pub fn set_template(&mut self, level: usize, t: ArrayId)
Names t the row template of level level (0 is this array’s own rows)
for these rows and every row below them.