CLI11  2.6.2
List of all members
CLI::FormatterBase Class Referenceabstract

#include <FormatterFwd.hpp>

Inheritance diagram for CLI::FormatterBase:
Inheritance graph
[legend]
Collaboration diagram for CLI::FormatterBase:
Collaboration graph
[legend]

Public Member Functions

Basic
 FormatterBase ()=default
 
 FormatterBase (const FormatterBase &)=default
 
 FormatterBase (FormatterBase &&)=default
 
FormatterBaseoperator= (const FormatterBase &)=default
 
FormatterBaseoperator= (FormatterBase &&)=default
 
virtual ~FormatterBase () noexcept
 Adding a destructor in this form to work around bug in GCC 4.7. More...
 
virtual std::string make_help (const App *, std::string, AppFormatMode) const =0
 This is the key method that puts together help. More...
 
Setters
void label (std::string key, std::string val)
 Set the "REQUIRED" or other labels. More...
 
void column_width (std::size_t val)
 Set the left column width (options/flags/subcommands) More...
 
void long_option_alignment_ratio (float ratio)
 
void right_column_width (std::size_t val)
 Set the right column width (description of options/flags/subcommands) More...
 
void description_paragraph_width (std::size_t val)
 Set the description paragraph width at the top of help. More...
 
void footer_paragraph_width (std::size_t val)
 Set the footer paragraph width. More...
 
void enable_description_formatting (bool value=true)
 enable formatting for description paragraph More...
 
void enable_footer_formatting (bool value=true)
 disable formatting for footer paragraph More...
 
void enable_option_defaults (bool value=true)
 enable option defaults to be printed More...
 
void enable_option_type_names (bool value=true)
 enable option type names to be printed More...
 
void enable_default_flag_values (bool value=true)
 enable default flag values to be printed More...
 
Getters
CLI11_NODISCARD std::string get_label (std::string key) const
 Get the current value of a name (REQUIRED, etc.) More...
 
CLI11_NODISCARD std::size_t get_column_width () const
 Get the current left column width (options/flags/subcommands) More...
 
CLI11_NODISCARD std::size_t get_right_column_width () const
 Get the current right column width (description of options/flags/subcommands) More...
 
CLI11_NODISCARD std::size_t get_description_paragraph_width () const
 Get the current description paragraph width at the top of help. More...
 
CLI11_NODISCARD std::size_t get_footer_paragraph_width () const
 Get the current footer paragraph width. More...
 
CLI11_NODISCARD float get_long_option_alignment_ratio () const
 Get the current alignment ratio for long options within the left column. More...
 
CLI11_NODISCARD bool is_description_paragraph_formatting_enabled () const
 Get the current status of description paragraph formatting. More...
 
CLI11_NODISCARD bool is_footer_paragraph_formatting_enabled () const
 Get the current status of whether footer paragraph formatting is enabled. More...
 
CLI11_NODISCARD bool is_option_defaults_enabled () const
 Get the current status of whether option defaults are printed. More...
 
CLI11_NODISCARD bool is_option_type_names_enabled () const
 Get the current status of whether option type names are printed. More...
 
CLI11_NODISCARD bool is_default_flag_values_enabled () const
 Get the current status of whether default flag values are printed. More...
 

Protected Attributes

Options
std::size_t column_width_ {30}
 The width of the left column (options/flags/subcommands) More...
 
float long_option_alignment_ratio_ {1 / 3.f}
 The alignment ratio for long options within the left column. More...
 
std::size_t right_column_width_ {65}
 The width of the right column (description of options/flags/subcommands) More...
 
std::size_t description_paragraph_width_ {80}
 The width of the description paragraph at the top of help. More...
 
std::size_t footer_paragraph_width_ {80}
 The width of the footer paragraph. More...
 
bool enable_description_formatting_ {true}
 options controlling formatting for footer and descriptions More...
 
bool enable_footer_formatting_ {true}
 
bool enable_option_defaults_ {true}
 options controlling formatting of options More...
 
bool enable_option_type_names_ {true}
 
bool enable_default_flag_values_ {true}
 
std::map< std::string, std::string > labels_ {}
 The required help printout labels (user changeable) Values are Needs, Excludes, etc. More...
 

Detailed Description

This is the minimum requirements to run a formatter.

A user can subclass this is if they do not care at all about the structure in CLI::Formatter.

Constructor & Destructor Documentation

CLI::FormatterBase::FormatterBase ( )
default
CLI::FormatterBase::FormatterBase ( const FormatterBase )
default
CLI::FormatterBase::FormatterBase ( FormatterBase &&  )
default
virtual CLI::FormatterBase::~FormatterBase ( )
inlinevirtualnoexcept

Adding a destructor in this form to work around bug in GCC 4.7.

Member Function Documentation

void CLI::FormatterBase::column_width ( std::size_t  val)
inline

