# Functions

ExtractWithPlatform produces a version & platform from the given regular expression and string that should match it.
FromExpr extracts a version from a string in the form of a semver version, where X, Y, and Z may also be wildcards ('*', 'x'), and pre-release names & numbers may also be wildcards.
PatchSelectorFromMatch constructs a simple selector according to the ParseExpr rules out of pre-validated sections.
PointVersionFromValidString extracts a point version from the corresponding string representation, which may be a number >= 0, or x|* (AnyPoint).

# Constants

AnyPoint matches any point version.

# Variables

AnyVersion matches any local or remote version.
ArchiveRE matches concrete version-platform.tar.gz strings.
ConcreteVersionRE matches a concrete version anywhere in the string.
LatestVersion matches the most recent version on the remote server.
OnlyConcreteVersionRE matches a string that's just a concrete version.
VersionPlatformRE matches concrete version-platform strings.

# Structs

AnySelector matches any version at all.
Concrete is a concrete Kubernetes-style semver version.
LessThanSelector selects versions older than the given one (mainly useful for cleaning up).
PatchSelector selects a set of versions where the patch is a wildcard.
Platform contains OS & architecture information Either may be '*' to indicate a wildcard match.
PlatformItem represents a platform with corresponding known metadata for its download.
Set is a concrete version and all the corresponding platforms that it's available for.
Spec matches some version or range of versions, and tells us how to deal with local and remote when selecting a version.
TildeSelector selects [X.Y.Z, X.Y+1.0).

# Interfaces

Selector selects some concrete version or range of versions.

# Type aliases

PointVersion represents a wildcard (patch) version or concrete number.