module Squeather.Internal.Types where

-- | Errors produced by the underlying SQLite3 C library.
data ErrorFlag
  = SQLITE_ERROR
  | SQLITE_INTERNAL
  | SQLITE_PERM
  | SQLITE_ABORT
  | SQLITE_BUSY
  | SQLITE_LOCKED
  | SQLITE_NOMEM
  | SQLITE_READONLY
  | SQLITE_INTERRUPT
  | SQLITE_IOERR
  | SQLITE_CORRUPT
  | SQLITE_NOTFOUND
  | SQLITE_FULL
  | SQLITE_CANTOPEN
  | SQLITE_PROTOCOL
  | SQLITE_EMPTY
  | SQLITE_SCHEMA
  | SQLITE_TOOBIG
  | SQLITE_CONSTRAINT
  | SQLITE_MISMATCH
  | SQLITE_MISUSE
  | SQLITE_NOLFS
  | SQLITE_AUTH
  | SQLITE_FORMAT
  | SQLITE_RANGE
  | SQLITE_NOTADB
  | SQLITE_NOTICE
  | SQLITE_WARNING
  | SQLITE_ERROR_MISSING_COLLSEQ
  | SQLITE_ERROR_RETRY
  | SQLITE_ERROR_SNAPSHOT
  | SQLITE_IOERR_READ
  | SQLITE_IOERR_SHORT_READ
  | SQLITE_IOERR_WRITE
  | SQLITE_IOERR_FSYNC
  | SQLITE_IOERR_DIR_FSYNC
  | SQLITE_IOERR_TRUNCATE
  | SQLITE_IOERR_FSTAT
  | SQLITE_IOERR_UNLOCK
  | SQLITE_IOERR_RDLOCK
  | SQLITE_IOERR_DELETE
  | SQLITE_IOERR_BLOCKED
  | SQLITE_IOERR_NOMEM
  | SQLITE_IOERR_ACCESS
  | SQLITE_IOERR_CHECKRESERVEDLOCK
  | SQLITE_IOERR_LOCK
  | SQLITE_IOERR_CLOSE
  | SQLITE_IOERR_DIR_CLOSE
  | SQLITE_IOERR_SHMOPEN
  | SQLITE_IOERR_SHMSIZE
  | SQLITE_IOERR_SHMLOCK
  | SQLITE_IOERR_SHMMAP
  | SQLITE_IOERR_SEEK
  | SQLITE_IOERR_DELETE_NOENT
  | SQLITE_IOERR_MMAP
  | SQLITE_IOERR_GETTEMPPATH
  | SQLITE_IOERR_CONVPATH
  | SQLITE_IOERR_VNODE
  | SQLITE_IOERR_AUTH
  | SQLITE_IOERR_BEGIN_ATOMIC
  | SQLITE_IOERR_COMMIT_ATOMIC
  | SQLITE_IOERR_ROLLBACK_ATOMIC
  | SQLITE_LOCKED_SHAREDCACHE
  | SQLITE_LOCKED_VTAB
  | SQLITE_BUSY_RECOVERY
  | SQLITE_BUSY_SNAPSHOT
  | SQLITE_CANTOPEN_NOTEMPDIR
  | SQLITE_CANTOPEN_ISDIR
  | SQLITE_CANTOPEN_FULLPATH
  | SQLITE_CANTOPEN_CONVPATH
  | SQLITE_CANTOPEN_DIRTYWAL
  | SQLITE_CANTOPEN_SYMLINK
  | SQLITE_CORRUPT_VTAB
  | SQLITE_CORRUPT_SEQUENCE
  | SQLITE_READONLY_RECOVERY
  | SQLITE_READONLY_CANTLOCK
  | SQLITE_READONLY_ROLLBACK
  | SQLITE_READONLY_DBMOVED
  | SQLITE_READONLY_CANTINIT
  | SQLITE_READONLY_DIRECTORY
  | SQLITE_ABORT_ROLLBACK
  | SQLITE_CONSTRAINT_CHECK
  | SQLITE_CONSTRAINT_COMMITHOOK
  | SQLITE_CONSTRAINT_FOREIGNKEY
  | SQLITE_CONSTRAINT_FUNCTION
  | SQLITE_CONSTRAINT_NOTNULL
  | SQLITE_CONSTRAINT_PRIMARYKEY
  | SQLITE_CONSTRAINT_TRIGGER
  | SQLITE_CONSTRAINT_UNIQUE
  | SQLITE_CONSTRAINT_VTAB
  | SQLITE_CONSTRAINT_ROWID
  | SQLITE_CONSTRAINT_PINNED
  | SQLITE_NOTICE_RECOVER_WAL
  | SQLITE_NOTICE_RECOVER_ROLLBACK
  | SQLITE_WARNING_AUTOINDEX
  | SQLITE_AUTH_USER
  | SQLITE_OK_LOAD_PERMANENTLY
  | SQLITE_OK_SYMLINK
  deriving (ErrorFlag -> ErrorFlag -> Bool
(ErrorFlag -> ErrorFlag -> Bool)
-> (ErrorFlag -> ErrorFlag -> Bool) -> Eq ErrorFlag
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ErrorFlag -> ErrorFlag -> Bool
$c/= :: ErrorFlag -> ErrorFlag -> Bool
== :: ErrorFlag -> ErrorFlag -> Bool
$c== :: ErrorFlag -> ErrorFlag -> Bool
Eq, Eq ErrorFlag
Eq ErrorFlag
-> (ErrorFlag -> ErrorFlag -> Ordering)
-> (ErrorFlag -> ErrorFlag -> Bool)
-> (ErrorFlag -> ErrorFlag -> Bool)
-> (ErrorFlag -> ErrorFlag -> Bool)
-> (ErrorFlag -> ErrorFlag -> Bool)
-> (ErrorFlag -> ErrorFlag -> ErrorFlag)
-> (ErrorFlag -> ErrorFlag -> ErrorFlag)
-> Ord ErrorFlag
ErrorFlag -> ErrorFlag -> Bool
ErrorFlag -> ErrorFlag -> Ordering
ErrorFlag -> ErrorFlag -> ErrorFlag
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ErrorFlag -> ErrorFlag -> ErrorFlag
$cmin :: ErrorFlag -> ErrorFlag -> ErrorFlag
max :: ErrorFlag -> ErrorFlag -> ErrorFlag
$cmax :: ErrorFlag -> ErrorFlag -> ErrorFlag
>= :: ErrorFlag -> ErrorFlag -> Bool
$c>= :: ErrorFlag -> ErrorFlag -> Bool
> :: ErrorFlag -> ErrorFlag -> Bool
$c> :: ErrorFlag -> ErrorFlag -> Bool
<= :: ErrorFlag -> ErrorFlag -> Bool
$c<= :: ErrorFlag -> ErrorFlag -> Bool
< :: ErrorFlag -> ErrorFlag -> Bool
$c< :: ErrorFlag -> ErrorFlag -> Bool
compare :: ErrorFlag -> ErrorFlag -> Ordering
$ccompare :: ErrorFlag -> ErrorFlag -> Ordering
$cp1Ord :: Eq ErrorFlag
Ord, Int -> ErrorFlag -> ShowS
[ErrorFlag] -> ShowS
ErrorFlag -> String
(Int -> ErrorFlag -> ShowS)
-> (ErrorFlag -> String)
-> ([ErrorFlag] -> ShowS)
-> Show ErrorFlag
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ErrorFlag] -> ShowS
$cshowList :: [ErrorFlag] -> ShowS
show :: ErrorFlag -> String
$cshow :: ErrorFlag -> String
showsPrec :: Int -> ErrorFlag -> ShowS
$cshowsPrec :: Int -> ErrorFlag -> ShowS
Show)

