{-# LANGUAGE DeriveDataTypeable    #-}
{-# LANGUAGE DeriveGeneric         #-}
{-# LANGUAGE FlexibleContexts      #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE StrictData            #-}
{-# LANGUAGE TypeFamilies          #-}

-- |
-- Module      :  Data.BAM.Version1_6.Write.Error
-- Copyright   :  (c) Matthew Mosior 2024
-- License     :  BSD-style
-- Maintainer  :  mattm.github@gmail.com
-- Portability :  portable
--
-- = Description
--
-- This library enables the decoding/encoding of SAM, BAM and CRAM file formats.

module Data.BAM.Version1_6.Write.Error ( -- * BAM version 1.6 data type
                                         BAM_V1_6_Write_Error(..)
                                       ) where

import Data.Data
import Generics.Deriving.Base

-- | Custom @"BAM_V1_6"@ (BAM version 1.6) error data type.
-- See the [SAM v1.6](http://samtools.github.io/hts-specs/SAMv1.pdf) specification documentation.
data BAM_V1_6_Write_Error = -- | No data to write to file.
                            BAM_V1_6_Write_Error_No_Data
                          | -- | HOPT alignment optional field is not hex-formatted byte array.
                            BAM_V1_6_Write_Error_HOPT_Incorrect_Format
  deriving (BAM_V1_6_Write_Error -> BAM_V1_6_Write_Error -> Bool
(BAM_V1_6_Write_Error -> BAM_V1_6_Write_Error -> Bool)
-> (BAM_V1_6_Write_Error -> BAM_V1_6_Write_Error -> Bool)
-> Eq BAM_V1_6_Write_Error
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BAM_V1_6_Write_Error -> BAM_V1_6_Write_Error -> Bool
== :: BAM_V1_6_Write_Error -> BAM_V1_6_Write_Error -> Bool
$c/= :: BAM_V1_6_Write_Error -> BAM_V1_6_Write_Error -> Bool
/= :: BAM_V1_6_Write_Error -> BAM_V1_6_Write_Error -> Bool
Eq,(forall x. BAM_V1_6_Write_Error -> Rep BAM_V1_6_Write_Error x)
-> (forall x. Rep BAM_V1_6_Write_Error x -> BAM_V1_6_Write_Error)
-> Generic BAM_V1_6_Write_Error
forall x. Rep BAM_V1_6_Write_Error x -> BAM_V1_6_Write_Error
forall x. BAM_V1_6_Write_Error -> Rep BAM_V1_6_Write_Error x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. BAM_V1_6_Write_Error -> Rep BAM_V1_6_Write_Error x
from :: forall x. BAM_V1_6_Write_Error -> Rep BAM_V1_6_Write_Error x
$cto :: forall x. Rep BAM_V1_6_Write_Error x -> BAM_V1_6_Write_Error
to :: forall x. Rep BAM_V1_6_Write_Error x -> BAM_V1_6_Write_Error
Generic,Int -> BAM_V1_6_Write_Error -> ShowS
[BAM_V1_6_Write_Error] -> ShowS
BAM_V1_6_Write_Error -> String
(Int -> BAM_V1_6_Write_Error -> ShowS)
-> (BAM_V1_6_Write_Error -> String)
-> ([BAM_V1_6_Write_Error] -> ShowS)
-> Show BAM_V1_6_Write_Error
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BAM_V1_6_Write_Error -> ShowS
showsPrec :: Int -> BAM_V1_6_Write_Error -> ShowS
$cshow :: BAM_V1_6_Write_Error -> String
show :: BAM_V1_6_Write_Error -> String
$cshowList :: [BAM_V1_6_Write_Error] -> ShowS
showList :: [BAM_V1_6_Write_Error] -> ShowS
Show,Typeable)