Source code for nrv.backend._NRV_Singleton

"""
NRV-:class:`NRV_singleton` handling.
"""

[docs] class NRV_singleton(type): """ Should be used as metaclass to define singleton classes """ _instances = {} def __call__(cls, *args, **kwargs): # with cls._lock: if cls not in cls._instances: instance = super().__call__(*args, **kwargs) cls._instances[cls] = instance return cls._instances[cls]