libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ > Class Template Referenceabstract

#include <generic_app.hpp>

Public Types

typedef ProgOpts ProgramOptions
 
typedef Except_ exception_type
 
typedef Logger< exception_typelogger_type
 
typedef shared_ptr< logger_type, exception_typelogger_ptr_type
 

Public Member Functions

 AppBase (ProgramOptions &p, const logger_ptr_type &l)
 
 AppBase (AppBase const &)=delete
 
virtual ~AppBase (void)
 
virtual exit_codes Process (tostream &)=0
 

Protected Member Functions

const logger_typeLog (void) const noexcept(true)
 

Protected Attributes

ProgramOptionsprog_opts
 

Detailed Description

template<typename ProgOpts, class Except_>
class jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >

Definition at line 22 of file generic_app.hpp.

Member Typedef Documentation

◆ exception_type

template<typename ProgOpts , class Except_ >
typedef Except_ jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::exception_type

Definition at line 26 of file generic_app.hpp.

◆ logger_ptr_type

template<typename ProgOpts , class Except_ >
typedef shared_ptr<logger_type, exception_type> jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::logger_ptr_type

Definition at line 29 of file generic_app.hpp.

◆ logger_type

template<typename ProgOpts , class Except_ >
typedef Logger<exception_type> jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::logger_type

Definition at line 28 of file generic_app.hpp.

◆ ProgramOptions

template<typename ProgOpts , class Except_ >
typedef ProgOpts jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::ProgramOptions

Definition at line 24 of file generic_app.hpp.

Constructor & Destructor Documentation

◆ AppBase() [1/2]

template<typename ProgOpts , class Except_ >
jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::AppBase ( ProgramOptions p,
const logger_ptr_type l 
)
inline

◆ AppBase() [2/2]

template<typename ProgOpts , class Except_ >
jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::AppBase ( AppBase< ProgOpts, Except_ > const &  )
delete

◆ ~AppBase()

template<typename ProgOpts , class Except_ >
virtual jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::~AppBase ( void  )
inlinevirtual

Definition at line 36 of file generic_app.hpp.

Member Function Documentation

◆ Log()

template<typename ProgOpts , class Except_ >
const logger_type& jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::Log ( void  ) const
inlineprotectednoexcept

Definition at line 44 of file generic_app.hpp.

◆ Process()

template<typename ProgOpts , class Except_ >
virtual exit_codes jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::Process ( tostream )
inlinepure virtual

Member Data Documentation

◆ prog_opts

template<typename ProgOpts , class Except_ >
ProgramOptions& jmmcg::LIBJMMCG_VER_NAMESPACE::AppBase< ProgOpts, Except_ >::prog_opts
protected

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