snix/third_party/nix/src/libexpr/names.hh
Kane York ef54f5da9f fix(3p/nix): apply all clang-tidy fixes
Change-Id: I265e763393422ee1881653527c91024458060825
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1432
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-07-27 21:16:39 +00:00

31 lines
630 B
C++

#pragma once
#include <memory>
#include <regex>
#include "libutil/types.hh"
namespace nix {
struct DrvName {
std::string fullName;
std::string name;
std::string version;
unsigned int hits{};
DrvName();
DrvName(const std::string& s);
bool matches(DrvName& n);
private:
std::unique_ptr<std::regex> regex;
};
typedef std::list<DrvName> DrvNames;
std::string nextComponent(std::string::const_iterator& p,
const std::string::const_iterator end);
int compareVersions(const std::string& v1, const std::string& v2);
DrvNames drvNamesFromArgs(const Strings& opArgs);
} // namespace nix