Flox Package Database 1
CRUD Operations on Nix Package Metadata
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
versions.hh File Reference

Interfaces used to perform version number analysis, especially Semantic Version processing. More...

#include <list>
#include <nix/util.hh>
#include <optional>
#include <regex>
#include <string>

Go to the source code of this file.

Classes

class  versions::VersionException
 Typed exception wrapper used for version parsing/comparison errors. More...
 

Namespaces

namespace  versions
 Interfaces for analyzing version numbers.
 

Functions

bool versions::isSemver (const std::string &version)
 
bool versions::isDate (const std::string &version)
 
bool versions::isCoercibleToSemver (const std::string &version)
 
bool versions::isSemverRange (const std::string &version)
 Determine if version is a valid semantic version range string.
 
std::optional< std::string > versions::coerceSemver (std::string_view version)
 Attempt to coerce strings such as "v1.0.2" or 1.0 to valid semantic version strings.
 
std::pair< int, std::string > versions::runSemver (const std::list< std::string > &args)
 Invokes node-semver by exec.
 
std::list< std::string > versions::semverSat (const std::string &range, const std::list< std::string > &versions)
 Filter a list of versions by a node-semver semantic version range.
 

Detailed Description

Interfaces used to perform version number analysis, especially Semantic Version processing.