module Rattletrap.Encode.List ( putList ) where import Rattletrap.Encode.Word32le import Rattletrap.Type.List import Rattletrap.Type.Word32le import qualified Data.Binary as Binary putList :: (a -> Binary.Put) -> List a -> Binary.Put putList putElement list = do let elements = listValue list putWord32 (Word32le (fromIntegral (length elements))) mapM_ putElement elements