10#include "derived-path.hh"
16int handleExceptions(
const std::string & programName, std::function<
void()>
fun);
22void initNix(
bool loadConfig =
true);
24void parseCmdLine(
int argc,
char * * argv,
25 std::function<
bool(Strings::iterator & arg,
const Strings::iterator &
end)> parseArg);
27void parseCmdLine(
const std::string & programName,
const Strings &
args,
28 std::function<
bool(Strings::iterator & arg,
const Strings::iterator &
end)> parseArg);
30void printVersion(
const std::string & programName);
41 const std::vector<DerivedPath> & paths,
42 Verbosity lvl = lvlInfo);
45 const StorePathSet & willSubstitute,
const StorePathSet & unknown,
46 uint64_t downloadSize, uint64_t narSize, Verbosity lvl = lvlInfo);
48std::string getArg(
const std::string & opt,
49 Strings::iterator &
i,
const Strings::iterator &
end);
51template<
class N> N getIntArg(
const std::string & opt,
52 Strings::iterator &
i,
const Strings::iterator &
end,
bool allowUnit)
55 if (
i ==
end)
throw UsageError(
"'%1%' requires an argument", opt);
60struct LegacyArgs :
public MixCommonArgs,
public RootArgs
62 std::function<bool(Strings::iterator & arg,
const Strings::iterator &
end)> parseArg;
64 LegacyArgs(
const std::string & programName,
65 std::function<
bool(Strings::iterator & arg,
const Strings::iterator &
end)> parseArg);
67 bool processFlag(Strings::iterator & pos, Strings::iterator
end)
override;
91extern volatile ::sig_atomic_t blockInt;
96std::string showBytes(uint64_t bytes);
104 PrintFreed(
bool show,
const GCResults & results)
105 : show(show), results(results) { }
Definition processes.hh:28
Definition store-api.hh:169
int Descriptor
Definition file-descriptor.hh:20
ChunkedVector< std::string, 8192 > store
Definition lexer.l:1011
PosIdx end
Definition lexer.l:5814
auto i
Definition lexer.l:2745
std::function< void(Sink &)> fun
Definition lexer.l:3485
std::vector< Expr * > args
Definition lexer.l:6126
void defaultStackOverflowHandler(siginfo_t *info, void *ctx)
void detectStackOverflow()
std::function< void(siginfo_t *info, void *ctx)> stackOverflowHandler
Definition gc-store.hh:60
bool processFlag(Strings::iterator &pos, Strings::iterator end) override
Definition shared.cc:260
bool processArgs(const Strings &args, bool finish) override
Definition shared.cc:269
N string2IntWithUnitPrefix(std::string_view s)
Definition util.hh:88