27#ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAM_H_
28#define ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAM_H_
34#include <boost/program_options.hpp>
defines the macros to be used for explicit export of the symbols
Logging API of the Elements framework.
virtual OptionsDescription defineSpecificProgramOptions()
This methods must be used to define specific program options.
options_description OptionsDescription
boost::program_options::options_description options_description
boost::program_options::positional_options_description positional_options_description
Elements::ExitCode ExitCode
boost::program_options::variables_map variables_map
Elements::Logging Logging
variable_value VariableValue
positional_options_description PositionalOptionsDescription
virtual ExitCode mainMethod(std::map< std::string, VariableValue > &args)=0
This is the "main" method of all Elements programs.
Program()=default
Constructor.
virtual ~Program()
Destructor.
variables_map VariablesMap
boost::program_options::variable_value variable_value
virtual std::pair< OptionsDescription, PositionalOptionsDescription > defineProgramArguments()
This methods must be used to the program arguments.
ExitCode
Strongly typed exit numbers.
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.