edges-0.9: library/Edges/Cereal/Get.hs
module Edges.Cereal.Get
where
import Edges.Prelude
import Edges.Types
import Data.Serialize
import qualified PrimitiveExtras.PrimArray as PrimArray
import qualified PrimitiveExtras.PrimMultiArray as PrimMultiArray
nodeCounts :: Get (NodeCounts entity)
nodeCounts =
NodeCounts <$> PrimArray.cerealGetAsInMemory get
edges :: Get (Edges a b)
edges = do
targetSpace <- get
pma <- PrimMultiArray.cerealGetAsInMemory get
return (Edges targetSpace pma)
node :: Get (Node a)
node = Node <$> get