PIP 5.6.1
Platform-Independent Primitives
Открытые члены | Полный список членов класса
Класс PICLI

Класс парсера аргументов командной строки Подробнее...

#include <picli.h>

Открытые члены

 PICLI (int argc, char *argv[])
 Создает PICLI из "argc" и "argv" из метода "int main()".
 
void addArgument (const PIString &name, bool value=false)
 Добавляет аргумент с именем "name", коротким ключом = первой букве имени и полным ключом = имени.
 
void addArgument (const PIString &name, const PIChar &shortKey, bool value=false)
 Добавляет аргумент с именем "name", коротким ключом = "shortKey" и полным ключом = имени.
 
void addArgument (const PIString &name, const char *shortKey, bool value=false)
 Добавляет аргумент с именем "name", коротким ключом = "shortKey" и полным ключом = имени.
 
void addArgument (const PIString &name, const PIChar &shortKey, const PIString &fullKey, bool value=false)
 Добавляет аргумент с именем "name", коротким ключом = "shortKey" и полным ключом = "fullKey".
 
void addArgument (const PIString &name, const char *shortKey, const PIString &fullKey, bool value=false)
 Добавляет аргумент с именем "name", коротким ключом = "shortKey" и полным ключом = "fullKey".
 
PIString rawArgument (int index)
 Возвращает исходный аргумент командной строки по индексу "index". Индекс 0 это команда вызова программы.
 
PIString mandatoryArgument (int index)
 Возвращает обязательный позиционный аргумент по индексу.
 
PIString optionalArgument (int index)
 Возвращает необязательный позиционный аргумент по индексу.
 
const PIStringListrawArguments ()
 Возвращает исходные аргументы командной строки.
 
const PIStringListmandatoryArguments ()
 Возвращает все обязательные позиционные аргументы.
 
const PIStringListoptionalArguments ()
 Возвращает все необязательные позиционные аргументы.
 
PIString programCommand ()
 Возвращает команду вызова программы без аргументов.
 
bool hasArgument (const PIString &name)
 Возвращает найден ли аргумент "name".
 
PIString argumentValue (const PIString &name)
 Возвращает значение аргумента "name" или пустую строку, если значения нет.
 
PIString argumentShortKey (const PIString &name)
 Возвращает короткий ключ аргумента "name" или пустую строку, если аргумента нет.
 
PIString argumentFullKey (const PIString &name)
 Возвращает полный ключ аргумента "name" или пустую строку, если аргумента нет.
 
const PIStringshortKeyPrefix () const
 Возвращает префикс коротких ключей.
 
const PIStringfullKeyPrefix () const
 Возвращает префикс полных ключей.
 
int mandatoryArgumentsCount () const
 Возвращает ожидаемое количество обязательных позиционных аргументов.
 
int optionalArgumentsCount () const
 Возвращает ожидаемое количество необязательных позиционных аргументов.
 
void setShortKeyPrefix (const PIString &prefix)
 Устанавливает префикс коротких ключей, например "-d".
 
void setFullKeyPrefix (const PIString &prefix)
 Устанавливает префикс полных ключей, например "--debug".
 
void setMandatoryArgumentsCount (const int count)
 Устанавливает количество обязательных позиционных аргументов, собираемых до необязательных.
 
void setOptionalArgumentsCount (const int count)
 Устанавливает количество необязательных позиционных аргументов. Отрицательное значение означает без ограничения.
 
bool debug () const
 Возвращает флаг режима отладки.
 
void setDebug (bool debug)
 Включает или выключает режим отладки.
 
PIConstChars className () const
 Возвращает имя класса.
 
PIString name () const
 Возвращает читаемое имя объекта.
 

Подробное описание

Класс парсера аргументов командной строки

Класс PICLI предоставляет удобный разбор аргументов командной строки. Поддерживаются короткие ключи (например, -c), полные ключи (например, –console) и аргументы с значениями/без значений.

Краткий обзор

Этот класс предоставляет удобный механизм для разбора аргументов командной строки. Сперва необходимо добавить аргументы в PICLI с помощью методов addArgument(). Далее можно проверять аргументы на наличие в командной строке методом hasArgument(), а также получать их значения при помощи argumentValue().

Пример

int main(int argc, char ** argv) {
PICLI cli(argc, argv);
cli.addArgument("console");
cli.addArgument("debug");
cli.addArgument("Value", "v", "value", true);
if (cli.hasArgument("console"))
piCout << "console active";
if (cli.hasArgument("debug"))
piCout << "debug active";
piCout << "Value =" << cli.argumentValue("Value");
return 0;
}
Класс парсера аргументов командной строки
Definition: picli.h:40
#define piCout
Definition: picout.h:36

Эти вызовы будут идентичны:

a.out -cd -v 10
a.out --value 10 -dc
a.out -c -v 10 -d
a.out --console -d -v 10
a.out --debug -c --value 10
bool debug() const
Возвращает флаг режима отладки.
Definition: picli.h:146