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  
 
const std::string & getCommand() const;
Returns the command name.
getFooter  
 
const std::string & getFooter() const;
Returns the footer string.
getHeader  
 
const std::string & getHeader() const;
Returns the header string.
getIndent  
 
int getIndent() const;
Returns the indentation for description continuation lines.
getUsage  
 
const std::string & getUsage() const;
Returns the usage string.
getWidth  
 
int getWidth() const;
Returns the line width for the formatted help text.
The default width is 72.
isUnixStyle  
 
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  
 
int calcIndent() const;
Calculates the indentation for the option descriptions from the given options.
clearWord  
 
void clearWord(
    std::ostream & ostr,
    int & pos,
    std::string & word,
    int indent
) const;
Formats and then clears the given word.
formatOption  
 
void formatOption(
    std::ostream & ostr,
    const Option & option,
    int width
) const;
Formats an option, using the platform-specific prefixes.
formatOptions  
 
void formatOptions(
    std::ostream & ostr
) const;
Formats all options.
formatText  
 
void formatText(
    std::ostream & ostr,
    const std::string & text,
    int indent
) const;
Formats the given text.
formatText  
 
void formatText(
    std::ostream & ostr,
    const std::string & text,
    int indent,
    int firstIndent
) const;
Formats the given text.
formatWord  
 
void formatWord(
    std::ostream & ostr,
    int & pos,
    const std::string & word,
    int indent
) const;
Formats the given word.