Elements  6.2
A C++ base framework for the Euclid Software.
Public Member Functions | List of all members
Elements::Examples::ProgramWithArguments Class Reference

Example of an Elements program. More...

Inheritance diagram for Elements::Examples::ProgramWithArguments:
Inheritance graph
[legend]
Collaboration diagram for Elements::Examples::ProgramWithArguments:
Collaboration graph
[legend]

Public Member Functions

ExitCode mainMethod (ELEMENTS_UNUSED map< string, VariableValue > &args) override
 The "main" method. More...
 
std::pair< OptionsDescription, PositionalOptionsDescriptiondefineProgramArguments () override
 This methods must be used to the program arguments. More...
 
- Public Member Functions inherited from Elements::Examples::Program
OptionsDescription defineSpecificProgramOptions () override
 Allows to define the (command line and configuration file) options specific to this program. More...
 
ExitCode mainMethod (map< string, VariableValue > &args) override
 The "main" method. More...
 
- Public Member Functions inherited from Elements::Program
 Program ()=default
 Constructor. More...
 
virtual ~Program ()
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from Elements::Program
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
 

Detailed Description

Example of an Elements program.

This class is an example of a program based on the ElementsProgram class. It can be copied/pasted conveniently to write a new program.

Definition at line 50 of file ProgramWithArguments.cpp.

Member Function Documentation

◆ defineProgramArguments()

std::pair<OptionsDescription, PositionalOptionsDescription> Elements::Examples::ProgramWithArguments::defineProgramArguments ( )
inlineoverridevirtual

This methods must be used to the program arguments.

This is the second method that must be implemented by all Elements programs

Returns
a pair of BOOST options description and positional_options_description

Reimplemented from Elements::Program.

Definition at line 85 of file ProgramWithArguments.cpp.

References std::make_pair().

Here is the call graph for this function:

◆ mainMethod()

ExitCode Elements::Examples::ProgramWithArguments::mainMethod ( ELEMENTS_UNUSED map< string, VariableValue > &  args)
inlineoverride

The "main" method.

This method is the entry point to the program. In this sense, it is similar to a main (and it is why it is called mainMethod()). The code below provides only example stuff which should be replaced by real code in any program.

See the ElementsProgram documentation for more details.

Definition at line 64 of file ProgramWithArguments.cpp.

References std::endl(), Elements::Logging::getLogger(), Elements::Examples::log, and Elements::OK.

Here is the call graph for this function:

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