var searchIndex = {}; searchIndex["shortcut"] = {"doc":"This create provides an indexed, queryable column-based storage system.","items":[[3,"Store","shortcut","A `Store` is the main storage unit in shortcut. It keeps track of all the rows of data, as well\nas what indices are available. You will generally be accessing the `Store` either through the\n`find` method (which lets you find rows that match a certain condition), or through the\n`insert` method, which lets you add another row.",null,null],[0,"cmp","","The `cmp` module holds the mechanisms needed to compare values and express conditionals.",null,null],[3,"Condition","shortcut::cmp","A single condition to evaluate for a row in the dataset.",null,null],[12,"column","","The column of the row to use as the comparison value.",0,null],[12,"cmp","","The comparison to perform on the selected value.",0,null],[4,"Value","","A value represents something to compare against.",null,null],[13,"Const","","A constant value literal.",1,null],[13,"Column","","A different column for the same row. Note that comparisons of this kind *cannot use an\nindex*, at least not in the current implementation.",1,null],[4,"Comparison","","A comparison to perform for a literal value against a `Value`.",null,null],[13,"Equal","","Is the value equal to the given `Value`?",2,null],[11,"clone","","",1,null],[11,"value","","Extract the value literal for this `Value` when evaluated for the given row.\nFor `Const` values, this evaluates to the `Const` value itself. For `Column`, it evaluates\nto the value of that column in the given row.",1,null],[11,"clone","","",2,null],[11,"matches","","Returns true if the given value compares successfully against this `Value` when evaluated\nagainst the given row.",2,null],[11,"clone","","",0,null],[11,"matches","","Returns true if this condition holds true for the given row. To determine if this is the\ncase, `row[self.column]` is extracted, and is evaluated using the comparison in `self.cmp`.",0,null],[0,"idx","shortcut","The `idx` module described the traits indexers must adhere to, and implements sensible default\nindexers.",null,null],[3,"HashIndex","shortcut::idx","An implementation of `EqualityIndex` that uses a `HashMap`.",null,null],[3,"BTreeIndex","","An implementation of `RangeIndex` using a `BTreeMap`.",null,null],[4,"Index","","A sum type expressing all different types of indices so they can easily be stored. Since all\nindices must at least implement `EqualityIndex`, this enum also forwards all calls of\nthat trait to the underlying index for convenience.",null,null],[13,"Range","","A `RangeIndex` trait object.",3,null],[13,"Equality","","An `EqualityIndex` trait object.",3,null],[8,"EqualityIndex","","An `EqualityIndex` is an index that can perform *efficient* equality lookups.",null,null],[10,"lookup","","Return an iterator that yields the indices of all rows that match the given value.",4,null],[10,"index","","Add the given row index to the index under the given value.",4,null],[10,"undex","","Remove the given row index under the given value from the index.",4,null],[10,"estimate","","Give the expected number of rows returned for a key.\nThis method may be called often, and in rapid succession, and so should return quickly.",4,null],[8,"RangeIndex","","A `RangeIndex` is an index that, in addition to performing efficient equality lookups, can\n*also* perform efficient range queries.",null,null],[10,"between","","Return an iterator that yields the indices of all rows whose value (in the column this\nindex is assigned to) lies within the given `Bound`s.",5,null],[11,"new","","Allocate a new `HashIndex`.",6,{"inputs":[],"output":{"name":"hashindex"}}],[11,"lookup","","",6,null],[11,"index","","",6,null],[11,"undex","","",6,null],[11,"estimate","","",6,null],[11,"new","","Allocate a new `BTreeIndex`.",7,{"inputs":[],"output":{"name":"btreeindex"}}],[11,"lookup","","",7,null],[11,"index","","",7,null],[11,"undex","","",7,null],[11,"estimate","","",7,null],[11,"between","","",7,null],[11,"lookup","","",3,null],[11,"index","","",3,null],[11,"undex","","",3,null],[11,"estimate","","",3,null],[11,"from","","",3,{"inputs":[{"name":"hashindex"}],"output":{"name":"index"}}],[11,"from","","",3,{"inputs":[{"name":"btreeindex"}],"output":{"name":"index"}}],[11,"new","shortcut","Allocate a new `Store` with the given number of columns. The column count is checked in\n`insert` at runtime (bleh).",8,{"inputs":[{"name":"usize"}],"output":{"name":"store"}}],[11,"with_capacity","","Allocate a new `Store` with the given number of columns, and with room for the given number\nof rows. If you know roughly how many rows will be inserted, this will speed up insertion a\nfair amount, as it avoids needing to re-allocate the underlying `Vec` whenever it needs to\ngrow. As with `new`, the column count is checked in `insert` at runtime.",8,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"store"}}],[11,"find","","Returns an iterator that yields all rows matching all the given `Condition`s.",8,null],[11,"insert","","Insert a new data row into the `Store`. The row **must** have the same number of columns as\nspecified when the `Store` was created. If it does not, the code will panic with an\nassertion failure.",8,null],[11,"index","","Add an index on the given colum using the given indexer. The indexer *must*, at the very\nleast, implement `EqualityIndex`. It *may* also implement other, more sophisticated,\nindexing strategies outlined in `Index`.",8,null]],"paths":[[3,"Condition"],[4,"Value"],[4,"Comparison"],[4,"Index"],[8,"EqualityIndex"],[8,"RangeIndex"],[3,"HashIndex"],[3,"BTreeIndex"],[3,"Store"]]}; initSearch(searchIndex);