-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Haskell binding to libversion
--
-- Haskell binding to libversion, an advanced version string comparison
-- library
@package libversion
@version 0.1.1
-- | Bindings to libversion
module Foreign.Libversion
-- | newtype around ByteString that uses compareVersion to
-- implement the Ord instance
newtype VersionString
VersionString :: ByteString -> VersionString
[unVersionString] :: VersionString -> ByteString
-- | A wrapper around ByteString like VersionString but has
-- an VersionFlag attached. Uses compareVersion' to
-- implement the Ord instance
data VersionString'
VersionString' :: ByteString -> VersionFlag -> VersionString'
-- | Flags to tune the comparison behavior
data VersionFlag
NoFlag :: VersionFlag
-- | p letter is treated as patch (post-release) instead of
-- pre (pre-release).
PIsPatch :: VersionFlag
-- | any letter sequence is treated as post-release (useful for handling
-- patchsets as in 1.2foopatchset3.barpatchset4).
AnyIsPatch :: VersionFlag
-- | derive lowest possible version with the given prefix. For example,
-- lower bound for 1.0 is such imaginary version ? that
-- it's higher than any release before 1.0 and lower than any
-- prerelease of 1.0. E.g. 0.999 < lower
-- bound(1.0) < 1.0alpha0.
LowerBound :: VersionFlag
-- | derive highest possible version with the given prefix. Oppisite of
-- LowerBound.
UpperBound :: VersionFlag
-- | Compare version strings v1 and v2
compareVersion :: ByteString -> ByteString -> Ordering
-- | Compare version strings v1 and v2 with additional
-- flags
compareVersion' :: VersionFlag -> VersionFlag -> ByteString -> ByteString -> Ordering
instance Data.String.IsString Foreign.Libversion.VersionString
instance GHC.Base.Monoid Foreign.Libversion.VersionString
instance GHC.Base.Semigroup Foreign.Libversion.VersionString
instance GHC.Show.Show Foreign.Libversion.VersionString
instance GHC.Classes.Eq Foreign.Libversion.VersionFlag
instance GHC.Show.Show Foreign.Libversion.VersionFlag
instance GHC.Show.Show Foreign.Libversion.VersionString'
instance GHC.Classes.Ord Foreign.Libversion.VersionString'
instance GHC.Classes.Eq Foreign.Libversion.VersionString'
instance GHC.Enum.Enum Foreign.Libversion.VersionFlag
instance GHC.Classes.Ord Foreign.Libversion.VersionString
instance GHC.Classes.Eq Foreign.Libversion.VersionString