-- | Result from applying 'Squeather.step' to a
-- 'Squeather.Statement'.
data StepResult
  = Row 
  -- ^ A row is ready to be processed
  | Done
  -- ^ There are no more rows
  deriving (StepResult -> StepResult -> Bool
(StepResult -> StepResult -> Bool)
-> (StepResult -> StepResult -> Bool) -> Eq StepResult
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StepResult -> StepResult -> Bool
$c/= :: StepResult -> StepResult -> Bool
== :: StepResult -> StepResult -> Bool
$c== :: StepResult -> StepResult -> Bool
Eq, Eq StepResult
Eq StepResult
-> (StepResult -> StepResult -> Ordering)
-> (StepResult -> StepResult -> Bool)
-> (StepResult -> StepResult -> Bool)
-> (StepResult -> StepResult -> Bool)
-> (StepResult -> StepResult -> Bool)
-> (StepResult -> StepResult -> StepResult)
-> (StepResult -> StepResult -> StepResult)
-> Ord StepResult
StepResult -> StepResult -> Bool
StepResult -> StepResult -> Ordering
StepResult -> StepResult -> StepResult
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: StepResult -> StepResult -> StepResult
$cmin :: StepResult -> StepResult -> StepResult
max :: StepResult -> StepResult -> StepResult
$cmax :: StepResult -> StepResult -> StepResult
>= :: StepResult -> StepResult -> Bool
$c>= :: StepResult -> StepResult -> Bool
> :: StepResult -> StepResult -> Bool
$c> :: StepResult -> StepResult -> Bool
<= :: StepResult -> StepResult -> Bool
$c<= :: StepResult -> StepResult -> Bool
< :: StepResult -> StepResult -> Bool
$c< :: StepResult -> StepResult -> Bool
compare :: StepResult -> StepResult -> Ordering
$ccompare :: StepResult -> StepResult -> Ordering
$cp1Ord :: Eq StepResult
Ord, Int -> StepResult -> ShowS
[StepResult] -> ShowS
StepResult -> String
(Int -> StepResult -> ShowS)
-> (StepResult -> String)
-> ([StepResult] -> ShowS)
-> Show StepResult
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StepResult] -> ShowS
$cshowList :: [StepResult] -> ShowS
show :: StepResult -> String
$cshow :: StepResult -> String
showsPrec :: Int -> StepResult -> ShowS
$cshowsPrec :: Int -> StepResult -> ShowS
Show)

