mirror of
https://github.com/NixOS/nix.git
synced 2025-11-14 14:32:42 +01:00
Merge pull request #14558 from NixOS/backport-14551-to-2.32-maintenance
[Backport 2.32-maintenance] Remove static data from headers
This commit is contained in:
commit
a5f9651163
10 changed files with 37 additions and 26 deletions
|
|
@ -2,6 +2,7 @@
|
|||
#include <nlohmann/json.hpp>
|
||||
|
||||
#include "nix/cmd/command.hh"
|
||||
#include "nix/cmd/legacy.hh"
|
||||
#include "nix/cmd/markdown.hh"
|
||||
#include "nix/store/store-open.hh"
|
||||
#include "nix/store/local-fs-store.hh"
|
||||
|
|
@ -14,6 +15,18 @@
|
|||
|
||||
namespace nix {
|
||||
|
||||
RegisterCommand::Commands & RegisterCommand::commands()
|
||||
{
|
||||
static RegisterCommand::Commands commands;
|
||||
return commands;
|
||||
}
|
||||
|
||||
RegisterLegacyCommand::Commands & RegisterLegacyCommand::commands()
|
||||
{
|
||||
static RegisterLegacyCommand::Commands commands;
|
||||
return commands;
|
||||
}
|
||||
|
||||
nix::Commands RegisterCommand::getCommandsFor(const std::vector<std::string> & prefix)
|
||||
{
|
||||
nix::Commands res;
|
||||
|
|
|
|||
|
|
@ -286,11 +286,7 @@ struct RegisterCommand
|
|||
{
|
||||
typedef std::map<std::vector<std::string>, std::function<ref<Command>()>> Commands;
|
||||
|
||||
static Commands & commands()
|
||||
{
|
||||
static Commands commands;
|
||||
return commands;
|
||||
}
|
||||
static Commands & commands();
|
||||
|
||||
RegisterCommand(std::vector<std::string> && name, std::function<ref<Command>()> command)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -13,11 +13,7 @@ struct RegisterLegacyCommand
|
|||
{
|
||||
typedef std::map<std::string, MainFunction> Commands;
|
||||
|
||||
static Commands & commands()
|
||||
{
|
||||
static Commands commands;
|
||||
return commands;
|
||||
}
|
||||
static Commands & commands();
|
||||
|
||||
RegisterLegacyCommand(const std::string & name, MainFunction fun)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,11 +12,7 @@ struct RegisterPrimOp
|
|||
{
|
||||
typedef std::vector<PrimOp> PrimOps;
|
||||
|
||||
static PrimOps & primOps()
|
||||
{
|
||||
static PrimOps primOps;
|
||||
return primOps;
|
||||
}
|
||||
static PrimOps & primOps();
|
||||
|
||||
/**
|
||||
* You can register a constant by passing an arity of 0. fun
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ struct PrintOptions
|
|||
* `PrintOptions` for unknown and therefore potentially large values in error messages,
|
||||
* to avoid printing "too much" output.
|
||||
*/
|
||||
static PrintOptions errorPrintOptions = PrintOptions{
|
||||
static constexpr PrintOptions errorPrintOptions = PrintOptions{
|
||||
.ansiColors = true,
|
||||
.maxDepth = 10,
|
||||
.maxAttrs = 10,
|
||||
|
|
|
|||
|
|
@ -39,6 +39,12 @@
|
|||
|
||||
namespace nix {
|
||||
|
||||
RegisterPrimOp::PrimOps & RegisterPrimOp::primOps()
|
||||
{
|
||||
static RegisterPrimOp::PrimOps primOps;
|
||||
return primOps;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
* Miscellaneous
|
||||
*************************************************************/
|
||||
|
|
|
|||
|
|
@ -10,6 +10,12 @@
|
|||
|
||||
namespace nix {
|
||||
|
||||
RegisterBuiltinBuilder::BuiltinBuilders & RegisterBuiltinBuilder::builtinBuilders()
|
||||
{
|
||||
static RegisterBuiltinBuilder::BuiltinBuilders builders;
|
||||
return builders;
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
struct State
|
||||
|
|
|
|||
|
|
@ -20,11 +20,7 @@ struct RegisterBuiltinBuilder
|
|||
{
|
||||
typedef std::map<std::string, BuiltinBuilder> BuiltinBuilders;
|
||||
|
||||
static BuiltinBuilders & builtinBuilders()
|
||||
{
|
||||
static BuiltinBuilders builders;
|
||||
return builders;
|
||||
}
|
||||
static BuiltinBuilders & builtinBuilders();
|
||||
|
||||
RegisterBuiltinBuilder(const std::string & name, BuiltinBuilder && fun)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,6 +4,12 @@
|
|||
|
||||
namespace nix {
|
||||
|
||||
GlobalConfig::ConfigRegistrations & GlobalConfig::configRegistrations()
|
||||
{
|
||||
static GlobalConfig::ConfigRegistrations configRegistrations;
|
||||
return configRegistrations;
|
||||
}
|
||||
|
||||
bool GlobalConfig::set(const std::string & name, const std::string & value)
|
||||
{
|
||||
for (auto & config : configRegistrations())
|
||||
|
|
|
|||
|
|
@ -9,11 +9,7 @@ struct GlobalConfig : public AbstractConfig
|
|||
{
|
||||
typedef std::vector<Config *> ConfigRegistrations;
|
||||
|
||||
static ConfigRegistrations & configRegistrations()
|
||||
{
|
||||
static ConfigRegistrations configRegistrations;
|
||||
return configRegistrations;
|
||||
}
|
||||
static ConfigRegistrations & configRegistrations();
|
||||
|
||||
bool set(const std::string & name, const std::string & value) override;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue