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