GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
ArgParseItem Class Referenceabstract

Detailed Description

Base class used to parse an individual item. Most methods are implemented in the templated ArgParseConfig<T>

Definition at line 22 of file ArgParser.h.

Public Member Functions

 ArgParseItem (ArgParseItem &&) noexcept=default
 
 ArgParseItem (bool firstPass)
 
 ArgParseItem (const ArgParseItem &)=default
 
virtual ~ArgParseItem ()=default
 
virtual std::string flag_name () const =0
 
bool is_present () const
 
virtual bool is_required () const =0
 
virtual bool matches (const std::string &flag) const =0
 
virtual int num_arguments () const =0
 
ArgParseItemoperator= (ArgParseItem &&) noexcept=default
 
ArgParseItemoperator= (const ArgParseItem &)=default
 
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
 
virtual std::string printable (int description_column, int *chars_before_desc) const =0
 

Private Attributes

bool fFirstPass
 
bool fPresent {false}
 
+ Inheritance diagram for ArgParseItem:

Constructor & Destructor Documentation

◆ ArgParseItem() [1/3]

ArgParseItem::ArgParseItem ( bool firstPass)
inlineexplicit

Definition at line 24 of file ArgParser.h.

◆ ArgParseItem() [2/3]

ArgParseItem::ArgParseItem ( const ArgParseItem & )
default

◆ ArgParseItem() [3/3]

ArgParseItem::ArgParseItem ( ArgParseItem && )
defaultnoexcept

◆ ~ArgParseItem()

virtual ArgParseItem::~ArgParseItem ( )
virtualdefault

Member Function Documentation

◆ flag_name()

virtual std::string ArgParseItem::flag_name ( ) const
pure virtual

◆ is_present()

bool ArgParseItem::is_present ( ) const
inline

Definition at line 35 of file ArgParser.h.

References fPresent.

◆ is_required()

virtual bool ArgParseItem::is_required ( ) const
pure virtual

◆ matches()

virtual bool ArgParseItem::matches ( const std::string & flag) const
pure virtual

◆ num_arguments()

virtual int ArgParseItem::num_arguments ( ) const
pure virtual

◆ operator=() [1/2]

ArgParseItem & ArgParseItem::operator= ( ArgParseItem && )
defaultnoexcept

◆ operator=() [2/2]

ArgParseItem & ArgParseItem::operator= ( const ArgParseItem & )
default

◆ parse()

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

◆ parse_item()

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

Implemented in ArgParseConfigT< T >, and ArgParseConfigT< bool >.

Referenced by parse().

◆ printable()

virtual std::string ArgParseItem::printable ( int description_column,
int * chars_before_desc ) const
pure virtual

Implemented in ArgParseConfig< T >, and ArgParseConfig< bool >.

Referenced by ArgParser::print().

Member Data Documentation

◆ fFirstPass

bool ArgParseItem::fFirstPass
private

Definition at line 64 of file ArgParser.h.

Referenced by parse().

◆ fPresent

bool ArgParseItem::fPresent {false}
private

Definition at line 63 of file ArgParser.h.

Referenced by is_present(), and parse().