packages feed

cereal-unordered-containers-0.1: library/Cereal/UnorderedContainers/Get.hs

module Cereal.UnorderedContainers.Get
where

import Cereal.UnorderedContainers.Prelude
import qualified Cereal.UnorderedContainers.Extras.StrictHashMap as StrictHashMap


strictHashMap :: (Eq key, Hashable key) => Get Int -> Get key -> Get value -> Get (StrictHashMap.HashMap key value)
strictHashMap int key value = size >>= associations where
  size = int
  associations size = StrictHashMap.replicateM size ((,) <$> key <*> value)