Files
lix/lix/libstore/names.hh
T
eldritch horrorsandjade b0d7a81613 fix tooling after include reorganization
clangd broke because it can't look through symlinks. compile_commands
manipulation does not fix it, clangd configuration does not fix it, a
vfs overlay does not fix it, and while a combination of those can fix
it with a bind mount in place that's just too cursed to even consider

clangd bug: https://github.com/llvm/llvm-project/issues/116877

Change-Id: I8e3e8489548eb3a7aa65ac9d12a5ec8abf814aec
2024-11-19 22:55:32 +00:00

37 lines
673 B
C++

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