Poco::Util

class HelpFormatter

File Information

Library: Util
Package: Options
Header: Poco/Util/HelpFormatter.h

Description

This class formats a help message from an OptionSet.

Member Summary

Member Functions: calcIndent, clearWord, format, formatOption, formatOptions, formatText, formatWord, getCommand, getFooter, getHeader, getIndent, getUsage, getWidth, isUnixStyle, longPrefix, setAutoIndent, setCommand, setFooter, setHeader, setIndent, setUnixStyle, setUsage, setWidth, shortPrefix

Constructors

HelpFormatter

HelpFormatter(
    const OptionSet & options
);

Creates the HelpFormatter, using the given options.

The HelpFormatter just stores a reference to the given OptionSet, so the OptionSet must not be destroyed during the lifetime of the HelpFormatter.

Destructor

~HelpFormatter

~HelpFormatter();

Destroys the HelpFormatter.

Member Functions

format

void format(
    std::ostream & ostr
) const;

Writes the formatted help text to the given stream.

getCommand inline

const std::string & getCommand() const;

Returns the command name.

getFooter inline

const std::string & getFooter() const;

Returns the footer string.

getHeader inline

const std::string & getHeader() const;

Returns the header string.

getIndent inline

int getIndent() const;

Returns the indentation for description continuation lines.

getUsage inline

const std::string & getUsage() const;

Returns the usage string.

getWidth inline

int getWidth() const;

Returns the line width for the formatted help text.

The default width is 72.

isUnixStyle inline

bool isUnixStyle() const;

Returns if Unix-style options are set.

longPrefix

std::string longPrefix() const;

Returns the platform-specific prefix for long options. "--" on Unix, "/" on Windows and OpenVMS.

setAutoIndent

void setAutoIndent();

Sets the indentation for description continuation lines so that the description text is left-aligned.

setCommand

void setCommand(
    const std::string & command
);

Sets the command name.

setFooter

void setFooter(
    const std::string & footer
);

Sets the footer string.

setHeader

void setHeader(
    const std::string & header
);

Sets the header string.

setIndent

void setIndent(
    int indent
);

Sets the indentation for description continuation lines.

setUnixStyle

void setUnixStyle(
    bool flag
);

Enables Unix-style options. Both short and long option names are printed if Unix-style is set. Otherwise, only long option names are printed.

After calling setUnixStyle(), setAutoIndent() should be called as well to ensure proper help text formatting.

setUsage

void setUsage(
    const std::string & usage
);

Sets the usage string.

setWidth

void setWidth(
    int width
);

Sets the line width for the formatted help text.

shortPrefix

std::string shortPrefix() const;

Returns the platform-specific prefix for short options. "-" on Unix, "/" on Windows and OpenVMS.

calcIndent protected

int calcIndent() const;

Calculates the indentation for the option descriptions from the given options.

clearWord protected

void clearWord(
    std::ostream & ostr,
    int & pos,
    std::string & word,
    int indent
) const;

Formats and then clears the given word.

formatOption protected

void formatOption(
    std::ostream & ostr,
    const Option & option,
    int width
) const;

Formats an option, using the platform-specific prefixes.

formatOptions protected

void formatOptions(
    std::ostream & ostr
) const;

Formats all options.

formatText protected

void formatText(
    std::ostream & ostr,
    const std::string & text,
    int indent
) const;

Formats the given text.

formatText protected

void formatText(
    std::ostream & ostr,
    const std::string & text,
    int indent,
    int firstIndent
) const;

Formats the given text.

formatWord protected

void formatWord(
    std::ostream & ostr,
    int & pos,
    const std::string & word,
    int indent
) const;

Formats the given word.

Securely control IoT edge devices from anywhere   Connect a Device