    {-# LANGUAGE GeneralizedNewtypeDeriving #-}
    module Bindings.HDF5.PropertyList.TCPL
        ( module Bindings.HDF5.PropertyList.OCPL

        , TCPL
        , DatatypeCreationPropertyList

        ) where

    import Bindings.HDF5.Core
    import Bindings.HDF5.PropertyList.OCPL

    newtype TCPL = TCPL OCPL
        deriving (TCPL -> TCPL -> Bool
    (TCPL -> TCPL -> Bool) -> (TCPL -> TCPL -> Bool) -> Eq TCPL
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: TCPL -> TCPL -> Bool
    == :: TCPL -> TCPL -> Bool
    $c/= :: TCPL -> TCPL -> Bool
    /= :: TCPL -> TCPL -> Bool
    Eq, TCPL -> HId_t
    (TCPL -> HId_t) -> HId TCPL
    forall t. (t -> HId_t) -> HId t
    $chid :: TCPL -> HId_t
    hid :: TCPL -> HId_t
    HId, HId_t -> TCPL
    (HId_t -> TCPL) -> FromHId TCPL
    forall t. (HId_t -> t) -> FromHId t
    $cuncheckedFromHId :: HId_t -> TCPL
    uncheckedFromHId :: HId_t -> TCPL
    FromHId, TCPL -> Bool
    (TCPL -> Bool) -> HDFResultType TCPL
    forall t. (t -> Bool) -> HDFResultType t
    $cisError :: TCPL -> Bool
    isError :: TCPL -> Bool
    HDFResultType, FromHId TCPL
    HId TCPL
    (HId TCPL, FromHId TCPL) => PropertyListOrClass TCPL
    forall t. (HId t, FromHId t) => PropertyListOrClass t
    PropertyListOrClass, PropertyList TCPL
    PropertyList TCPL => ObjectCreationPropertyList TCPL
    forall t. PropertyList t => ObjectCreationPropertyList t
    ObjectCreationPropertyList)

    instance PropertyList TCPL where
        staticPlistClass :: Tagged TCPL PropertyListClassID
    staticPlistClass = PropertyListClassID -> Tagged TCPL PropertyListClassID
    forall {k} (s :: k) b. b -> Tagged s b
    Tagged PropertyListClassID
    datatypeCreate

    class ObjectCreationPropertyList t => DatatypeCreationPropertyList t where
    instance DatatypeCreationPropertyList TCPL