{-# LANGUAGE CPP #-} -- | This module contains instances of `NFData` for Data.ByteString -- and `Params` before text-format 0.3.0.8. module Bio.PDB.Util.MissingInstances() where import Prelude() import qualified Data.ByteString as BS import Control.DeepSeq #ifdef DEFINE_PARAMS_INSTANCES import Data.Text.Buildable import Data.Text.Format.Types import Data.Text.Lazy.Builder import Data.Text.Format.Params(Params(..)) #endif #ifdef DEFINE_NFDATA_INSTANCE -- I use strict version of BS.ByteString so default implementation should do -- | Nothing needs to be done in NFData instance for stricty `BS.ByteString`. instance NFData BS.ByteString where #endif #ifdef DEFINE_PARAMS_INSTANCES -- | Adds instances of Params for tuples of more than ten Buildables. instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k) => Params (a,b,c,d,e,f,g,h,i,j,k) where buildParams (a,b,c,d,e,f,g,h,i,j,k) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l) => Params (a,b,c,d,e,f,g,h,i,j,k,l) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l, Buildable m) => Params (a,b,c,d,e,f,g,h,i,j,k,l,m) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l, build m] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l, Buildable m, Buildable n) => Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l, build m, build n] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l, Buildable m, Buildable n, Buildable o) => Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l, build m, build n, build o] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l, Buildable m, Buildable n, Buildable o, Buildable p) => Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l, build m, build n, build o, build p] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l, Buildable m, Buildable n, Buildable o, Buildable p, Buildable r) => Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l, build m, build n, build o, build p, build r] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l, Buildable m, Buildable n, Buildable o, Buildable p, Buildable r, Buildable s) => Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l, build m, build n, build o, build p, build r, build s] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l, Buildable m, Buildable n, Buildable o, Buildable p, Buildable r, Buildable s, Buildable t) => Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l, build m, build n, build o, build p, build r, build s, build t] instance (Buildable a, Buildable b, Buildable c, Buildable d, Buildable e, Buildable f, Buildable g, Buildable h, Buildable i, Buildable j, Buildable k, Buildable l, Buildable m, Buildable n, Buildable o, Buildable p, Buildable r, Buildable s, Buildable t, Buildable u) => Params (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u) where buildParams (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u) = [build a, build b, build c, build d, build e, build f, build g, build h, build i, build j, build k, build l, build m, build n, build o, build p, build r, build s, build t, build u] #endif