-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Generic generation of HXT XmlPickler instances using GHC Generics.
--   
--   Generic generation of HXT XmlPickler instances using GHC Generics.
@package generic-xmlpickler
@version 0.1.0.5

module Generics.XmlPickler

-- | The generic pickler. Uses a tag for each constructor with the lower
--   case constructor name, and a tag for each record field with the lower
--   case field name. Most values are pickled using their own
--   <a>XmlPickler</a> instance, and <a>String</a>s are pickled as possibly
--   empty text nodes.
gxpickle :: forall a. (Generic a, GXmlPickler (Rep a), ConNames (Rep a)) => PU a

-- | The generic XmlPickler class. This gives generic xml picklers for the
--   functors from <a>Regular</a>. These are usually not used directly.
class GXmlPickler f
gxpicklef :: GXmlPickler f => PU a -> PU (f a)
formatElement :: String -> String

-- | Combine two picklers into a pickler for <a>Either</a>. While pickling,
--   check if the either is a <a>Left</a> or <a>Right</a> and use the
--   appropriate pickler. During unpickling, first try the first, and if it
--   fails, try the second.
xpEither :: PU a -> PU b -> PU (Either a b)
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler a => Generics.XmlPickler.GXmlPickler (GHC.Generics.K1 i a)
instance Generics.XmlPickler.GXmlPickler GHC.Generics.U1
instance (Generics.XmlPickler.GXmlPickler f, Generics.XmlPickler.GXmlPickler g) => Generics.XmlPickler.GXmlPickler (f GHC.Generics.:+: g)
instance (Generics.XmlPickler.GXmlPickler f, Generics.XmlPickler.GXmlPickler g) => Generics.XmlPickler.GXmlPickler (f GHC.Generics.:*: g)
instance Generics.XmlPickler.GXmlPickler f => Generics.XmlPickler.GXmlPickler (GHC.Generics.M1 GHC.Generics.D c f)
instance (GHC.Generics.Constructor c, Generics.XmlPickler.GXmlPickler f) => Generics.XmlPickler.GXmlPickler (GHC.Generics.M1 GHC.Generics.C c f)
instance (GHC.Generics.Selector c, Generics.XmlPickler.GXmlPickler f) => Generics.XmlPickler.GXmlPickler (GHC.Generics.M1 GHC.Generics.S c f)
instance Generics.XmlPickler.GXmlPickler (GHC.Generics.K1 i GHC.Base.String)
instance Generics.XmlPickler.GXmlPickler (GHC.Generics.K1 i Data.Text.Internal.Text)
instance (Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler a, GHC.Generics.Selector c) => Generics.XmlPickler.GXmlPickler (GHC.Generics.M1 GHC.Generics.S c (GHC.Generics.K1 i (GHC.Base.Maybe a)))
instance GHC.Generics.Selector c => Generics.XmlPickler.GXmlPickler (GHC.Generics.M1 GHC.Generics.S c (GHC.Generics.K1 i (GHC.Base.Maybe GHC.Base.String)))
instance GHC.Generics.Selector c => Generics.XmlPickler.GXmlPickler (GHC.Generics.M1 GHC.Generics.S c (GHC.Generics.K1 i (GHC.Base.Maybe Data.Text.Internal.Text)))
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler GHC.Types.Bool
instance (Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler a, Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler b) => Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler (Data.Either.Either a b)
