basement-0.0.4: Basement/Alg/Class.hs
{-# LANGUAGE MultiParamTypeClasses #-}
module Basement.Alg.Class
( Indexable, index
, RandomAccess, read, write
) where
import Basement.Types.OffsetSize
class Indexable container ty where
index :: container -> (Offset ty) -> ty
class RandomAccess container prim ty where
read :: container -> (Offset ty) -> prim ty
write :: container -> (Offset ty) -> ty -> prim ()