}
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::optional< Version > parse_version(const std::string &str)
Parse a SemVer 2.0.0 version string.
Semantic Versioning 2.0.0 support.
#pragma once
#include <cstdint>
#include <semver/semver.hpp>
#include <optional>
#include <string>
#include <vector>
};
struct Constraint {
};
struct VersionRange {
std::vector<ComparatorSet>
sets;
};
std::optional<VersionRange>
parse_range(
const std::string& str);
}
Comparator
Comparator operators for range expressions.
@ Eq
=X.Y.Z or X.Y.Z (exact match)
std::vector< Constraint > ComparatorSet
semver::version Version
Semantic version type (MAJOR.MINOR.PATCH[-prerelease][+build])
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.