never executed always true always false
    1 {-# language CPP #-}
    2 
    3 #ifndef ENABLE_INTERNAL_DOCUMENTATION
    4 {-# OPTIONS_HADDOCK hide #-}
    5 #endif
    6 
    7 module OpenCV.Internal.Mutable
    8   ( Mut(..)
    9   , Mutable
   10   , FreezeThaw(..)
   11   ) where
   12 
   13 import "primitive" Control.Monad.Primitive ( PrimMonad, PrimState )
   14 
   15 -- | Wrapper for mutable values
   16 newtype Mut a s = Mut { unMut :: a }
   17 
   18 type family Mutable (a :: *) :: * -> *
   19 
   20 class FreezeThaw a where
   21     freeze :: (PrimMonad m) => Mutable a (PrimState m) -> m a
   22     thaw   :: (PrimMonad m) => a -> m (Mutable a (PrimState m))
   23 
   24     unsafeFreeze :: (PrimMonad m) => Mutable a (PrimState m) -> m a
   25     unsafeThaw   :: (PrimMonad m) => a -> m (Mutable a (PrimState m))