cpp-terminal 1.0.0
Small C++ library for writing multiplatform terminal applications
Loading...
Searching...
No Matches
Term::TerminalInitializer Class Reference

#include <cpp-terminal/terminal_initializer.hpp>

Public Member Functions

 ~TerminalInitializer () noexcept
 
 TerminalInitializer () noexcept
 
 TerminalInitializer (const TerminalInitializer &)=delete
 
 TerminalInitializer (TerminalInitializer &&)=delete
 
TerminalInitializeroperator= (TerminalInitializer &&)=delete
 
TerminalInitializeroperator= (const TerminalInitializer &)=delete
 

Static Private Attributes

static std::size_t m_counter {0}
 

Detailed Description

Definition at line 17 of file terminal_initializer.hpp.

Constructor & Destructor Documentation

◆ ~TerminalInitializer()

Term::TerminalInitializer::~TerminalInitializer ( )
noexcept

Definition at line 44 of file terminal_initializer.cpp.

46{
47 --m_counter;
48 if(0 == m_counter) { (&Term::terminal)->~Terminal(); }
49}
50catch(...)
51{
53}
void ExceptionHandler(const ExceptionDestination &destination=ExceptionDestination::StdErr) noexcept
Term::Terminal & terminal
Definition terminal.cpp:19

◆ TerminalInitializer() [1/3]

Term::TerminalInitializer::TerminalInitializer ( )
noexcept

Definition at line 26 of file terminal_initializer.cpp.

28{
29 if(0 == m_counter)
30 {
31 static const Private::FileInitializer files_init;
32 new(&Term::terminal) Terminal();
33 static Term::Private::Signals signals(Term::terminal);
34 sighandler_t handler = [](int signum) { signals.reset_and_raise(signum); };
35 signals.setHandler(handler);
36 }
37 ++m_counter;
38}
39catch(...)
40{
42}
void(*)(int) sighandler_t
Definition signals.hpp:14

◆ TerminalInitializer() [2/3]

Term::TerminalInitializer::TerminalInitializer ( const TerminalInitializer & )
delete

◆ TerminalInitializer() [3/3]

Term::TerminalInitializer::TerminalInitializer ( TerminalInitializer && )
delete

Member Function Documentation

◆ operator=() [1/2]

TerminalInitializer & Term::TerminalInitializer::operator= ( const TerminalInitializer & )
delete

◆ operator=() [2/2]

TerminalInitializer & Term::TerminalInitializer::operator= ( TerminalInitializer && )
delete

Member Data Documentation

◆ m_counter

std::size_t Term::TerminalInitializer::m_counter {0}
staticprivate

Definition at line 19 of file terminal_initializer.hpp.

19:
20

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