Class StdOutput

Inheritance Relationships

Base Type

Class Documentation

class StdOutput : public ecl::CmdLineOutput

TClap class indirectly used to handle CmdLine arguments.

A class that isolates any output from the CmdLine object so that it may be easily modified.

Public Functions

inline virtual void usage(CmdLineInterface &c)

Prints the usage to stdout. Can be overridden to produce alternative behavior.

Parameters:

c – - The CmdLine object the output is generated for.

inline virtual void version(CmdLineInterface &c)

Prints the version to stdout. Can be overridden to produce alternative behavior.

Parameters:

c – - The CmdLine object the output is generated for.

inline virtual void failure(CmdLineInterface &c, ArgException &e)

Prints (to stderr) an error message, short usage Can be overridden to produce alternative behavior.

Parameters:
  • c – - The CmdLine object the output is generated for.

  • e – - The ArgException that caused the failure.

Protected Functions

inline void _shortUsage(CmdLineInterface &c, std::ostream &os) const

Writes a brief usage message with short args.

Parameters:
  • c – - The CmdLine object the output is generated for.

  • os – - The stream to write the message to.

inline void _longUsage(CmdLineInterface &c, std::ostream &os) const

Writes a longer usage message with long and short args, provides descriptions and prints message.

Parameters:
  • c – - The CmdLine object the output is generated for.

  • os – - The stream to write the message to.

inline void spacePrint(std::ostream &os, const std::string &s, int maxWidth, int indentSpaces, int secondLineOffset) const

This function inserts line breaks and indents long strings according the params input. It will only break lines at spaces, commas and pipes.

Parameters:
  • os – - The stream to be printed to.

  • s – - The string to be printed.

  • maxWidth – - The maxWidth allowed for the output line.

  • indentSpaces – - The number of spaces to indent the first line.

  • secondLineOffset – - The number of spaces to indent the second and all subsequent lines in addition to indentSpaces.