{-# OPTIONS_GHC -Wall #-}
-----------------------------------------------------------------------------
-- |
-- Module      :  ToySolver.Text.QDimacs
-- Copyright   :  (c) Masahiro Sakai 2016
-- License     :  BSD-style
--
-- Maintainer  :  masahiro.sakai@gmail.com
-- Stability   :  provisional
-- Portability :  portable
--
-----------------------------------------------------------------------------
module ToySolver.Text.QDimacs {-# DEPRECATED "Use ToySolver.FileFormat.CNF instead" #-}
  ( QDimacs (..)
  , Quantifier (..)
  , QuantSet
  , Atom
  , Lit
  , Clause
  , PackedClause
  , packClause
  , unpackClause
  , parseFile
  , parseByteString

  -- * Generating .qdimacs files
  , writeFile
  , hPutQDimacs
  , qdimacsBuilder
  ) where

import Prelude hiding (writeFile)
import Data.ByteString.Builder
import qualified Data.ByteString.Lazy.Char8 as BL
import System.IO hiding (writeFile)
import ToySolver.FileFormat.CNF

-- | Parse a QDimacs file but returns an error message when parsing fails.
{-# DEPRECATED parseByteString "Use FileFormat.parse instead" #-}
parseByteString :: BL.ByteString -> Either String QDimacs
parseByteString :: ByteString -> Either String QDimacs
parseByteString = ByteString -> Either String QDimacs
forall a. FileFormat a => ByteString -> Either String a
parse

-- | Encode a 'QDimacs' to a 'Builder'
{-# DEPRECATED qdimacsBuilder "Use FileFormat.render instead" #-}
qdimacsBuilder :: QDimacs -> Builder
qdimacsBuilder :: QDimacs -> Builder
qdimacsBuilder = QDimacs -> Builder
forall a. FileFormat a => a -> Builder
render

-- | Output a 'QDimacs' to a Handle.
{-# DEPRECATED hPutQDimacs "Use FileFormat.render instead" #-}
hPutQDimacs :: Handle -> QDimacs -> IO ()
hPutQDimacs :: Handle -> QDimacs -> IO ()
hPutQDimacs Handle
h QDimacs
qdimacs = Handle -> Builder -> IO ()
hPutBuilder Handle
h (QDimacs -> Builder
qdimacsBuilder QDimacs
qdimacs)