R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3B::Option< Type > Class Template Reference

#include <R3BProgramOptions.h>

Public Types

using type = Type
 

Public Member Functions

 Option (const Option &)=delete
 
 Option (Option &&)=delete
 
auto operator= (const Option &) -> Option &=delete
 
auto operator= (Option &&) -> Option &=delete
 
 Option (std::string name, Type defaultValue, ProgramOptions *program)
 
 ~Option () override
 
void add (const std::string &desc, bool is_requried=false)
 
void as_positional (int option)
 
void retrieve (const po::variables_map &varMap) override
 
void set_required (bool p_rq=true)
 
auto value () const
 
auto is_required () const -> bool
 
auto is_positional () const -> bool
 
- Public Member Functions inherited from R3B::OptionConcept
 OptionConcept (const OptionConcept &)=delete
 
 OptionConcept (OptionConcept &&)=delete
 
auto operator= (const OptionConcept &) -> OptionConcept &=delete
 
auto operator= (OptionConcept &&) -> OptionConcept &=delete
 
virtual ~OptionConcept ()=default
 
 OptionConcept ()=default
 

Private Attributes

bool is_positional_ = false
 
bool is_required_ = false
 
std::string name_
 
std::string key_
 
std::string desc_
 
Type value_ {}
 
ProgramOptionsprogram_
 

Detailed Description

template<typename Type>
class R3B::Option< Type >

Definition at line 104 of file R3BProgramOptions.h.

Member Typedef Documentation

◆ type

template<typename Type>
using R3B::Option< Type >::type = Type

Definition at line 107 of file R3BProgramOptions.h.

Constructor & Destructor Documentation

◆ Option() [1/3]

template<typename Type>
R3B::Option< Type >::Option ( const Option< Type > & )
delete

◆ Option() [2/3]

template<typename Type>
R3B::Option< Type >::Option ( Option< Type > && )
delete

◆ Option() [3/3]

template<typename Type>
R3B::Option< Type >::Option ( std::string name,
Type defaultValue,
ProgramOptions * program )
inline

Definition at line 112 of file R3BProgramOptions.h.

◆ ~Option()

template<typename Type>
R3B::Option< Type >::~Option ( )
inlineoverride

Definition at line 126 of file R3BProgramOptions.h.

Member Function Documentation

◆ add()

template<typename Type>
void R3B::Option< Type >::add ( const std::string & desc,
bool is_requried = false )
inline

Definition at line 128 of file R3BProgramOptions.h.

◆ as_positional()

template<typename Type>
void R3B::Option< Type >::as_positional ( int option)
inline

Definition at line 153 of file R3BProgramOptions.h.

◆ is_positional()

template<typename Type>
auto R3B::Option< Type >::is_positional ( ) const -> bool
inlinenodiscard

Definition at line 184 of file R3BProgramOptions.h.

◆ is_required()

template<typename Type>
auto R3B::Option< Type >::is_required ( ) const -> bool
inlinenodiscard

Definition at line 183 of file R3BProgramOptions.h.

◆ operator=() [1/2]

template<typename Type>
auto R3B::Option< Type >::operator= ( const Option< Type > & ) -> Option &=delete
delete

◆ operator=() [2/2]

template<typename Type>
auto R3B::Option< Type >::operator= ( Option< Type > && ) -> Option &=delete
delete

◆ retrieve()

template<typename Type>
void R3B::Option< Type >::retrieve ( const po::variables_map & varMap)
inlineoverridevirtual

Implements R3B::OptionConcept.

Definition at line 159 of file R3BProgramOptions.h.

◆ set_required()

template<typename Type>
void R3B::Option< Type >::set_required ( bool p_rq = true)
inline

Definition at line 180 of file R3BProgramOptions.h.

◆ value()

template<typename Type>
auto R3B::Option< Type >::value ( ) const
inlinenodiscard

Definition at line 182 of file R3BProgramOptions.h.

Member Data Documentation

◆ desc_

template<typename Type>
std::string R3B::Option< Type >::desc_
private

Definition at line 191 of file R3BProgramOptions.h.

◆ is_positional_

template<typename Type>
bool R3B::Option< Type >::is_positional_ = false
private

Definition at line 187 of file R3BProgramOptions.h.

◆ is_required_

template<typename Type>
bool R3B::Option< Type >::is_required_ = false
private

Definition at line 188 of file R3BProgramOptions.h.

◆ key_

template<typename Type>
std::string R3B::Option< Type >::key_
private

Definition at line 190 of file R3BProgramOptions.h.

◆ name_

template<typename Type>
std::string R3B::Option< Type >::name_
private

Definition at line 189 of file R3BProgramOptions.h.

◆ program_

template<typename Type>
ProgramOptions* R3B::Option< Type >::program_
private

Definition at line 193 of file R3BProgramOptions.h.

◆ value_

template<typename Type>
Type R3B::Option< Type >::value_ {}
private

Definition at line 192 of file R3BProgramOptions.h.


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