Elements  5.8
A C++ base framework for the Euclid Software.
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
 
const ELEMENTS_API boost::filesystem::path & getProgramPath () const
 
const ELEMENTS_API 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

◆ SimpleProgram()

Elements::SimpleProgram::SimpleProgram ( )
protecteddefault

◆ ~SimpleProgram()

Elements::SimpleProgram::~SimpleProgram ( )
protectedvirtual

Definition at line 35 of file SimpleProgram.cpp.

Member Function Documentation

◆ defineOptions()

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

Referenced by setup().

◆ getProgramName()

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

Definition at line 75 of file SimpleProgram.cpp.

References m_program_name.

◆ getProgramPath()

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

Definition at line 71 of file SimpleProgram.cpp.

References m_program_path.

◆ main()

virtual ExitCode Elements::SimpleProgram::main ( )
protectedpure virtual

◆ run()

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, and Elements::OK.

Here is the call graph for this function:

◆ setup()

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

◆ m_program_name

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

Definition at line 64 of file SimpleProgram.h.

Referenced by getProgramName(), and setup().

◆ m_program_path

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: