#pragma once #include <functional> #include <map> #include <string> namespace nix { typedef std::function<void(int, char**)> MainFunction; struct RegisterLegacyCommand { typedef std::map<std::string, MainFunction> Commands; static Commands* commands; RegisterLegacyCommand(const std::string& name, MainFunction fun) { if (!commands) commands = new Commands; (*commands)[name] = fun; } }; } // namespace nix