Elements 6.3.3
A C++ base framework for the Euclid Software.
|
Abstract class for all Elements programs. More...
#include <Program.h>
Public Types | |
using | options_description = boost::program_options::options_description |
using | positional_options_description = boost::program_options::positional_options_description |
using | variable_value = boost::program_options::variable_value |
using | variables_map = boost::program_options::variables_map |
using | OptionsDescription = options_description |
using | PositionalOptionsDescription = positional_options_description |
using | VariableValue = variable_value |
using | VariablesMap = variables_map |
using | ExitCode = Elements::ExitCode |
using | Logging = Elements::Logging |
Public Member Functions | |
Program ()=default | |
Constructor. | |
virtual | ~Program () |
Destructor. | |
virtual OptionsDescription | defineSpecificProgramOptions () |
This methods must be used to define specific program options. | |
virtual std::pair< OptionsDescription, PositionalOptionsDescription > | defineProgramArguments () |
This methods must be used to the program arguments. | |
virtual ExitCode | mainMethod (std::map< std::string, VariableValue > &args)=0 |
This is the "main" method of all Elements programs. |
Abstract class for all Elements programs.
This abstract class defines the three interfaces that should be implemented by all Elements programs.
using Elements::Program::options_description = boost::program_options::options_description |
using Elements::Program::positional_options_description = boost::program_options::positional_options_description |
using Elements::Program::variable_value = boost::program_options::variable_value |
using Elements::Program::variables_map = boost::program_options::variables_map |
|
default |
Constructor.
|
virtualdefault |
Destructor.
References defineProgramArguments(), and defineSpecificProgramOptions().
|
virtual |
This methods must be used to the program arguments.
This is the second method that must be implemented by all Elements programs
Definition at line 36 of file Program.cpp.
References std::make_pair().
Referenced by ~Program().
|
virtual |
This methods must be used to define specific program options.
This is the first method that must be implemented by all Elements programs
Definition at line 31 of file Program.cpp.
Referenced by ~Program().
|
pure virtual |
This is the "main" method of all Elements programs.
This is the second method that must be implemented by all Elements programs. It represents the entry point.
args | A map containing the values given by the user for the program options defined by the defineSpecificProgramOptions() method |