-- | Whether to create a new database if it does not already exist.
data Create
  = Create
  | NoCreate
  deriving (Create -> Create -> Bool
(Create -> Create -> Bool)
-> (Create -> Create -> Bool) -> Eq Create
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Create -> Create -> Bool
$c/= :: Create -> Create -> Bool
== :: Create -> Create -> Bool
$c== :: Create -> Create -> Bool
Eq, Eq Create
Eq Create
-> (Create -> Create -> Ordering)
-> (Create -> Create -> Bool)
-> (Create -> Create -> Bool)
-> (Create -> Create -> Bool)
-> (Create -> Create -> Bool)
-> (Create -> Create -> Create)
-> (Create -> Create -> Create)
-> Ord Create
Create -> Create -> Bool
Create -> Create -> Ordering
Create -> Create -> Create
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Create -> Create -> Create
$cmin :: Create -> Create -> Create
max :: Create -> Create -> Create
$cmax :: Create -> Create -> Create
>= :: Create -> Create -> Bool
$c>= :: Create -> Create -> Bool
> :: Create -> Create -> Bool
$c> :: Create -> Create -> Bool
<= :: Create -> Create -> Bool
$c<= :: Create -> Create -> Bool
< :: Create -> Create -> Bool
$c< :: Create -> Create -> Bool
compare :: Create -> Create -> Ordering
$ccompare :: Create -> Create -> Ordering
$cp1Ord :: Eq Create
Ord, Int -> Create -> ShowS
[Create] -> ShowS
Create -> String
(Int -> Create -> ShowS)
-> (Create -> String) -> ([Create] -> ShowS) -> Show Create
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Create] -> ShowS
$cshowList :: [Create] -> ShowS
show :: Create -> String
$cshow :: Create -> String
showsPrec :: Int -> Create -> ShowS
$cshowsPrec :: Int -> Create -> ShowS
Show)

