Lumino
ln::CommandLineParser Class Reference

コマンドライン引数を解析するための機能を提供します。 More...

#include <CommandLineParser.hpp>

Inheritance diagram for ln::CommandLineParser:
ln::CommandLineCommandBase ln::RefObject

Public Member Functions

CommandLineCommandaddCommand (const String &name, const String &description)
 コマンドを追加します。
 
CommandLineOptionaddFlagOption (const StringRef &shortName, const StringRef &longName, const StringRef &description)
 フラグオプションを追加します。
 
CommandLineOptionaddValueOption (const StringRef &shortName, const StringRef &longName, const StringRef &description, const StringRef &defaultValue=StringRef())
 値を持つオプションを追加します。
 
CommandLineOptionaddNamedValueOption (const StringRef &shortName, const StringRef &longName, const StringRef &description, const List< String > &namedValues, const StringRef &defaultValue=StringRef())
 列挙型のように、あらかじめ決められた値を指定する必要があるオプションを追加します。
 
CommandLinePositionalArgumentaddPositionalArgument (const String &name, const String &description, CommandLinePositionalArgumentFlags flags=CommandLinePositionalArgumentFlags::None)
 位置引数を追加します。
 
CommandLinePositionalArgumentaddListPositionalArgument (const String &name, const String &description, CommandLinePositionalArgumentFlags flags=CommandLinePositionalArgumentFlags::None)
 複数の値を受け取ることができる位置引数を追加します。
 
CommandLineOptionaddVersionOption (const StringRef &versionText)
 バージョンを表示するためのオプションを追加します。-v, –version が定義されます。
 
CommandLineOptionaddHelpOption ()
 ヘルプを表示するためのオプションを追加します。-h, –help が定義されます。
 
void setApplicationDescription (const StringRef &description)
 アプリケーションの説明を追加します。この説明はヘルプに表示されます。
 
bool process (int argc, char **argv)
 コマンドライン引数の解析を実行します。 More...
 
bool hasError () const
 解析したコマンドライン引数の構文に問題があったかを確認します。
 
bool has (const CommandLineCommand *command) const
 指定したコマンドが、process によって解析したコマンドライン引数に含まれていたかを確認します。
 
bool has (const CommandLineOption *command) const
 指定したオプションが、process によって解析したコマンドライン引数に含まれていたかを確認します。
 
void printVersion () const
 バージョン情報を標準出力します。
 
void printHelp (const StringRef &commandName=StringRef()) const
 ヘルプ情報を標準出力します。
 

Additional Inherited Members

- Protected Member Functions inherited from ln::RefObject
virtual void finalize ()
 参照がなくなり、オブジェクトが削除されようとしているときに呼び出されます。実装コードでは仮想関数を呼び出すことができます。主にデストラクタの制限を回避するために使用します。
 

Detailed Description

コマンドライン引数を解析するための機能を提供します。

Member Function Documentation

◆ process()

bool ln::CommandLineParser::process ( int  argc,
char **  argv 
)

コマンドライン引数の解析を実行します。

オプションや位置引数の解析に加えて、組み込みオプションと解析エラーも処理します。 組み込みオプションはバージョン表示 (addVersionOption() により定義する) と ヘルプ表示 (addHelpOption() により定義する) です。

組み込みオプションと解析エラーが処理された場合、false を返します。この時は対応するメッセージが出力されています。 true を返した場合は各オプションや位置引数の値を読み取り、処理を継続することができます。

なお、引数が 1 つのみ (プログラム名のみ) である場合は true を返します。 この場合、組み込みオプションは処理されていません。(自動的にヘルプを表示したりはしません)


The documentation for this class was generated from the following file: