Plasma Engine  2.0
Loading...
Searching...
No Matches
plCommandLineOptionDoc Class Reference

plCommandLineOptionDoc can be used to document a command line option whose logic might be more complex than what the other option types provide. More...

#include <CommandLineOptions.h>

Inheritance diagram for plCommandLineOptionDoc:

Public Member Functions

 plCommandLineOptionDoc (plStringView sSortingGroup, plStringView sArgument, plStringView sParamShortDesc, plStringView sLongDesc, plStringView sDefaultValue, bool bCaseSensitive=false)
 
virtual void GetOptions (plStringBuilder &ref_sOut) const override
 Writes all the supported options (e.g. '-arg') to 'out'. If more than one option is allowed, they should be separated with semicolons or pipes.
 
virtual void GetParamShortDesc (plStringBuilder &ref_sOut) const override
 Returns a very short description of the option (type). For example "<int>" or "<enum>".
 
virtual void GetParamDefaultValueDesc (plStringBuilder &ref_sOut) const override
 Returns a very short string for the options default value. For example "0" or "auto".
 
virtual void GetLongDesc (plStringBuilder &ref_sOut) const override
 Returns a proper description of the option.
 
virtual plStringView GetType () override
 Returns "Doc".
 
bool IsOptionSpecified (plStringBuilder *out_pWhich=nullptr, const plCommandLineUtils *pUtils=plCommandLineUtils::GetGlobalInstance()) const
 Checks whether any of the option variants is set on the command line, and returns which one. For example '-h' or '-help'.
 
- Public Member Functions inherited from plCommandLineOption
 plCommandLineOption (plStringView sSortingGroup)
 
virtual void GetSortingGroup (plStringBuilder &ref_sOut) const
 Writes the sorting group name to 'out'.
 
void GetSplitOptions (plStringBuilder &out_sAll, plDynamicArray< plStringView > &ref_splitOptions) const
 Returns the supported option names (e.g. '-arg') as split strings.
 

Protected Member Functions

bool ShouldLog (LogMode mode, bool bWasSpecified) const
 
void LogOption (plStringView sOption, plStringView sValue, bool bWasSpecified) const
 

Protected Attributes

plStringView m_sArgument
 
plStringView m_sParamShortDesc
 
plStringView m_sParamDefaultValue
 
plStringView m_sLongDesc
 
bool m_bCaseSensitive = false
 
bool m_bLoggedOnce = false
 
- Protected Attributes inherited from plCommandLineOption
plStringView m_sSortingGroup
 
- Protected Attributes inherited from plEnumerable< plCommandLineOption >
plEnumerablem_pNextInstance
 

Additional Inherited Members

- Public Types inherited from plCommandLineOption
enum class  LogAvailableModes { Always , IfHelpRequested }
 
enum class  LogMode {
  Never , FirstTime , FirstTimeIfSpecified , Always ,
  AlwaysIfSpecified
}
 Describes whether the value of an option (and whether something went wrong), should be printed to plLog. More...
 
- Static Public Member Functions inherited from plCommandLineOption
static bool IsHelpRequested (const plCommandLineUtils *pUtils=plCommandLineUtils::GetGlobalInstance())
 Checks whether a command line was passed that requests help output.
 
static plResult RequireOptions (plStringView sRequiredOptions, plString *pMissingOption=nullptr, const plCommandLineUtils *pUtils=plCommandLineUtils::GetGlobalInstance())
 Checks whether all required options are passed to the command line.
 
static bool LogAvailableOptions (LogAvailableModes mode, plStringView sGroupFilter={}, const plCommandLineUtils *pUtils=plCommandLineUtils::GetGlobalInstance())
 Prints all available options to the plLog.
 
static bool LogAvailableOptionsToBuffer (plStringBuilder &out_sBuffer, LogAvailableModes mode, plStringView sGroupFilter={}, const plCommandLineUtils *pUtils=plCommandLineUtils::GetGlobalInstance())
 Same as LogAvailableOptions() but captures the output from plLog and returns it in an plStringBuilder.
 
- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 

Detailed Description

plCommandLineOptionDoc can be used to document a command line option whose logic might be more complex than what the other option types provide.

This class is meant to be used for options that are actually queried directly through plCommandLineUtils, but should still show up in the command line option documentation, such that the user can discover them.

Member Function Documentation

◆ GetLongDesc()

void plCommandLineOptionDoc::GetLongDesc ( plStringBuilder & ref_sOut) const
overridevirtual

Returns a proper description of the option.

The long description is allowed to contain newlines (
) and the output will be formatted accordingly.

Implements plCommandLineOption.

◆ GetOptions()

void plCommandLineOptionDoc::GetOptions ( plStringBuilder & ref_sOut) const
overridevirtual

Writes all the supported options (e.g. '-arg') to 'out'. If more than one option is allowed, they should be separated with semicolons or pipes.

Implements plCommandLineOption.

◆ GetParamDefaultValueDesc()

void plCommandLineOptionDoc::GetParamDefaultValueDesc ( plStringBuilder & ref_sOut) const
overridevirtual

Returns a very short string for the options default value. For example "0" or "auto".

Implements plCommandLineOption.

Reimplemented in plCommandLineOptionEnum, plCommandLineOptionFloat, and plCommandLineOptionInt.

◆ GetParamShortDesc()

void plCommandLineOptionDoc::GetParamShortDesc ( plStringBuilder & ref_sOut) const
overridevirtual

Returns a very short description of the option (type). For example "<int>" or "<enum>".

Implements plCommandLineOption.

Reimplemented in plCommandLineOptionEnum, plCommandLineOptionFloat, and plCommandLineOptionInt.

◆ GetType()

virtual plStringView plCommandLineOptionDoc::GetType ( )
inlineoverridevirtual

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