-- 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.0
-- | 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
-- | 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.Enum.Enum Foreign.Libversion.VersionFlag
instance GHC.Classes.Ord Foreign.Libversion.VersionString
instance GHC.Classes.Eq Foreign.Libversion.VersionString