A Discrete-Event Network Simulator
API
ns3::SimulationSingleton< T > Class Template Reference

This singleton class template ensures that the type for which we want a singleton has a lifetime bounded by the simulation run lifetime. More...

#include "simulation-singleton.h"

Public Member Functions

 SimulationSingleton ()=delete
 
 SimulationSingleton (const SimulationSingleton< T > &)=delete
 
SimulationSingleton< T > & operator= (const SimulationSingleton< T > &)=delete
 

Static Public Member Functions

static T * Get (void)
 Get a pointer to the singleton instance. More...
 

Static Private Member Functions

static void DeleteObject (void)
 Delete the static instance. More...
 
static T ** GetObject (void)
 Get the singleton object, creating a new one if it doesn't exist yet. More...
 

Detailed Description

template<typename T>
class ns3::SimulationSingleton< T >

This singleton class template ensures that the type for which we want a singleton has a lifetime bounded by the simulation run lifetime.

That it, the underlying type will be automatically deleted upon a call to Simulator::Destroy.

For a singleton with a lifetime bounded by the process, not the simulation run, see Singleton.

Definition at line 43 of file simulation-singleton.h.

Constructor & Destructor Documentation

◆ SimulationSingleton() [1/2]

template<typename T >
ns3::SimulationSingleton< T >::SimulationSingleton ( )
delete

◆ SimulationSingleton() [2/2]

template<typename T >
ns3::SimulationSingleton< T >::SimulationSingleton ( const SimulationSingleton< T > &  )
delete

Member Function Documentation

◆ DeleteObject()

template<typename T >
void ns3::SimulationSingleton< T >::DeleteObject ( void  )
staticprivate

Delete the static instance.

Definition at line 112 of file simulation-singleton.h.

◆ Get()

◆ GetObject()

template<typename T >
T ** ns3::SimulationSingleton< T >::GetObject ( void  )
staticprivate

Get the singleton object, creating a new one if it doesn't exist yet.

Internal:
When a new object is created, this method schedules it's own destruction using Simulator::ScheduleDestroy().
Returns
The address of the pointer holding the static instance.

Definition at line 99 of file simulation-singleton.h.

References ns3::Simulator::ScheduleDestroy().

+ Here is the call graph for this function:

◆ operator=()

template<typename T >
SimulationSingleton<T>& ns3::SimulationSingleton< T >::operator= ( const SimulationSingleton< T > &  )
delete

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