Elements  5.8
A C++ base framework for the Euclid Software.
Public Member Functions | List of all members
Elements::Program Class Referenceabstract

Abstract class for all Elements programs. More...

#include <Program.h>

Public Member Functions

 Program ()=default
 Constructor. More...
 
virtual ~Program ()
 Destructor. More...
 
virtual boost::program_options::options_description defineSpecificProgramOptions ()
 This methods must be used to define specific program options. More...
 
virtual std::pair< boost::program_options::options_description, boost::program_options::positional_options_description > defineProgramArguments ()
 This methods must be used to the program arguments. More...
 
virtual ExitCode mainMethod (std::map< std::string, boost::program_options::variable_value > &args)=0
 This is the "main" method of all Elements programs. More...
 

Detailed Description

Abstract class for all Elements programs.

This abstract class defines the three interfaces that should be implemented by all Elements programs.

Definition at line 50 of file Program.h.

Constructor & Destructor Documentation

◆ Program()

Elements::Program::Program ( )
default

Constructor.

◆ ~Program()

Elements::Program::~Program ( )
virtualdefault

Destructor.

Member Function Documentation

◆ defineProgramArguments()

std::pair< options_description, positional_options_description > Elements::Program::defineProgramArguments ( )
virtual

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

Definition at line 38 of file Program.cpp.

References std::make_pair().

Here is the call graph for this function:

◆ defineSpecificProgramOptions()

options_description Elements::Program::defineSpecificProgramOptions ( )
virtual

This methods must be used to define specific program options.

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

Returns
A BOOST options description

Definition at line 33 of file Program.cpp.

◆ mainMethod()

virtual ExitCode Elements::Program::mainMethod ( std::map< std::string, boost::program_options::variable_value > &  args)
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.

Parameters
argsA map containing the values given by the user for the program options defined by the defineSpecificProgramOptions() method
Returns
The exit code which should be returned when the program exits

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