| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Simplex.Messaging.Version
Synopsis
- data Version v
- data VersionRange v
- class VersionScope v
- pattern VersionRange :: Version v -> Version v -> VersionRange v
- class VersionScope v => VersionI v a | a -> v where
- type VersionRangeT v a
- version :: a -> Version v
- toVersionRangeT :: a -> VersionRange v -> VersionRangeT v a
- class VersionScope v => VersionRangeI v a | a -> v where
- type VersionT v a
- versionRange :: a -> VersionRange v
- toVersionRange :: a -> VersionRange v -> a
- toVersionT :: a -> Version v -> VersionT v a
- data Compatible a
- pattern Compatible :: a -> Compatible a
- mkVersionRange :: Version v -> Version v -> VersionRange v
- safeVersionRange :: Version v -> Version v -> Maybe (VersionRange v)
- versionToRange :: Version v -> VersionRange v
- isCompatible :: VersionI v a => a -> VersionRange v -> Bool
- isCompatibleRange :: VersionRangeI v a => a -> VersionRange v -> Bool
- proveCompatible :: VersionI v a => a -> VersionRange v -> Maybe (Compatible a)
- compatibleVersion :: VersionRangeI v a => a -> VersionRange v -> Maybe (Compatible (VersionT v a))
- compatibleVRange :: VersionRangeI v a => a -> VersionRange v -> Maybe (Compatible a)
- compatibleVRange' :: VersionRangeI v a => a -> Version v -> Maybe (Compatible a)
Documentation
Instances
data VersionRange v Source #
Instances
class VersionScope v Source #
Instances
| VersionScope XFTPVersion Source # | |
Defined in Simplex.FileTransfer.Transport | |
| VersionScope NTFVersion Source # | |
Defined in Simplex.Messaging.Notifications.Transport | |
| VersionScope SMPClientVersion Source # | |
Defined in Simplex.Messaging.Protocol | |
| VersionScope SMPVersion Source # | |
Defined in Simplex.Messaging.Transport | |
| VersionScope RCPVersion Source # | |
Defined in Simplex.RemoteControl.Types | |
pattern VersionRange :: Version v -> Version v -> VersionRange v Source #
class VersionScope v => VersionI v a | a -> v where Source #
Associated Types
type VersionRangeT v a Source #
Methods
version :: a -> Version v Source #
toVersionRangeT :: a -> VersionRange v -> VersionRangeT v a Source #
Instances
| VersionI SMPClientVersion SMPQueueInfo Source # | |
Defined in Simplex.Messaging.Agent.Protocol Associated Types | |
| VersionScope v => VersionI v (Version v) Source # | |
Defined in Simplex.Messaging.Version Associated Types type VersionRangeT v (Version v) Source # Methods version :: Version v -> Version v Source # toVersionRangeT :: Version v -> VersionRange v -> VersionRangeT v (Version v) Source # | |
class VersionScope v => VersionRangeI v a | a -> v where Source #
Methods
versionRange :: a -> VersionRange v Source #
toVersionRange :: a -> VersionRange v -> a Source #
toVersionT :: a -> Version v -> VersionT v a Source #
Instances
| VersionRangeI SMPClientVersion SMPQueueUri Source # | |
Defined in Simplex.Messaging.Agent.Protocol Associated Types | |
| VersionScope v => VersionRangeI v (VersionRange v) Source # | |
Defined in Simplex.Messaging.Version Associated Types type VersionT v (VersionRange v) Source # Methods versionRange :: VersionRange v -> VersionRange v Source # toVersionRange :: VersionRange v -> VersionRange v -> VersionRange v Source # toVersionT :: VersionRange v -> Version v -> VersionT v (VersionRange v) Source # | |
data Compatible a Source #
pattern Compatible :: a -> Compatible a Source #
mkVersionRange :: Version v -> Version v -> VersionRange v Source #
construct valid version range, to be used in constants
safeVersionRange :: Version v -> Version v -> Maybe (VersionRange v) Source #
versionToRange :: Version v -> VersionRange v Source #
isCompatible :: VersionI v a => a -> VersionRange v -> Bool Source #
isCompatibleRange :: VersionRangeI v a => a -> VersionRange v -> Bool Source #
proveCompatible :: VersionI v a => a -> VersionRange v -> Maybe (Compatible a) Source #
compatibleVersion :: VersionRangeI v a => a -> VersionRange v -> Maybe (Compatible (VersionT v a)) Source #
compatibleVRange :: VersionRangeI v a => a -> VersionRange v -> Maybe (Compatible a) Source #
intersection of version ranges
compatibleVRange' :: VersionRangeI v a => a -> Version v -> Maybe (Compatible a) Source #
version range capped by compatible version