--  | Whether to open a database for reading and writing or for
--  reading only.
data WriteMode
  = ReadOnly
  | ReadWrite Create
  deriving (WriteMode -> WriteMode -> Bool
(WriteMode -> WriteMode -> Bool)
-> (WriteMode -> WriteMode -> Bool) -> Eq WriteMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WriteMode -> WriteMode -> Bool
$c/= :: WriteMode -> WriteMode -> Bool
== :: WriteMode -> WriteMode -> Bool
$c== :: WriteMode -> WriteMode -> Bool
Eq, Eq WriteMode
Eq WriteMode
-> (WriteMode -> WriteMode -> Ordering)
-> (WriteMode -> WriteMode -> Bool)
-> (WriteMode -> WriteMode -> Bool)
-> (WriteMode -> WriteMode -> Bool)
-> (WriteMode -> WriteMode -> Bool)
-> (WriteMode -> WriteMode -> WriteMode)
-> (WriteMode -> WriteMode -> WriteMode)
-> Ord WriteMode
WriteMode -> WriteMode -> Bool
WriteMode -> WriteMode -> Ordering
WriteMode -> WriteMode -> WriteMode
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: WriteMode -> WriteMode -> WriteMode
$cmin :: WriteMode -> WriteMode -> WriteMode
max :: WriteMode -> WriteMode -> WriteMode
$cmax :: WriteMode -> WriteMode -> WriteMode
>= :: WriteMode -> WriteMode -> Bool
$c>= :: WriteMode -> WriteMode -> Bool
> :: WriteMode -> WriteMode -> Bool
$c> :: WriteMode -> WriteMode -> Bool
<= :: WriteMode -> WriteMode -> Bool
$c<= :: WriteMode -> WriteMode -> Bool
< :: WriteMode -> WriteMode -> Bool
$c< :: WriteMode -> WriteMode -> Bool
compare :: WriteMode -> WriteMode -> Ordering
$ccompare :: WriteMode -> WriteMode -> Ordering
$cp1Ord :: Eq WriteMode
Ord, Int -> WriteMode -> ShowS
[WriteMode] -> ShowS
WriteMode -> String
(Int -> WriteMode -> ShowS)
-> (WriteMode -> String)
-> ([WriteMode] -> ShowS)
-> Show WriteMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WriteMode] -> ShowS
$cshowList :: [WriteMode] -> ShowS
show :: WriteMode -> String
$cshow :: WriteMode -> String
showsPrec :: Int -> WriteMode -> ShowS
$cshowsPrec :: Int -> WriteMode -> ShowS
Show)

