GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
ArgParseConfig< T > Class Template Referenceabstract

template<typename T>
class ArgParseConfig< T >

Definition at line 68 of file ArgParser.h.

Public Member Functions

 ArgParseConfig (std::string flag_list, bool firstPass)
 
 ~ArgParseConfig () override=default
 
virtual ArgParseConfigcolour (const std::string &c)
 
virtual ArgParseConfigdefault_value (T value)=0
 
virtual ArgParseConfigdescription (const std::string &d)
 
std::string flag_name () const override
 
bool is_present () const
 
bool is_required () const override
 
bool matches (const std::string &flag) const override
 
virtual int num_arguments () const =0
 
void parse (const std::string &name, const std::vector< std::string > &arguments, bool firstPass, bool ignore_num_arguments=false)
 
virtual void parse_item (const std::vector< std::string > &arguments)=0
 
std::string printable (int description_column=-1, int *chars_before_desc=nullptr) const override
 
virtual ArgParseConfigrequired ()
 

Protected Attributes

std::string fColour
 
std::string fDescription
 
std::vector< std::string > fFlags
 
std::vector< std::string > fRawFlags
 
bool fRequired
 

#include <ArgParser.h>

+ Inheritance diagram for ArgParseConfig< T >:
+ Collaboration diagram for ArgParseConfig< T >:

Constructor & Destructor Documentation

◆ ArgParseConfig()

template<typename T>
ArgParseConfig< T >::ArgParseConfig ( std::string  flag_list,
bool  firstPass 
)
inline

Definition at line 70 of file ArgParser.h.

◆ ~ArgParseConfig()

template<typename T>
ArgParseConfig< T >::~ArgParseConfig ( )
overridedefault

Member Function Documentation

◆ colour()

template<typename T>
virtual ArgParseConfig& ArgParseConfig< T >::colour ( const std::string &  c)
inlinevirtual

Definition at line 121 of file ArgParser.h.

◆ default_value()

template<typename T>
virtual ArgParseConfig& ArgParseConfig< T >::default_value ( value)
pure virtual

◆ description()

template<typename T>
virtual ArgParseConfig& ArgParseConfig< T >::description ( const std::string &  d)
inlinevirtual

Definition at line 115 of file ArgParser.h.

◆ flag_name()

template<typename T>
std::string ArgParseConfig< T >::flag_name ( ) const
inlineoverridevirtual

Implements ArgParseItem.

Definition at line 89 of file ArgParser.h.

◆ is_present()

bool ArgParseItem::is_present ( ) const
inlineinherited

Definition at line 35 of file ArgParser.h.

References ArgParseItem::present_.

◆ is_required()

template<typename T>
bool ArgParseConfig< T >::is_required ( ) const
inlineoverridevirtual

Implements ArgParseItem.

Definition at line 133 of file ArgParser.h.

◆ matches()

template<typename T>
bool ArgParseConfig< T >::matches ( const std::string &  flag) const
inlineoverridevirtual

Implements ArgParseItem.

Definition at line 100 of file ArgParser.h.

◆ num_arguments()

virtual int ArgParseItem::num_arguments ( ) const
pure virtualinherited

◆ parse()

void ArgParseItem::parse ( const std::string &  name,
const std::vector< std::string > &  arguments,
bool  firstPass,
bool  ignore_num_arguments = false 
)
inlineinherited

◆ parse_item()

virtual void ArgParseItem::parse_item ( const std::vector< std::string > &  arguments)
pure virtualinherited

◆ printable()

template<typename T>
std::string ArgParseConfig< T >::printable ( int  description_column = -1,
int *  chars_before_desc = nullptr 
) const
inlineoverridevirtual

Implements ArgParseItem.

Definition at line 137 of file ArgParser.h.

◆ required()

template<typename T>
virtual ArgParseConfig& ArgParseConfig< T >::required ( )
inlinevirtual

Definition at line 127 of file ArgParser.h.

Member Data Documentation

◆ fColour

template<typename T>
std::string ArgParseConfig< T >::fColour
protected

Colour string to be use for display.

Definition at line 188 of file ArgParser.h.

Referenced by ArgParseConfig< bool >::ArgParseConfig(), ArgParseConfig< bool >::colour(), and ArgParseConfig< bool >::printable().

◆ fDescription

template<typename T>
std::string ArgParseConfig< T >::fDescription
protected

A description for display on the terminal.

Definition at line 185 of file ArgParser.h.

Referenced by ArgParseConfig< bool >::ArgParseConfig(), ArgParseConfig< bool >::description(), and ArgParseConfig< bool >::printable().

◆ fFlags

template<typename T>
std::vector<std::string> ArgParseConfig< T >::fFlags
protected

The literal flag that is searched for, including leading dashes.

Definition at line 191 of file ArgParser.h.

Referenced by ArgParseConfig< bool >::ArgParseConfig(), ArgParseConfig< bool >::flag_name(), ArgParseConfig< bool >::matches(), and ArgParseConfig< bool >::printable().

◆ fRawFlags

template<typename T>
std::vector<std::string> ArgParseConfig< T >::fRawFlags
protected

The flags without the leading dashes.

Definition at line 194 of file ArgParser.h.

Referenced by ArgParseConfig< bool >::ArgParseConfig().

◆ fRequired

template<typename T>
bool ArgParseConfig< T >::fRequired
protected

Whether the flag must be supplied.

Definition at line 197 of file ArgParser.h.

Referenced by ArgParseConfig< bool >::ArgParseConfig(), ArgParseConfig< bool >::is_required(), and ArgParseConfig< bool >::required().