2025-09-24 16:20:21 +08:00
|
|
|
#pragma once
|
|
|
|
#include "summary.hpp"
|
|
|
|
#include "option.hpp"
|
|
|
|
#include "variable.hpp"
|
2025-09-25 15:29:55 +08:00
|
|
|
#include "../../macro/class_copy_move.hpp"
|
2025-09-24 16:20:21 +08:00
|
|
|
|
|
|
|
#define NS_YYCC_CLAP ::yycc::carton::clap
|
|
|
|
|
|
|
|
namespace yycc::carton::clap::application {
|
|
|
|
|
|
|
|
class Application {
|
|
|
|
public:
|
|
|
|
Application(NS_YYCC_CLAP::summary::Summary&& summary,
|
|
|
|
NS_YYCC_CLAP::option::OptionCollection&& options,
|
|
|
|
NS_YYCC_CLAP::variable::VariableCollection&& variables);
|
|
|
|
~Application();
|
|
|
|
YYCC_DEFAULT_COPY_MOVE(Application);
|
|
|
|
|
|
|
|
public:
|
|
|
|
const NS_YYCC_CLAP::summary::Summary& get_summary() const;
|
|
|
|
const NS_YYCC_CLAP::option::OptionCollection& get_options() const;
|
|
|
|
const NS_YYCC_CLAP::variable::VariableCollection& get_variables() const;
|
|
|
|
|
|
|
|
private:
|
|
|
|
NS_YYCC_CLAP::summary::Summary summary;
|
|
|
|
NS_YYCC_CLAP::option::OptionCollection options;
|
|
|
|
NS_YYCC_CLAP::variable::VariableCollection variables;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#undef NS_YYCC_CLAP
|