シンプルなQuakeのようなコンソールを実装したいと思います。この実装は、大きく運命3における実装に基づいている:地震のようなコンソールで自動コマンドの登録解除に適切なアプローチは何ですか?
class Console
{
public:
...
typedef boost::function<void(const Arguments&)> Callback;
void register_command(const std::string& name, const Callback& callback);
void unregister_command(const std::string& name);
};
しかし、私はまた、アンロードすることができるロード可能なモジュールをサポートする予定。モジュールがアンロードされると、モジュールはそのコマンドの登録を解除する必要があります。それらを一つずつ登録解除するのは退屈でエラーが起こりやすいです。どのようにそれを自動化する?