var searchIndex = {}; searchIndex["qecs_core"] = {"doc":"","items":[[3,"Valid","qecs_core","Indicates that an id is valid and can be used to safely access an entity.",null,null],[3,"Simulation","","",null,null],[3,"SimulationBuilder","","",null,null],[4,"IdGenerationError","","",null,null],[13,"MaximumIdCountReached","","The id couldn't be activated because the maximum id count this id-type\nor this id-manager allows was reached.",0,null],[4,"IdActivationError","","",null,null],[13,"MaximumIdCountReached","","The id couldn't be activated because the maximum id count this id-type\nor this id-manager allows was reached.",1,null],[13,"AlreadyActivated","","The id couldn't be activated because it already is.",1,null],[13,"SlotOccupied","","The id couldn't be activated because the internal slot (in the id-manager) it\nwould use is already occupied.",1,null],[5,"destroy_entity","","Safe abstraction for destroying a single entity.",null,{"inputs":[{"name":"idmgr"},{"name":"servicewriteguardmap"},{"name":"id"}],"output":{"name":"bool"}}],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"cmp","","",2,null],[11,"partial_cmp","","",2,null],[11,"lt","","",2,null],[11,"le","","",2,null],[11,"gt","","",2,null],[11,"ge","","",2,null],[11,"hash","","",2,null],[11,"clone","","",2,null],[11,"fmt","","",2,null],[11,"new","","",2,{"inputs":[{"name":"id"}],"output":{"name":"self"}}],[11,"deref","","",2,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"fmt","","",0,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"ids","","",3,null],[11,"subsystems","","",3,null],[11,"stores","","",3,null],[11,"update","","",3,null],[11,"new","","",4,{"inputs":[{"name":"idmgr"}],"output":{"name":"self"}}],[11,"stores","","",4,null],[11,"subsystems","","",4,null],[11,"pipeline","","TODO: This isn't very user-friendly. Currently works fine if you have a fixed amount\nof stages, but beyond that it's quite whacky.",4,null],[11,"build","","",4,null],[11,"default","","",4,{"inputs":[],"output":{"name":"self"}}],[0,"prelude","","",null,null],[8,"StoreBase","qecs_core::prelude","",null,null],[16,"Id","","",5,null],[10,"len","","",5,null],[10,"is_assigned","","",5,null],[10,"assign_cloned","","",5,null],[10,"release_drop","","A variant of `.release(id)` which drops the returned component.\nReturns `true` if sucessful.",5,null],[10,"clear","","",5,null],[8,"ComponentStore","","",null,null],[16,"Component","","",6,null],[10,"assign","","",6,null],[10,"release","","",6,null],[10,"get","","Returns `None` if `id` is not assigned.",6,null],[10,"get_mut","","Returns `None` if `id` is not assigned.",6,null],[10,"components","","",6,null],[10,"components_mut","","",6,null],[8,"ComponentStoreAssignments","","",null,null],[10,"assignments","","",7,null],[10,"assignments_mut","","",7,null],[8,"StoreDirtyEntities","","TODO naming. `ChangeList`, `DirtyState`?",null,null],[10,"dirty_entities","","",8,null],[8,"_ComponentStore","","Workaround for lack of HK-lifetimes.",null,null],[16,"_Component","","",9,null],[16,"Components","","",9,null],[16,"ComponentsMut","","",9,null],[8,"_ComponentStoreAssignments","","Workaround for lack of HK-lifetimes.",null,null],[16,"Assignments","","",10,null],[16,"AssignmentsMut","","",10,null],[8,"_StoreDirtyEntities","","Workaround for lack of HK-lifetimes.",null,null],[16,"DirtyEntities","","",11,null],[8,"PrimaryIdManager","","",null,null],[16,"Id","","",12,null],[10,"len","","",12,null],[10,"maximum_id_count","","",12,null],[10,"validate","","Tests if `id` is usable.",12,null],[10,"invalidate","","Makes `id` unusable and returns `true`.\nReturns `false` if `id` is already invalid.",12,null],[10,"generate","","Generates a new id.",12,null],[10,"activate","","",12,null],[10,"clear","","",12,null],[10,"iter","","",12,null],[6,"IdGenerationResult","qecs_core","",null,null],[6,"IdActivationResult","","",null,null],[8,"Component","","",null,null],[8,"Id","","TODO: should this be ToString/FromStr?",null,null],[8,"IdWithIndex","","For ids which closely mirror the total entity count.\nIds may either have an indexable-part or consist entirely of it.",null,null],[10,"max_index","","",13,{"inputs":[],"output":{"name":"usize"}}],[10,"index","","",13,null],[8,"Event","","",null,null],[8,"Action","","",null,null],[8,"StoreBase","","",null,null],[16,"Id","","",5,null],[10,"len","","",5,null],[10,"is_assigned","","",5,null],[10,"assign_cloned","","",5,null],[10,"release_drop","","A variant of `.release(id)` which drops the returned component.\nReturns `true` if sucessful.",5,null],[10,"clear","","",5,null],[8,"_ComponentStore","","Workaround for lack of HK-lifetimes.",null,null],[16,"_Component","","",9,null],[16,"Components","","",9,null],[16,"ComponentsMut","","",9,null],[8,"ComponentStore","","",null,null],[16,"Component","","",6,null],[10,"assign","","",6,null],[10,"release","","",6,null],[10,"get","","Returns `None` if `id` is not assigned.",6,null],[10,"get_mut","","Returns `None` if `id` is not assigned.",6,null],[10,"components","","",6,null],[10,"components_mut","","",6,null],[8,"_ComponentStoreAssignments","","Workaround for lack of HK-lifetimes.",null,null],[16,"Assignments","","",10,null],[16,"AssignmentsMut","","",10,null],[8,"ComponentStoreAssignments","","",null,null],[10,"assignments","","",7,null],[10,"assignments_mut","","",7,null],[8,"_StoreDirtyEntities","","Workaround for lack of HK-lifetimes.",null,null],[16,"DirtyEntities","","",11,null],[8,"StoreDirtyEntities","","TODO naming. `ChangeList`, `DirtyState`?",null,null],[10,"dirty_entities","","",8,null],[8,"_PrimaryIdManager","","",null,null],[16,"_Id","","",14,null],[16,"Iter","","",14,null],[8,"PrimaryIdManager","","",null,null],[16,"Id","","",12,null],[10,"len","","",12,null],[10,"maximum_id_count","","",12,null],[10,"validate","","Tests if `id` is usable.",12,null],[10,"invalidate","","Makes `id` unusable and returns `true`.\nReturns `false` if `id` is already invalid.",12,null],[10,"generate","","Generates a new id.",12,null],[10,"activate","","",12,null],[10,"clear","","",12,null],[10,"iter","","",12,null],[8,"SubsystemBase","","",null,null],[11,"on_before_frame","","",15,null],[11,"on_after_frame","","",15,null],[8,"ProcessBase","","",null,null],[10,"_update","","",16,null],[8,"Process","","",null,null],[16,"IdMgrMode","","",17,null],[16,"StoreSelection","","",17,null],[16,"SubsystemSelection","","",17,null],[16,"IdMgr","","",17,null],[16,"Stores","","",17,null],[16,"Subsystems","","",17,null],[10,"update","","",17,null],[11,"is_type","qecs_core::prelude","",5,null],[11,"unchecked_downcast_ref","","",5,null],[11,"downcast_ref","","",5,null],[11,"unchecked_downcast_mut","","",5,null],[11,"downcast_mut","","",5,null],[11,"downcast_boxed","","",5,{"inputs":[{"name":"box"}],"output":{"name":"result"}}],[11,"is","","",5,null],[11,"unchecked_downcast_ref","","",5,null],[11,"downcast_ref","","",5,null],[11,"unchecked_downcast_mut","","",5,null],[11,"downcast_mut","","",5,null],[11,"downcast_boxed","","",5,{"inputs":[{"name":"box"}],"output":{"name":"result"}}],[11,"on_before_frame","qecs_core","",15,null],[11,"on_after_frame","","",15,null],[11,"is_type","","",15,null],[11,"unchecked_downcast_ref","","",15,null],[11,"downcast_ref","","",15,null],[11,"unchecked_downcast_mut","","",15,null],[11,"downcast_mut","","",15,null],[11,"downcast_boxed","","",15,{"inputs":[{"name":"box"}],"output":{"name":"result"}}],[11,"is","","",15,null],[11,"unchecked_downcast_ref","","",15,null],[11,"downcast_ref","","",15,null],[11,"unchecked_downcast_mut","","",15,null],[11,"downcast_mut","","",15,null],[11,"downcast_boxed","","",15,{"inputs":[{"name":"box"}],"output":{"name":"result"}}]],"paths":[[4,"IdGenerationError"],[4,"IdActivationError"],[3,"Valid"],[3,"Simulation"],[3,"SimulationBuilder"],[8,"StoreBase"],[8,"ComponentStore"],[8,"ComponentStoreAssignments"],[8,"StoreDirtyEntities"],[8,"_ComponentStore"],[8,"_ComponentStoreAssignments"],[8,"_StoreDirtyEntities"],[8,"PrimaryIdManager"],[8,"IdWithIndex"],[8,"_PrimaryIdManager"],[8,"SubsystemBase"],[8,"ProcessBase"],[8,"Process"]]}; initSearch(searchIndex);