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,"fmt","","",1,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,"fmt","","",2,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,"fmt","","",0,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,"find","","Returns an iterator that yields all rows matching all the given `Condition`s.",8,null],[11,"delete","","Delete all rows that match the given conditions.",8,null],[11,"delete_filter","","Delete all rows that match the given conditions *and* where the given filter function\nreturns true.",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);