-- | Whether to use multi-thread mode or serialized mode, see
--
-- <https://www.sqlite.org/threadsafe.html>
--
-- It is not possible to use the SQLite single-thread mode.
data ThreadMode = MultiThread | Serialized
  deriving (ThreadMode -> ThreadMode -> Bool
(ThreadMode -> ThreadMode -> Bool)
-> (ThreadMode -> ThreadMode -> Bool) -> Eq ThreadMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ThreadMode -> ThreadMode -> Bool
$c/= :: ThreadMode -> ThreadMode -> Bool
== :: ThreadMode -> ThreadMode -> Bool
$c== :: ThreadMode -> ThreadMode -> Bool
Eq, Eq ThreadMode
Eq ThreadMode
-> (ThreadMode -> ThreadMode -> Ordering)
-> (ThreadMode -> ThreadMode -> Bool)
-> (ThreadMode -> ThreadMode -> Bool)
-> (ThreadMode -> ThreadMode -> Bool)
-> (ThreadMode -> ThreadMode -> Bool)
-> (ThreadMode -> ThreadMode -> ThreadMode)
-> (ThreadMode -> ThreadMode -> ThreadMode)
-> Ord ThreadMode
ThreadMode -> ThreadMode -> Bool
ThreadMode -> ThreadMode -> Ordering
ThreadMode -> ThreadMode -> ThreadMode
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ThreadMode -> ThreadMode -> ThreadMode
$cmin :: ThreadMode -> ThreadMode -> ThreadMode
max :: ThreadMode -> ThreadMode -> ThreadMode
$cmax :: ThreadMode -> ThreadMode -> ThreadMode
>= :: ThreadMode -> ThreadMode -> Bool
$c>= :: ThreadMode -> ThreadMode -> Bool
> :: ThreadMode -> ThreadMode -> Bool
$c> :: ThreadMode -> ThreadMode -> Bool
<= :: ThreadMode -> ThreadMode -> Bool
$c<= :: ThreadMode -> ThreadMode -> Bool
< :: ThreadMode -> ThreadMode -> Bool
$c< :: ThreadMode -> ThreadMode -> Bool
compare :: ThreadMode -> ThreadMode -> Ordering
$ccompare :: ThreadMode -> ThreadMode -> Ordering
$cp1Ord :: Eq ThreadMode
Ord, Int -> ThreadMode -> ShowS
[ThreadMode] -> ShowS
ThreadMode -> String
(Int -> ThreadMode -> ShowS)
-> (ThreadMode -> String)
-> ([ThreadMode] -> ShowS)
-> Show ThreadMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ThreadMode] -> ShowS
$cshowList :: [ThreadMode] -> ShowS
show :: ThreadMode -> String
$cshow :: ThreadMode -> String
showsPrec :: Int -> ThreadMode -> ShowS
$cshowsPrec :: Int -> ThreadMode -> ShowS
Show)

-- | Whether to use shared cache or private cache mode, see
--
-- <https://www.sqlite.org/sharedcache.html>
data CacheMode = Shared | Private
  deriving (CacheMode -> CacheMode -> Bool
(CacheMode -> CacheMode -> Bool)
-> (CacheMode -> CacheMode -> Bool) -> Eq CacheMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CacheMode -> CacheMode -> Bool
$c/= :: CacheMode -> CacheMode -> Bool
== :: CacheMode -> CacheMode -> Bool
$c== :: CacheMode -> CacheMode -> Bool
Eq, Eq CacheMode
Eq CacheMode
-> (CacheMode -> CacheMode -> Ordering)
-> (CacheMode -> CacheMode -> Bool)
-> (CacheMode -> CacheMode -> Bool)
-> (CacheMode -> CacheMode -> Bool)
-> (CacheMode -> CacheMode -> Bool)
-> (CacheMode -> CacheMode -> CacheMode)
-> (CacheMode -> CacheMode -> CacheMode)
-> Ord CacheMode
CacheMode -> CacheMode -> Bool
CacheMode -> CacheMode -> Ordering
CacheMode -> CacheMode -> CacheMode
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: CacheMode -> CacheMode -> CacheMode
$cmin :: CacheMode -> CacheMode -> CacheMode
max :: CacheMode -> CacheMode -> CacheMode
$cmax :: CacheMode -> CacheMode -> CacheMode
>= :: CacheMode -> CacheMode -> Bool
$c>= :: CacheMode -> CacheMode -> Bool
> :: CacheMode -> CacheMode -> Bool
$c> :: CacheMode -> CacheMode -> Bool
<= :: CacheMode -> CacheMode -> Bool
$c<= :: CacheMode -> CacheMode -> Bool
< :: CacheMode -> CacheMode -> Bool
$c< :: CacheMode -> CacheMode -> Bool
compare :: CacheMode -> CacheMode -> Ordering
$ccompare :: CacheMode -> CacheMode -> Ordering
$cp1Ord :: Eq CacheMode
Ord, Int -> CacheMode -> ShowS
[CacheMode] -> ShowS
CacheMode -> String
(Int -> CacheMode -> ShowS)
-> (CacheMode -> String)
-> ([CacheMode] -> ShowS)
-> Show CacheMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CacheMode] -> ShowS
$cshowList :: [CacheMode] -> ShowS
show :: CacheMode -> String
$cshow :: CacheMode -> String
showsPrec :: Int -> CacheMode -> ShowS
$cshowsPrec :: Int -> CacheMode -> ShowS
Show)

