packages feed

qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QDir.hs

{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------

module Graphics.UI.Qtah.Generated.Core.QDir (
  QDirValue (..),
  QDirConstPtr (..),
  absoluteFilePath,
  absolutePath,
  canonicalPath,
  count,
  dirName,
  exists,
  entryExists,
  filePath,
  filter,
  isAbsolute,
  isReadable,
  isRelative,
  isRoot,
  mkdir,
  mkpath,
  path,
  relativeFilePath,
  rmdir,
  rmpath,
  sorting,
  aRRAY,
  eQ,
  nE,
  QDirPtr (..),
  cd,
  cdUp,
  setFilter,
  makeAbsolute,
  setPath,
  refresh,
  remove,
  removeRecursively,
  rename,
  setSorting,
  swap,
  aSSIGN,
  addSearchPath,
  cleanPath,
  current,
  currentPath,
  fromNativeSeparators,
  home,
  homePath,
  isAbsolutePath,
  isRelativePath,
  match,
  root,
  rootPath,
  separator,
  setCurrent,
  temp,
  tempPath,
  toNativeSeparators,
  QDirConst (..),
  castQDirToConst,
  QDir (..),
  castQDirToNonconst,
  new,
  newCopy,
  QDirSuper (..),
  QDirSuperConst (..),
  QDirFilter (..),
  QDirFilters,
  IsQDirFilters (..),
  allDirs,
  allEntries,
  caseSensitive,
  dirs,
  drives,
  executable,
  files,
  hidden,
  modified,
  noDot,
  noDotAndDotDot,
  noDotDot,
  noSymLinks,
  readable,
  system,
  writable,
  QDirSortFlag (..),
  QDirSortFlags,
  IsQDirSortFlags (..),
  dirsFirst,
  dirsLast,
  ignoreCase,
  localeAware,
  name,
  noSort,
  reversed,
  size,
  time,
  typ,
  unsorted,
  ) where

import Control.Monad ((>=>))
import Data.Bits ((.&.), (.|.))
import qualified Data.Bits as QtahDB
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Foreign.Hoppy.Runtime as QtahFHR
import qualified Graphics.UI.Qtah.Flags as QtahFlags
import qualified Graphics.UI.Qtah.Generated.Core.QChar as M16
import qualified Graphics.UI.Qtah.Generated.Core.QString as M142
import Prelude (($), (.), (/=), (=<<), (==), (>>), (>>=))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP

foreign import ccall "genpop__QDir_new" new' ::  HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr QDir)
foreign import ccall "genpop__QDir_newCopy" newCopy' ::  HoppyF.Ptr QDirConst -> HoppyP.IO (HoppyF.Ptr QDir)
foreign import ccall "genpop__QDir_absoluteFilePath" absoluteFilePath' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_absolutePath" absolutePath' ::  HoppyF.Ptr QDirConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_addSearchPath" addSearchPath' ::  HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QDir_canonicalPath" canonicalPath' ::  HoppyF.Ptr QDirConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_cd" cd' ::  HoppyF.Ptr QDir -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_cdUp" cdUp' ::  HoppyF.Ptr QDir -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_cleanPath" cleanPath' ::  HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_count" count' ::  HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QDir_current" current' ::  HoppyP.IO (HoppyF.Ptr QDirConst)
foreign import ccall "genpop__QDir_currentPath" currentPath' ::  HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_dirName" dirName' ::  HoppyF.Ptr QDirConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_exists" exists' ::  HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_entryExists" entryExists' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_filePath" filePath' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_filter" filter' ::  HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QDir_setFilter" setFilter' ::  HoppyF.Ptr QDir -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QDir_fromNativeSeparators" fromNativeSeparators' ::  HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_home" home' ::  HoppyP.IO (HoppyF.Ptr QDirConst)
foreign import ccall "genpop__QDir_homePath" homePath' ::  HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_isAbsolute" isAbsolute' ::  HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_isAbsolutePath" isAbsolutePath' ::  HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_isReadable" isReadable' ::  HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_isRelative" isRelative' ::  HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_isRelativePath" isRelativePath' ::  HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_isRoot" isRoot' ::  HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_makeAbsolute" makeAbsolute' ::  HoppyF.Ptr QDir -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_match" match' ::  HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_mkdir" mkdir' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_mkpath" mkpath' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_path" path' ::  HoppyF.Ptr QDirConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_setPath" setPath' ::  HoppyF.Ptr QDir -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QDir_refresh" refresh' ::  HoppyF.Ptr QDir -> HoppyP.IO ()
foreign import ccall "genpop__QDir_relativeFilePath" relativeFilePath' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_remove" remove' ::  HoppyF.Ptr QDir -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_removeRecursively" removeRecursively' ::  HoppyF.Ptr QDir -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_rename" rename' ::  HoppyF.Ptr QDir -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_rmdir" rmdir' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_rmpath" rmpath' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_root" root' ::  HoppyP.IO (HoppyF.Ptr QDirConst)
foreign import ccall "genpop__QDir_rootPath" rootPath' ::  HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_separator" separator' ::  HoppyP.IO (HoppyF.Ptr M16.QCharConst)
foreign import ccall "genpop__QDir_setCurrent" setCurrent' ::  HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_sorting" sorting' ::  HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QDir_setSorting" setSorting' ::  HoppyF.Ptr QDir -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QDir_swap" swap' ::  HoppyF.Ptr QDir -> HoppyF.Ptr QDir -> HoppyP.IO ()
foreign import ccall "genpop__QDir_temp" temp' ::  HoppyP.IO (HoppyF.Ptr QDirConst)
foreign import ccall "genpop__QDir_tempPath" tempPath' ::  HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_toNativeSeparators" toNativeSeparators' ::  HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_ARRAY" aRRAY' ::  HoppyF.Ptr QDirConst -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QDir_EQ" eQ' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_NE" nE' ::  HoppyF.Ptr QDirConst -> HoppyF.Ptr QDirConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDir_ASSIGN" aSSIGN' ::  HoppyF.Ptr QDir -> HoppyF.Ptr QDirConst -> HoppyP.IO (HoppyF.Ptr QDir)
foreign import ccall "gendel__QDir" delete'QDir :: HoppyF.Ptr QDirConst -> HoppyP.IO ()
foreign import ccall "&gendel__QDir" deletePtr'QDir :: HoppyF.FunPtr (HoppyF.Ptr QDirConst -> HoppyP.IO ())

class QDirValue a where
  withQDirPtr :: a -> (QDirConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QDirConstPtr a => QDirValue a where
  withQDirPtr = HoppyP.flip ($) . toQDirConst

class (HoppyFHR.CppPtr this) => QDirConstPtr this where
  toQDirConst :: this -> QDirConst

absoluteFilePath :: (QDirValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QtahP.String)
absoluteFilePath arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (absoluteFilePath' arg'1' arg'2')

absolutePath :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahP.String)
absolutePath arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (absolutePath' arg'1')

canonicalPath :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahP.String)
canonicalPath arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (canonicalPath' arg'1')

count :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
count arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (count' arg'1')

dirName :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahP.String)
dirName arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (dirName' arg'1')

exists :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
exists arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (exists' arg'1')

entryExists :: (QDirValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
entryExists arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (entryExists' arg'1' arg'2')

filePath :: (QDirValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QtahP.String)
filePath arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (filePath' arg'1' arg'2')

filter :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO QDirFilters)
filter arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    QtahP.return . QtahFlags.numToFlags
  ) =<<
  (filter' arg'1')

isAbsolute :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isAbsolute arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isAbsolute' arg'1')

isReadable :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isReadable arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isReadable' arg'1')

isRelative :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isRelative arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isRelative' arg'1')

isRoot :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isRoot arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isRoot' arg'1')

mkdir :: (QDirValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
mkdir arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (mkdir' arg'1' arg'2')

mkpath :: (QDirValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
mkpath arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (mkpath' arg'1' arg'2')

path :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahP.String)
path arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (path' arg'1')

relativeFilePath :: (QDirValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QtahP.String)
relativeFilePath arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (relativeFilePath' arg'1' arg'2')

rmdir :: (QDirValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
rmdir arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (rmdir' arg'1' arg'2')

rmpath :: (QDirValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
rmpath arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (rmpath' arg'1' arg'2')

sorting :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.IO QDirSortFlags)
sorting arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    QtahP.return . QtahFlags.numToFlags
  ) =<<
  (sorting' arg'1')

aRRAY :: (QDirValue this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO QtahP.String)
aRRAY arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (aRRAY' arg'1' arg'2')

eQ :: (QDirValue this, QDirValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
eQ arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  withQDirPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (eQ' arg'1' arg'2')

nE :: (QDirValue this, QDirValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
nE arg'1 arg'2 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  withQDirPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (nE' arg'1' arg'2')

class (QDirConstPtr this) => QDirPtr this where
  toQDir :: this -> QDir

cd :: (QDirPtr this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
cd arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (cd' arg'1' arg'2')

cdUp :: (QDirPtr this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
cdUp arg'1 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (cdUp' arg'1')

setFilter :: (QDirPtr this, IsQDirFilters arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setFilter arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  (
    QtahP.return . QtahFlags.flagsToNum . toQDirFilters
  ) arg'2 >>= \arg'2' ->
  (setFilter' arg'1' arg'2')

makeAbsolute :: (QDirPtr this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
makeAbsolute arg'1 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (makeAbsolute' arg'1')

setPath :: (QDirPtr this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setPath arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setPath' arg'1' arg'2')

refresh :: (QDirPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
refresh arg'1 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  (refresh' arg'1')

remove :: (QDirPtr this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
remove arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (remove' arg'1' arg'2')

removeRecursively :: (QDirPtr this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
removeRecursively arg'1 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (removeRecursively' arg'1')

rename :: (QDirPtr this, M142.QStringValue arg'2, M142.QStringValue arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO HoppyP.Bool)
rename arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M142.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (rename' arg'1' arg'2' arg'3')

setSorting :: (QDirPtr this, IsQDirSortFlags arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setSorting arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  (
    QtahP.return . QtahFlags.flagsToNum . toQDirSortFlags
  ) arg'2 >>= \arg'2' ->
  (setSorting' arg'1' arg'2')

swap :: (QDirPtr this, QDirPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
swap arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (toQDir arg'2) $ \arg'2' ->
  (swap' arg'1' arg'2')

aSSIGN :: (QDirPtr this, QDirValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QDir)
aSSIGN arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDir arg'1) $ \arg'1' ->
  withQDirPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  HoppyP.fmap QDir
  (aSSIGN' arg'1' arg'2')

addSearchPath :: (M142.QStringValue arg'1, M142.QStringValue arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO ())
addSearchPath arg'1 arg'2 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (addSearchPath' arg'1' arg'2')

cleanPath :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO QtahP.String)
cleanPath arg'1 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (cleanPath' arg'1')

current :: (HoppyP.IO QDir)
current =
  (HoppyFHR.decodeAndDelete . QDirConst) =<<
  (current')

currentPath :: (HoppyP.IO QtahP.String)
currentPath =
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (currentPath')

fromNativeSeparators :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO QtahP.String)
fromNativeSeparators arg'1 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (fromNativeSeparators' arg'1')

home :: (HoppyP.IO QDir)
home =
  (HoppyFHR.decodeAndDelete . QDirConst) =<<
  (home')

homePath :: (HoppyP.IO QtahP.String)
homePath =
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (homePath')

isAbsolutePath :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO HoppyP.Bool)
isAbsolutePath arg'1 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isAbsolutePath' arg'1')

isRelativePath :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO HoppyP.Bool)
isRelativePath arg'1 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isRelativePath' arg'1')

match :: (M142.QStringValue arg'1, M142.QStringValue arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
match arg'1 arg'2 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (match' arg'1' arg'2')

root :: (HoppyP.IO QDir)
root =
  (HoppyFHR.decodeAndDelete . QDirConst) =<<
  (root')

rootPath :: (HoppyP.IO QtahP.String)
rootPath =
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (rootPath')

separator :: (HoppyP.IO QtahP.Char)
separator =
  (HoppyFHR.decodeAndDelete . M16.QCharConst) =<<
  (separator')

setCurrent :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO HoppyP.Bool)
setCurrent arg'1 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (setCurrent' arg'1')

temp :: (HoppyP.IO QDir)
temp =
  (HoppyFHR.decodeAndDelete . QDirConst) =<<
  (temp')

tempPath :: (HoppyP.IO QtahP.String)
tempPath =
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (tempPath')

toNativeSeparators :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO QtahP.String)
toNativeSeparators arg'1 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (toNativeSeparators' arg'1')

data QDirConst =
    QDirConst (HoppyF.Ptr QDirConst)
  | QDirConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QDirConst)
  deriving (HoppyP.Show)

instance HoppyP.Eq QDirConst where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QDirConst where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQDirToConst :: QDir -> QDirConst
castQDirToConst (QDir ptr') = QDirConst $ HoppyF.castPtr ptr'
castQDirToConst (QDirGc fptr' ptr') = QDirConstGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QDirConst where
  nullptr = QDirConst HoppyF.nullPtr
  
  withCppPtr (QDirConst ptr') f' = f' ptr'
  withCppPtr (QDirConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QDirConst ptr') = ptr'
  toPtr (QDirConstGc _ ptr') = ptr'
  
  touchCppPtr (QDirConst _) = HoppyP.return ()
  touchCppPtr (QDirConstGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QDirConst where
  delete (QDirConst ptr') = delete'QDir ptr'
  delete (QDirConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QDirConst", " object."]
  
  toGc this'@(QDirConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QDirConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QDir :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QDirConstGc {}) = HoppyP.return this'

instance HoppyFHR.Copyable QDirConst QDir where copy = newCopy

instance QDirConstPtr QDirConst where
  toQDirConst = HoppyP.id

data QDir =
    QDir (HoppyF.Ptr QDir)
  | QDirGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QDir)
  deriving (HoppyP.Show)

instance HoppyP.Eq QDir where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QDir where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQDirToNonconst :: QDirConst -> QDir
castQDirToNonconst (QDirConst ptr') = QDir $ HoppyF.castPtr ptr'
castQDirToNonconst (QDirConstGc fptr' ptr') = QDirGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QDir where
  nullptr = QDir HoppyF.nullPtr
  
  withCppPtr (QDir ptr') f' = f' ptr'
  withCppPtr (QDirGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QDir ptr') = ptr'
  toPtr (QDirGc _ ptr') = ptr'
  
  touchCppPtr (QDir _) = HoppyP.return ()
  touchCppPtr (QDirGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QDir where
  delete (QDir ptr') = delete'QDir $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QDirConst)
  delete (QDirGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QDir", " object."]
  
  toGc this'@(QDir ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QDirGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QDir :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QDirGc {}) = HoppyP.return this'

instance HoppyFHR.Copyable QDir QDir where copy = newCopy

instance QDirConstPtr QDir where
  toQDirConst (QDir ptr') = QDirConst $ (HoppyF.castPtr :: HoppyF.Ptr QDir -> HoppyF.Ptr QDirConst) ptr'
  toQDirConst (QDirGc fptr' ptr') = QDirConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QDir -> HoppyF.Ptr QDirConst) ptr'

instance QDirPtr QDir where
  toQDir = HoppyP.id

new :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO QDir)
new arg'1 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap QDir
  (new' arg'1')

newCopy :: (QDirValue arg'1) => (arg'1) -> (HoppyP.IO QDir)
newCopy arg'1 =
  withQDirPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap QDir
  (newCopy' arg'1')

class QDirSuper a where
  downToQDir :: a -> QDir


class QDirSuperConst a where
  downToQDirConst :: a -> QDirConst


instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QDir)) QDir where
  assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'

instance QDirValue a => HoppyFHR.Assignable QDir a where
  assign x' y' = aSSIGN x' y' >> HoppyP.return ()

instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QDir)) QDir where
  decode = HoppyP.fmap QDir . HoppyF.peek

instance HoppyFHR.Decodable QDir (QDir) where
  decode = HoppyFHR.decode . toQDirConst

instance HoppyFHR.Decodable QDirConst (QDir) where
  decode =
    HoppyFHR.copy >=> HoppyFHR.toGc

data QDirFilter =
  Dirs
  | AllDirs
  | Files
  | Drives
  | NoSymLinks
  | NoDotAndDotDot
  | NoDot
  | NoDotDot
  | AllEntries
  | Readable
  | Writable
  | Executable
  | Modified
  | Hidden
  | System
  | CaseSensitive
  | UnknownQDirFilter (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QDirFilter where
  fromCppEnum Dirs = 1
  fromCppEnum AllDirs = 1024
  fromCppEnum Files = 2
  fromCppEnum Drives = 4
  fromCppEnum NoSymLinks = 8
  fromCppEnum NoDotAndDotDot = 24576
  fromCppEnum NoDot = 8192
  fromCppEnum NoDotDot = 16384
  fromCppEnum AllEntries = 7
  fromCppEnum Readable = 16
  fromCppEnum Writable = 32
  fromCppEnum Executable = 64
  fromCppEnum Modified = 128
  fromCppEnum Hidden = 256
  fromCppEnum System = 512
  fromCppEnum CaseSensitive = 2048
  fromCppEnum (UnknownQDirFilter n) = n
  
  toCppEnum (1) = Dirs
  toCppEnum (2) = Files
  toCppEnum (4) = Drives
  toCppEnum (7) = AllEntries
  toCppEnum (8) = NoSymLinks
  toCppEnum (16) = Readable
  toCppEnum (32) = Writable
  toCppEnum (64) = Executable
  toCppEnum (128) = Modified
  toCppEnum (256) = Hidden
  toCppEnum (512) = System
  toCppEnum (1024) = AllDirs
  toCppEnum (2048) = CaseSensitive
  toCppEnum (8192) = NoDot
  toCppEnum (16384) = NoDotDot
  toCppEnum (24576) = NoDotAndDotDot
  toCppEnum n = UnknownQDirFilter n

instance HoppyP.Eq QDirFilter where
  x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y

instance HoppyP.Ord QDirFilter where
  compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)

newtype QDirFilters = QDirFilters (HoppyFC.CInt) deriving (QtahP.Eq, QtahP.Ord, QtahP.Show)

instance QtahFlags.Flags (HoppyFC.CInt) QDirFilter QDirFilters where
  enumToFlags = QDirFilters . QtahFHR.fromCppEnum
  flagsToEnum (QDirFilters x') = QtahFHR.toCppEnum x'

class IsQDirFilters a where
  toQDirFilters :: a -> QDirFilters

instance IsQDirFilters QDirFilters where toQDirFilters = QtahP.id
instance IsQDirFilters QDirFilter where toQDirFilters = QtahFlags.enumToFlags
instance IsQDirFilters (HoppyFC.CInt) where toQDirFilters = QtahFlags.numToFlags

allDirs :: QDirFilters
allDirs = QDirFilters (1024)

allEntries :: QDirFilters
allEntries = QDirFilters (7)

caseSensitive :: QDirFilters
caseSensitive = QDirFilters (2048)

dirs :: QDirFilters
dirs = QDirFilters (1)

drives :: QDirFilters
drives = QDirFilters (4)

executable :: QDirFilters
executable = QDirFilters (64)

files :: QDirFilters
files = QDirFilters (2)

hidden :: QDirFilters
hidden = QDirFilters (256)

modified :: QDirFilters
modified = QDirFilters (128)

noDot :: QDirFilters
noDot = QDirFilters (8192)

noDotAndDotDot :: QDirFilters
noDotAndDotDot = QDirFilters (24576)

noDotDot :: QDirFilters
noDotDot = QDirFilters (16384)

noSymLinks :: QDirFilters
noSymLinks = QDirFilters (8)

readable :: QDirFilters
readable = QDirFilters (16)

system :: QDirFilters
system = QDirFilters (512)

writable :: QDirFilters
writable = QDirFilters (32)

instance QtahDB.Bits QDirFilters where
  x .&. y = QtahFlags.numToFlags (QtahFlags.flagsToNum x .&. QtahFlags.flagsToNum y)
  x .|. y = QtahFlags.numToFlags (QtahFlags.flagsToNum x .|. QtahFlags.flagsToNum y)
  xor x y = QtahFlags.numToFlags $ QtahDB.xor (QtahFlags.flagsToNum x) (QtahFlags.flagsToNum y)
  complement x = QtahFlags.numToFlags $ QtahDB.complement $ QtahFlags.flagsToNum x
  shift x i = QtahFlags.numToFlags $ QtahDB.shift (QtahFlags.flagsToNum x) i
  rotate x i = QtahFlags.numToFlags $ QtahDB.rotate (QtahFlags.flagsToNum x) i
  bitSize x = case QtahDB.bitSizeMaybe x of
      QtahP.Just n -> n
      QtahP.Nothing -> QtahP.error "bitSize is undefined"
  bitSizeMaybe = QtahDB.bitSizeMaybe . QtahFlags.flagsToNum
  isSigned = QtahDB.isSigned . QtahFlags.flagsToNum
  testBit x i = QtahDB.testBit (QtahFlags.flagsToNum x) i
  bit = QtahFlags.numToFlags . QtahDB.bit
  popCount = QtahDB.popCount . QtahFlags.flagsToNum

data QDirSortFlag =
  Name
  | Time
  | Size
  | Typ
  | Unsorted
  | NoSort
  | DirsFirst
  | DirsLast
  | Reversed
  | IgnoreCase
  | LocaleAware
  | UnknownQDirSortFlag (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QDirSortFlag where
  fromCppEnum Name = 0
  fromCppEnum Time = 1
  fromCppEnum Size = 2
  fromCppEnum Typ = 128
  fromCppEnum Unsorted = 3
  fromCppEnum NoSort = -1
  fromCppEnum DirsFirst = 4
  fromCppEnum DirsLast = 32
  fromCppEnum Reversed = 8
  fromCppEnum IgnoreCase = 16
  fromCppEnum LocaleAware = 64
  fromCppEnum (UnknownQDirSortFlag n) = n
  
  toCppEnum (-1) = NoSort
  toCppEnum (0) = Name
  toCppEnum (1) = Time
  toCppEnum (2) = Size
  toCppEnum (3) = Unsorted
  toCppEnum (4) = DirsFirst
  toCppEnum (8) = Reversed
  toCppEnum (16) = IgnoreCase
  toCppEnum (32) = DirsLast
  toCppEnum (64) = LocaleAware
  toCppEnum (128) = Typ
  toCppEnum n = UnknownQDirSortFlag n

instance HoppyP.Eq QDirSortFlag where
  x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y

instance HoppyP.Ord QDirSortFlag where
  compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)

newtype QDirSortFlags = QDirSortFlags (HoppyFC.CInt) deriving (QtahP.Eq, QtahP.Ord, QtahP.Show)

instance QtahFlags.Flags (HoppyFC.CInt) QDirSortFlag QDirSortFlags where
  enumToFlags = QDirSortFlags . QtahFHR.fromCppEnum
  flagsToEnum (QDirSortFlags x') = QtahFHR.toCppEnum x'

class IsQDirSortFlags a where
  toQDirSortFlags :: a -> QDirSortFlags

instance IsQDirSortFlags QDirSortFlags where toQDirSortFlags = QtahP.id
instance IsQDirSortFlags QDirSortFlag where toQDirSortFlags = QtahFlags.enumToFlags
instance IsQDirSortFlags (HoppyFC.CInt) where toQDirSortFlags = QtahFlags.numToFlags

dirsFirst :: QDirSortFlags
dirsFirst = QDirSortFlags (4)

dirsLast :: QDirSortFlags
dirsLast = QDirSortFlags (32)

ignoreCase :: QDirSortFlags
ignoreCase = QDirSortFlags (16)

localeAware :: QDirSortFlags
localeAware = QDirSortFlags (64)

name :: QDirSortFlags
name = QDirSortFlags (0)

noSort :: QDirSortFlags
noSort = QDirSortFlags (-1)

reversed :: QDirSortFlags
reversed = QDirSortFlags (8)

size :: QDirSortFlags
size = QDirSortFlags (2)

time :: QDirSortFlags
time = QDirSortFlags (1)

typ :: QDirSortFlags
typ = QDirSortFlags (128)

unsorted :: QDirSortFlags
unsorted = QDirSortFlags (3)

instance QtahDB.Bits QDirSortFlags where
  x .&. y = QtahFlags.numToFlags (QtahFlags.flagsToNum x .&. QtahFlags.flagsToNum y)
  x .|. y = QtahFlags.numToFlags (QtahFlags.flagsToNum x .|. QtahFlags.flagsToNum y)
  xor x y = QtahFlags.numToFlags $ QtahDB.xor (QtahFlags.flagsToNum x) (QtahFlags.flagsToNum y)
  complement x = QtahFlags.numToFlags $ QtahDB.complement $ QtahFlags.flagsToNum x
  shift x i = QtahFlags.numToFlags $ QtahDB.shift (QtahFlags.flagsToNum x) i
  rotate x i = QtahFlags.numToFlags $ QtahDB.rotate (QtahFlags.flagsToNum x) i
  bitSize x = case QtahDB.bitSizeMaybe x of
      QtahP.Just n -> n
      QtahP.Nothing -> QtahP.error "bitSize is undefined"
  bitSizeMaybe = QtahDB.bitSizeMaybe . QtahFlags.flagsToNum
  isSigned = QtahDB.isSigned . QtahFlags.flagsToNum
  testBit x i = QtahDB.testBit (QtahFlags.flagsToNum x) i
  bit = QtahFlags.numToFlags . QtahDB.bit
  popCount = QtahDB.popCount . QtahFlags.flagsToNum