World Ocean Simulation System (WOSS) library
woss::Singleton< T > Class Template Reference

Singleton design pattern template. More...

#include <singleton-definitions.h>

Collaboration diagram for woss::Singleton< T >:
Collaboration graph

Public Member Functions

 ~Singleton ()=default
 
 Singleton ()=delete
 
 Singleton (const Singleton &copy)=delete
 
 Singleton (Singleton &&tmp)=delete
 
Singletonoperator= (const Singleton &copy)=delete
 
Singletonoperator= (Singleton &&tmp)=delete
 

Static Public Member Functions

static T & instance ()
 
static T * instance_ptr ()
 

Detailed Description

template<typename T>
class woss::Singleton< T >

Singleton design pattern template.

A thread-safe singleton template pattern, useful to decouple classes from singleton implementation

Constructor & Destructor Documentation

◆ ~Singleton()

template<typename T >
woss::Singleton< T >::~Singleton ( )
default

◆ Singleton() [1/3]

template<typename T >
woss::Singleton< T >::Singleton ( )
delete

Disallowed default constructor

◆ Singleton() [2/3]

template<typename T >
woss::Singleton< T >::Singleton ( const Singleton< T > &  copy)
delete

Disallowed copy constructor

◆ Singleton() [3/3]

template<typename T >
woss::Singleton< T >::Singleton ( Singleton< T > &&  tmp)
delete

Disallowed move constructor

Member Function Documentation

◆ instance()

template<typename T >
T & woss::Singleton< T >::instance ( )
inlinestatic

Returns the singleton instance

Returns
a reference to the_instance

Referenced by woss::SedimDeck41Db::calculateSediment(), UwMPhyBpskTransducer::command(), woss::WossCreatorContainer< Data >::createLocation(), woss::WossCreatorContainer< CustomTransducer >::createLocation(), woss::SedimDeck41Db::createSediment(), woss::AltimBretschneider::createWaveSpectrum(), woss::WossManagerResDb::dbGetPressure(), woss::WossManagerResDb::dbGetTimeArr(), WossBellhopScript::doRun(), WossBellhopTest::doRun(), woss::SSP::fullRandomize(), woss::WossDbManager::getAltimetry(), woss::ArrAscResReader::getArrAscFile(), woss::ArrAscResReader::getArrAscHeader(), woss::ArrBinResReader::getArrBinFile(), woss::ArrBinResReader::getArrBinHeader(), woss::WossDbManager::getAverageSSP(), woss::WossDbManager::getCustomAltimetry(), woss::WossDbManager::getCustomSediment(), woss::WossDbManager::getCustomSSP(), woss::WossDbManager::getPressure(), woss::WossDbManager::getSediment(), woss::WossDbManager::getSediment(), woss::WossDbManager::getSSP(), woss::WossDbManager::getTimeArr(), WossMPhyBpsk::getTxPower(), woss::SspWoa2005Db::getValue(), woss::ResPressureTxtDb::getValue(), woss::ResTimeArrTxtDb::getValue(), woss::WossManagerResDb::getWossPressure(), woss::WossManagerResDbMT::getWossPressure(), woss::WossManager::getWossPressure(), woss::WossManagerResDbMT::getWossPressure(), woss::WossManager::getWossPressure(), woss::WossManager::getWossPressure(), woss::WossManagerResDb::getWossTimeArr(), woss::WossManagerResDbMT::getWossTimeArr(), woss::WossManager::getWossTimeArr(), woss::WossManagerResDbMT::getWossTimeArr(), woss::WossManager::getWossTimeArr(), woss::WossManager::getWossTimeArr(), woss::WossDbManager::importCustomSSP(), woss::ResTimeArrTxtDb::importMap(), woss::ResTimeArrBinDb::importMap(), woss::TransducerHandler::importValueAscii(), woss::TransducerHandler::importValueBinary(), woss::TransducerHandler::initializeNotValid(), woss::Altimetry::randomize(), woss::SSP::randomize(), woss::ArrAscResReader::readAvgPressure(), woss::ArrBinResReader::readAvgPressure(), woss::ShdResReader::readAvgPressure(), woss::ArrAscResReader::readPressure(), woss::ArrBinResReader::readPressure(), woss::ShdResReader::readPressure(), woss::ArrAscResReader::readTimeArr(), woss::ArrBinResReader::readTimeArr(), woss::ShdResReader::readTimeArr(), WossChannelModule::schedulePacketCopies(), woss::WossDbManager::setCustomSediment(), and woss::WossDbManager::setCustomSSP().

◆ instance_ptr()

template<typename T >
T * woss::Singleton< T >::instance_ptr ( )
inlinestatic

◆ operator=() [1/2]

template<typename T >
Singleton & woss::Singleton< T >::operator= ( const Singleton< T > &  copy)
delete

Disallowed assignment operator

◆ operator=() [2/2]

template<typename T >
Singleton & woss::Singleton< T >::operator= ( Singleton< T > &&  tmp)
delete

Disallowed move assignment operator


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