-- | Various options when opening a database.
data OpenFlags = OpenFlags
  { OpenFlags -> WriteMode
writeMode :: WriteMode
  , OpenFlags -> Bool
uri :: Bool
  -- ^ Filename can be interpreted as a URI if True.

  , OpenFlags -> Bool
memory :: Bool
  -- ^ Database will be opened in-memory.  If you use this flag, the
  -- filename is ignored.

  , OpenFlags -> ThreadMode
threadMode :: ThreadMode

  , OpenFlags -> CacheMode
cacheMode :: CacheMode

  , OpenFlags -> Bool
noFollow :: Bool
  -- ^ If True, the database filename is not allowed to be a
  -- symbolic link.
  } deriving (OpenFlags -> OpenFlags -> Bool
(OpenFlags -> OpenFlags -> Bool)
-> (OpenFlags -> OpenFlags -> Bool) -> Eq OpenFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OpenFlags -> OpenFlags -> Bool
$c/= :: OpenFlags -> OpenFlags -> Bool
== :: OpenFlags -> OpenFlags -> Bool
$c== :: OpenFlags -> OpenFlags -> Bool
Eq, Eq OpenFlags
Eq OpenFlags
-> (OpenFlags -> OpenFlags -> Ordering)
-> (OpenFlags -> OpenFlags -> Bool)
-> (OpenFlags -> OpenFlags -> Bool)
-> (OpenFlags -> OpenFlags -> Bool)
-> (OpenFlags -> OpenFlags -> Bool)
-> (OpenFlags -> OpenFlags -> OpenFlags)
-> (OpenFlags -> OpenFlags -> OpenFlags)
-> Ord OpenFlags
OpenFlags -> OpenFlags -> Bool
OpenFlags -> OpenFlags -> Ordering
OpenFlags -> OpenFlags -> OpenFlags
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: OpenFlags -> OpenFlags -> OpenFlags
$cmin :: OpenFlags -> OpenFlags -> OpenFlags
max :: OpenFlags -> OpenFlags -> OpenFlags
$cmax :: OpenFlags -> OpenFlags -> OpenFlags
>= :: OpenFlags -> OpenFlags -> Bool
$c>= :: OpenFlags -> OpenFlags -> Bool
> :: OpenFlags -> OpenFlags -> Bool
$c> :: OpenFlags -> OpenFlags -> Bool
<= :: OpenFlags -> OpenFlags -> Bool
$c<= :: OpenFlags -> OpenFlags -> Bool
< :: OpenFlags -> OpenFlags -> Bool
$c< :: OpenFlags -> OpenFlags -> Bool
compare :: OpenFlags -> OpenFlags -> Ordering
$ccompare :: OpenFlags -> OpenFlags -> Ordering
$cp1Ord :: Eq OpenFlags
Ord, Int -> OpenFlags -> ShowS
[OpenFlags] -> ShowS
OpenFlags -> String
(Int -> OpenFlags -> ShowS)
-> (OpenFlags -> String)
-> ([OpenFlags] -> ShowS)
-> Show OpenFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OpenFlags] -> ShowS
$cshowList :: [OpenFlags] -> ShowS
show :: OpenFlags -> String
$cshow :: OpenFlags -> String
showsPrec :: Int -> OpenFlags -> ShowS
$cshowsPrec :: Int -> OpenFlags -> ShowS
Show)