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
 
SimulationSingletonoperator= (const SimulationSingleton< T > &)=delete
 

Static Public Member Functions

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

Static Private Member Functions

static void DeleteObject ()
 Delete the static instance. More...
 
static T ** GetObject ()
 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
staticprivate

Delete the static instance.

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

◆ Get()

◆ GetObject()

template<typename T >
T ** ns3::SimulationSingleton< T >::GetObject
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 98 of file simulation-singleton.h.

References ns3::Simulator::ScheduleDestroy().

+ Here is the call graph for this function:

◆ operator=()

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

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