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

Simple example of an Elements program outside of the Elements namespace. More...

Inheritance diagram for ExtProgram:
Inheritance graph
[legend]
Collaboration diagram for ExtProgram:
Collaboration graph
[legend]

Public Member Functions

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...
 
virtual std::pair< OptionsDescription, PositionalOptionsDescriptiondefineProgramArguments ()
 This methods must be used to the program arguments. 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

Simple example of an Elements program outside of the Elements namespace.

All C++ executable must extend the Elements::Program base class

Definition at line 57 of file ExtProgram.cpp.

Member Function Documentation

◆ defineSpecificProgramOptions()

OptionsDescription ExtProgram::defineSpecificProgramOptions ( )
inlineoverridevirtual

Allows to define the (command line and configuration file) options specific to this program.

See the ElementsProgram documentation for more details.

Returns
A BOOST program options_description

Reimplemented from Elements::Program.

Definition at line 69 of file ExtProgram.cpp.

◆ mainMethod()

ExitCode ExtProgram::mainMethod ( map< string, VariableValue > &  args)
inlineoverridevirtual

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 contains the calls to the different classes created for the first developer's workshop

See the ElementsProgram documentation for more details.

Implements Elements::Program.

Definition at line 106 of file ExtProgram.cpp.

References Elements::Kernel::Units::e, Elements::Examples::functionExample(), Elements::Logging::getLogger(), Elements::System::getThisExecutableInfo(), Elements::Examples::log, std::move(), Elements::Project::name(), Elements::Module::name(), Elements::System::ModuleInfo::name(), Elements::Examples::printProject(), Elements::Kernel::Units::second, Elements::Module::versionString(), and Elements::Project::versionString().

Here is the call graph for this function:

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