libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl > Class Template Reference

#include <exception.hpp>

Inheritance diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >:
[legend]
Collaboration diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >:
[legend]

Public Types

using base_t = exception< API, Mdl >
 
using thread_traits = typename base_t::thread_traits
 
- Public Types inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >
typedef std::runtime_error base_t
 
typedef ppd::api_threading_traits< API, Mdl > thread_traits
 
typedef thread_traits::lock_traits lock_traits
 

Public Member Functions

 crt_exception (tstring &&r, info::function &&f, info::revision &&ri, const unsigned long en=errno) noexcept(false)
 
 crt_exception (const tostringstream &r, info::function &&f, info::revision &&ri, const unsigned long en=errno) noexcept(false)
 
 crt_exception (const crt_exception &ex) noexcept(false)
 
void operator= (crt_exception const &)=delete
 
void operator= (crt_exception &&)=delete
 
virtual ~crt_exception () noexcept(true)
 
exit_codes::codes __fastcall code () const noexcept(true) override
 
const tstring __fastcall to_string () const noexcept(false) override
 
- Public Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >
 exception (tstring &&r, info::function &&f, info::revision &&ri) noexcept(false)
 
 exception (const tostringstream &r, info::function &&f, info::revision &&ri) noexcept(false)
 
 exception (const exception &ex) noexcept(false)
 
void operator= (exception const &)=delete
 
void operator= (exception &&)=delete
 
virtual ~exception () noexcept(true)
 
char const *__CLR_OR_THIS_CALL what () const noexcept(true) final override
 

Static Public Member Functions

static constexpr std::size_t max_size () noexcept(true)
 
- Static Public Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >
static constexpr std::size_t max_size () noexcept(true)
 

Friends

tostream &__fastcall operator<< (tostream &o, const crt_exception &e) noexcept(false)
 

Additional Inherited Members

- Protected Attributes inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >
const thread_traits::api_params_type::pid_type process_id
 
const thread_traits::api_params_type::tid_type thread_id
 
const thread_traits::api_params_type::username_type current_username
 

Detailed Description

template<ppd::generic_traits::api_type API, typename Mdl>
class jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >

Definition at line 131 of file exception.hpp.

Member Typedef Documentation

◆ base_t

template<ppd::generic_traits::api_type API, typename Mdl >
using jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::base_t = exception<API, Mdl>

Definition at line 133 of file exception.hpp.

◆ thread_traits

template<ppd::generic_traits::api_type API, typename Mdl >
using jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::thread_traits = typename base_t::thread_traits

Definition at line 134 of file exception.hpp.

Constructor & Destructor Documentation

◆ crt_exception() [1/3]

template<ppd::generic_traits::api_type API, typename Mdl >
NEVER_INLINE jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::crt_exception ( tstring &&  r,
info::function &&  f,
info::revision &&  ri,
const unsigned long  en = errno 
)
inlinenoexcept

Definition at line 84 of file exception_impl.hpp.

◆ crt_exception() [2/3]

template<ppd::generic_traits::api_type API, typename Mdl >
NEVER_INLINE jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::crt_exception ( const tostringstream r,
info::function &&  f,
info::revision &&  ri,
const unsigned long  en = errno 
)
inlinenoexcept

Definition at line 89 of file exception_impl.hpp.

◆ crt_exception() [3/3]

template<ppd::generic_traits::api_type API, typename Mdl >
NEVER_INLINE jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::crt_exception ( const crt_exception< API, Mdl > &  ex)
inlinenoexcept

Definition at line 94 of file exception_impl.hpp.

◆ ~crt_exception()

template<ppd::generic_traits::api_type API, typename Mdl >
virtual jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::~crt_exception ( )
inlinevirtualnoexcept

Definition at line 141 of file exception.hpp.

Member Function Documentation

◆ code()

template<ppd::generic_traits::api_type API, typename Mdl >
exit_codes::codes __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::code ( ) const
inlineoverridevirtualnoexcept

◆ max_size()

template<ppd::generic_traits::api_type API, typename Mdl >
static constexpr std::size_t jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::max_size ( )
inlinestaticconstexprnoexcept

Definition at line 151 of file exception.hpp.

◆ operator=() [1/2]

template<ppd::generic_traits::api_type API, typename Mdl >
void jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::operator= ( crt_exception< API, Mdl > &&  )
delete

◆ operator=() [2/2]

template<ppd::generic_traits::api_type API, typename Mdl >
void jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::operator= ( crt_exception< API, Mdl > const &  )
delete

◆ to_string()

template<ppd::generic_traits::api_type API, typename Mdl >
NEVER_INLINE const tstring __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >::to_string
inlineoverridevirtualnoexcept

Friends And Related Function Documentation

◆ operator<<

template<ppd::generic_traits::api_type API, typename Mdl >
tostream& __fastcall operator<< ( tostream o,
const crt_exception< API, Mdl > &  e 
)
friend
Todo:
Implement using the advice given in "Standard C++ IOStreams and Locales" by A.Langer & K.Kreft, page 170.

Definition at line 158 of file exception.hpp.


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