module Text.Show.Text.Data.UnorderedContainers (showbHashMapPrec, showbHashSetPrec) where
import qualified Data.HashMap.Lazy as HM (toList)
import Data.HashMap.Lazy (HashMap)
import qualified Data.HashSet as HS (toList)
import Data.HashSet (HashSet)
import Prelude hiding (Show)
import Text.Show.Text (Show(showbPrec), Show1(showbPrec1), Builder)
import Text.Show.Text.Utils (showbUnaryList)
#include "inline.h"
showbHashMapPrec :: (Show k, Show v) => Int -> HashMap k v -> Builder
showbHashMapPrec p = showbUnaryList p . HM.toList
showbHashSetPrec :: Show a => Int -> HashSet a -> Builder
showbHashSetPrec p = showbUnaryList p . HS.toList
instance (Show k, Show v) => Show (HashMap k v) where
showbPrec = showbHashMapPrec
INLINE_INST_FUN(showbPrec)
instance Show a => Show (HashSet a) where
showbPrec = showbHashSetPrec
INLINE_INST_FUN(showbPrec)
instance Show k => Show1 (HashMap k) where
showbPrec1 = showbHashMapPrec
INLINE_INST_FUN(showbPrec1)
instance Show1 HashSet where
showbPrec1 = showbHashSetPrec
INLINE_INST_FUN(showbPrec1)