Set the left column width (options/flags/subcommands)

void CLI::FormatterBase::description_paragraph_width ( std::size_t  val)
inline

Set the description paragraph width at the top of help.

void CLI::FormatterBase::enable_default_flag_values ( bool  value = true)
inline

enable default flag values to be printed

void CLI::FormatterBase::enable_description_formatting ( bool  value = true)
inline

enable formatting for description paragraph

void CLI::FormatterBase::enable_footer_formatting ( bool  value = true)
inline

disable formatting for footer paragraph

void CLI::FormatterBase::enable_option_defaults ( bool  value = true)
inline

enable option defaults to be printed

void CLI::FormatterBase::enable_option_type_names ( bool  value = true)
inline

enable option type names to be printed

void CLI::FormatterBase::footer_paragraph_width ( std::size_t  val)
inline

Set the footer paragraph width.

CLI11_NODISCARD std::size_t CLI::FormatterBase::get_column_width ( ) const
inline

Get the current left column width (options/flags/subcommands)

CLI11_NODISCARD std::size_t CLI::FormatterBase::get_description_paragraph_width ( ) const
inline

Get the current description paragraph width at the top of help.

CLI11_NODISCARD std::size_t CLI::FormatterBase::get_footer_paragraph_width ( ) const
inline

Get the current footer paragraph width.

CLI11_NODISCARD std::string CLI::FormatterBase::get_label ( std::string  key) const
inline

Get the current value of a name (REQUIRED, etc.)

CLI11_NODISCARD float CLI::FormatterBase::get_long_option_alignment_ratio ( ) const
inline

Get the current alignment ratio for long options within the left column.

Returns
CLI11_NODISCARD std::size_t CLI::FormatterBase::get_right_column_width ( ) const
inline

Get the current right column width (description of options/flags/subcommands)

CLI11_NODISCARD bool CLI::FormatterBase::is_default_flag_values_enabled ( ) const
inline

Get the current status of whether default flag values are printed.

CLI11_NODISCARD bool CLI::FormatterBase::is_description_paragraph_formatting_enabled ( ) const
inline

Get the current status of description paragraph formatting.

CLI11_NODISCARD bool CLI::FormatterBase::is_footer_paragraph_formatting_enabled ( ) const
inline

Get the current status of whether footer paragraph formatting is enabled.

CLI11_NODISCARD bool CLI::FormatterBase::is_option_defaults_enabled ( ) const
inline

Get the current status of whether option defaults are printed.

CLI11_NODISCARD bool CLI::FormatterBase::is_option_type_names_enabled ( ) const
inline

Get the current status of whether option type names are printed.

void CLI::FormatterBase::label ( std::string  key,
std::string  val 
)
inline

Set the "REQUIRED" or other labels.

void CLI::FormatterBase::long_option_alignment_ratio ( float  ratio)
inline

Set the alignment ratio for long options within the left column The ratio is in [0;1] range (e.g. 0.2 = 20% of column width, 6.f/column_width = 6th character)

virtual std::string CLI::FormatterBase::make_help ( const App ,
std::string  ,
AppFormatMode   
) const
pure virtual

This is the key method that puts together help.

Implemented in CLI::Formatter, and CLI::FormatterLambda.

FormatterBase& CLI::FormatterBase::operator= ( const FormatterBase )
default
FormatterBase& CLI::FormatterBase::operator= ( FormatterBase &&  )
default
void CLI::FormatterBase::right_column_width ( std::size_t  val)
inline

Set the right column width (description of options/flags/subcommands)

Member Data Documentation

std::size_t CLI::FormatterBase::column_width_ {30}
protected

The width of the left column (options/flags/subcommands)

std::size_t CLI::FormatterBase::description_paragraph_width_ {80}
protected

The width of the description paragraph at the top of help.

bool CLI::FormatterBase::enable_default_flag_values_ {true}
protected
bool CLI::FormatterBase::enable_description_formatting_ {true}
protected

options controlling formatting for footer and descriptions

bool CLI::FormatterBase::enable_footer_formatting_ {true}
protected
bool CLI::FormatterBase::enable_option_defaults_ {true}
protected

options controlling formatting of options

bool CLI::FormatterBase::enable_option_type_names_ {true}
protected
std::size_t CLI::FormatterBase::footer_paragraph_width_ {80}
protected

The width of the footer paragraph.

std::map<std::string, std::string> CLI::FormatterBase::labels_ {}
protected

The required help printout labels (user changeable) Values are Needs, Excludes, etc.

float CLI::FormatterBase::long_option_alignment_ratio_ {1 / 3.f}
protected

The alignment ratio for long options within the left column.

std::size_t CLI::FormatterBase::right_column_width_ {65}
protected

The width of the right column (description of options/flags/subcommands)


The documentation for this class was generated from the following file: