28#include <semver/semver.hpp>
63 std::vector<ComparatorSet>
sets;
Result type for fallible operations.
Comparator
Comparator operators for range expressions.
@ Eq
=X.Y.Z or X.Y.Z (exact match)
bool satisfies(const Version &version, const Constraint &constraint)
Check if a version satisfies a single constraint.
std::optional< VersionRange > parse_range(const std::string &str)
Parse a version range string.
std::vector< Constraint > ComparatorSet
std::optional< Version > parse_version(const std::string &str)
Parse a SemVer 2.0.0 version string.
semver::version Version
Semantic version type (MAJOR.MINOR.PATCH[-prerelease][+build])
A single comparator constraint (e.g., ">=1.0.0" or "<2.0.0")
A version range is a union of comparator sets (OR)
std::vector< ComparatorSet > sets
std::optional< Version > min_version() const
Get the minimum version from the range.
std::string selection_key() const
Get selection key as "MAJOR.MINOR" from min_version.