Elements  5.8
A C++ base framework for the Euclid Software.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Elements::SimpleProgram Class Referenceabstract

#include <SimpleProgram.h>

Collaboration diagram for Elements::SimpleProgram:
[legend]

Public Member Functions

ELEMENTS_API ExitCode run (int argc, char **argv) noexcept
 
ELEMENTS_API const
boost::filesystem::path & 
getProgramPath () const
 
ELEMENTS_API const
boost::filesystem::path & 
getProgramName () const
 

Protected Member Functions

 SimpleProgram ()=default
 
virtual ~SimpleProgram ()
 
virtual ExitCode main ()=0
 
virtual void defineOptions ()=0
 

Private Member Functions

void setup (int argc, char **argv)
 

Private Attributes

boost::filesystem::path m_program_name
 
boost::filesystem::path m_program_path
 

Detailed Description

Definition at line 41 of file SimpleProgram.h.

Constructor & Destructor Documentation

Elements::SimpleProgram::SimpleProgram ( )
protecteddefault
Elements::SimpleProgram::~SimpleProgram ( )
protectedvirtual

Definition at line 35 of file SimpleProgram.cpp.

Member Function Documentation

virtual void Elements::SimpleProgram::defineOptions ( )
protectedpure virtual

Referenced by setup().

const path & Elements::SimpleProgram::getProgramName ( ) const

Definition at line 75 of file SimpleProgram.cpp.

References m_program_name.

const path & Elements::SimpleProgram::getProgramPath ( ) const

Definition at line 71 of file SimpleProgram.cpp.

References m_program_path.

virtual ExitCode Elements::SimpleProgram::main ( )
protectedpure virtual
ExitCode Elements::SimpleProgram::run ( int  argc,
char **  argv 
)
noexcept

Definition at line 37 of file SimpleProgram.cpp.

References Elements::Units::e, std::endl(), Elements::NOT_OK, Elements::OK, and std::exception::what().

Here is the call graph for this function:

void Elements::SimpleProgram::setup ( int  argc,
char **  argv 
)
private

Definition at line 60 of file SimpleProgram.cpp.

References defineOptions(), m_program_name, and m_program_path.

Here is the call graph for this function:

Member Data Documentation

boost::filesystem::path Elements::SimpleProgram::m_program_name
private

Definition at line 64 of file SimpleProgram.h.

Referenced by getProgramName(), and setup().

boost::filesystem::path Elements::SimpleProgram::m_program_path
private

Definition at line 65 of file SimpleProgram.h.

Referenced by getProgramPath(), and setup().


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