Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- indexTableEntityTable :: IndexTable entity -> EntityTable entity
- lookupEntity :: Index entity -> EntityTable entity -> Maybe entity
- lookupIndex :: (Eq entity, Hashable entity) => entity -> IndexTable entity -> Maybe (Index entity)
- createIndexSet :: (Eq entity, Hashable entity, Foldable foldable) => IndexTable entity -> foldable entity -> IndexSet entity
- lookupInIndexSet :: Index entity -> IndexSet entity -> Bool
- lookupNewIndex :: Index entity -> ReindexTable entity -> Maybe (Index entity)
- intersectIndexSets :: [IndexSet entity] -> IndexSet entity
- uniteIndexSets :: [IndexSet entity] -> IndexSet entity
- invertIndexSet :: IndexSet entity -> IndexSet entity
- topCountedIndexSet :: Int -> IndexCounts a -> IndexSet a
- indexSetByMinCount :: Word32 -> IndexCounts a -> IndexSet a
- countIndexSet :: IndexSet a -> Int
- newIndexToOldIndexTable :: IndexSet a -> EntityTable (Index a)
- oldIndexToNewIndexTable :: IndexSet a -> ReindexTable a
- filterEntityTable :: IndexSet a -> EntityTable a -> EntityTable a
- data Indexer entity = Indexer !(TVar Int) !(Map entity Int)
- data IndexTable entity = IndexTable !Int !(HashMap entity Int)
- newtype ReindexTable entity = ReindexTable (Vector (Maybe Int))
- newtype EntityTable entity = EntityTable (Vector entity)
- newtype Index entity = Index Int
- newtype IndexSet entity = IndexSet DenseIntSet
- newtype IndexCounts entity = IndexCounts (Vector Word32)
Documentation
indexTableEntityTable :: IndexTable entity -> EntityTable entity Source #
lookupEntity :: Index entity -> EntityTable entity -> Maybe entity Source #
lookupIndex :: (Eq entity, Hashable entity) => entity -> IndexTable entity -> Maybe (Index entity) Source #
createIndexSet :: (Eq entity, Hashable entity, Foldable foldable) => IndexTable entity -> foldable entity -> IndexSet entity Source #
lookupNewIndex :: Index entity -> ReindexTable entity -> Maybe (Index entity) Source #
intersectIndexSets :: [IndexSet entity] -> IndexSet entity Source #
uniteIndexSets :: [IndexSet entity] -> IndexSet entity Source #
invertIndexSet :: IndexSet entity -> IndexSet entity Source #
topCountedIndexSet :: Int -> IndexCounts a -> IndexSet a Source #
indexSetByMinCount :: Word32 -> IndexCounts a -> IndexSet a Source #
countIndexSet :: IndexSet a -> Int Source #
newIndexToOldIndexTable :: IndexSet a -> EntityTable (Index a) Source #
oldIndexToNewIndexTable :: IndexSet a -> ReindexTable a Source #
filterEntityTable :: IndexSet a -> EntityTable a -> EntityTable a Source #
data IndexTable entity Source #
IndexTable !Int !(HashMap entity Int) |
Instances
(Serialize entity, Eq entity, Hashable entity) => Serialize (IndexTable entity) # | |
Defined in Indexation.Instances.Cereal put :: Putter (IndexTable entity) # get :: Get (IndexTable entity) # |
newtype EntityTable entity Source #
EntityTable (Vector entity) |
Instances
Serialize entity => Serialize (EntityTable entity) # | |
Defined in Indexation.Instances.Cereal put :: Putter (EntityTable entity) # get :: Get (EntityTable entity) # |
Instances
newtype IndexSet entity Source #
Set of indices.
A more efficient alternative to HashSet (Index entity)
.
newtype IndexCounts entity Source #
Instances
Serialize (IndexCounts a) # | |
Defined in Indexation.Instances.Cereal put :: Putter (IndexCounts a) # get :: Get (IndexCounts a) # |