Library: Util
Package: Options
Header: Poco/Util/HelpFormatter.h
This class formats a help message from an OptionSet.
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
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.
~HelpFormatter();
Destroys the HelpFormatter.
void format(
    std::ostream & ostr
) const;
Writes the formatted help text to the given stream.
 
 const std::string & getCommand() const;
Returns the command name.
 
 const std::string & getFooter() const;
Returns the footer string.
 
 const std::string & getHeader() const;
Returns the header string.
 
 int getIndent() const;
Returns the indentation for description continuation lines.
 
 const std::string & getUsage() const;
Returns the usage string.
 
 int getWidth() const;
Returns the line width for the formatted help text.
The default width is 72.
 
 bool isUnixStyle() const;
Returns if Unix-style options are set.
std::string longPrefix() const;
Returns the platform-specific prefix for long options. "—" on Unix, "/" on Windows and OpenVMS.
void setAutoIndent();
Sets the indentation for description continuation lines so that the description text is left-aligned.
void setCommand(
    const std::string & command
);
Sets the command name.
void setFooter(
    const std::string & footer
);
Sets the footer string.
void setHeader(
    const std::string & header
);
Sets the header string.
void setIndent(
    int indent
);
Sets the indentation for description continuation lines.
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.
void setUsage(
    const std::string & usage
);
Sets the usage string.
void setWidth(
    int width
);
Sets the line width for the formatted help text.
std::string shortPrefix() const;
Returns the platform-specific prefix for short options. "-" on Unix, "/" on Windows and OpenVMS.
 
 int calcIndent() const;
Calculates the indentation for the option descriptions from the given options.
 
 void clearWord(
    std::ostream & ostr,
    int & pos,
    std::string & word,
    int indent
) const;
Formats and then clears the given word.
 
 void formatOption(
    std::ostream & ostr,
    const Option & option,
    int width
) const;
Formats an option, using the platform-specific prefixes.
 
 void formatOptions(
    std::ostream & ostr
) const;
Formats all options.
 
 void formatText(
    std::ostream & ostr,
    const std::string & text,
    int indent
) const;
Formats the given text.
 
 void formatText(
    std::ostream & ostr,
    const std::string & text,
    int indent,
    int firstIndent
) const;
Formats the given text.
 
 void formatWord(
    std::ostream & ostr,
    int & pos,
    const std::string & word,
    int indent
) const;
Formats the given word.