opencv-0.0.0.0: src/OpenCV/Internal/C/PlacementNew.hs
{-# language CPP #-}
#ifndef ENABLE_INTERNAL_DOCUMENTATION
{-# OPTIONS_HADDOCK hide #-}
#endif
module OpenCV.Internal.C.PlacementNew ( PlacementNew(..) ) where
import "base" Foreign.Ptr ( Ptr )
--------------------------------------------------------------------------------
-- | Copy source to destination using C++'s placement new feature
class PlacementNew a where
-- | Copy source to destination using C++'s placement new feature
--
-- This method is intended for types that are proxies for actual
-- types in C++.
--
-- > new(dst) CType(*src)
--
-- The copy should be performed by constructing a new object in
-- the memory pointed to by @dst@. The new object is initialised
-- using the value of @src@. This design allow underlying
-- structures to be shared depending on the implementation of
-- @CType@.
placementNew
:: Ptr a -- ^ Source
-> Ptr a -- ^ Destination
-> IO ()
placementDelete
:: Ptr a
-> IO ()