apecs-0.2.4.3: A fast ECS for game engine programming

Safe HaskellNone
LanguageHaskell2010

Apecs.Concurrent

Synopsis

Documentation

concurrently :: [System w ()] -> System w () Source #

Executes a list of systems concurrently, and blocks until all have finished. Provides zero protection against race conditions and other hazards, so use with caution.

pcmap :: forall world c. Has world c => Int -> (c -> c) -> System world () Source #

Executes a map in parallel by requesting a slice of all components, and spawning threads iterating over grainSize components each.

prmap :: forall world r w. (Has world w, Has world r) => Int -> (r -> w) -> System world () Source #

rmap version of pcmap

pwmap :: forall world r w. (Has world w, Has world r, Store (Storage r), Store (Storage w)) => Int -> (Safe r -> w) -> System world () Source #

wmap version of pcmap

pcmap' :: forall world c. Has world c => Int -> (c -> Safe c) -> System world () Source #

cmap' version of pcmap

prmap' :: forall world r w. (Has world w, Has world r, Store (Storage r), Store (Storage w)) => Int -> (r -> Safe w) -> System world () Source #

rmap' version of pcmap

pwmap' :: forall world r w. (Has world w, Has world r, Store (Storage r), Store (Storage w)) => Int -> (Safe r -> Safe w) -> System world () Source #

wmap' version of pcmap