The Gaudi Framework  v33r0 (d5ea422b)
GaudiConfig2.semantics._DictHelper Class Reference
Inheritance diagram for GaudiConfig2.semantics._DictHelper:
Collaboration diagram for GaudiConfig2.semantics._DictHelper:

Public Member Functions

def __init__ (self, key_semantics, value_semantics)
 
def data (self)
 
def __len__ (self)
 
def __getitem__ (self, key)
 
def __setitem__ (self, key, value)
 
def __delitem__ (self, key)
 
def __iter__ (self)
 
def keys (self)
 
def items (self)
 
def values (self)
 
def __contains__ (self, key)
 
def get (self, key, default=None)
 
def opt_value (self)
 
def __repr__ (self)
 

Public Attributes

 key_semantics
 
 value_semantics
 
 default
 
 is_dirty
 

Private Attributes

 _data
 

Detailed Description

Definition at line 307 of file semantics.py.

Constructor & Destructor Documentation

◆ __init__()

def GaudiConfig2.semantics._DictHelper.__init__ (   self,
  key_semantics,
  value_semantics 
)

Definition at line 308 of file semantics.py.

308  def __init__(self, key_semantics, value_semantics):
309  self.key_semantics = key_semantics
310  self.value_semantics = value_semantics
311  self.default = None
312  self._data = {}
313  self.is_dirty = False
314 

Member Function Documentation

◆ __contains__()

def GaudiConfig2.semantics._DictHelper.__contains__ (   self,
  key 
)

Definition at line 352 of file semantics.py.

352  def __contains__(self, key):
353  return self.key_semantics.store(key) in self.data
354 

◆ __delitem__()

def GaudiConfig2.semantics._DictHelper.__delitem__ (   self,
  key 
)

Definition at line 331 of file semantics.py.

331  def __delitem__(self, key):
332  if not self.is_dirty:
333  raise RuntimeError('cannot remove elements from the default value')
334  self.data.__delitem__(self.key_semantics.store(key))
335 

◆ __getitem__()

def GaudiConfig2.semantics._DictHelper.__getitem__ (   self,
  key 
)

Definition at line 322 of file semantics.py.

322  def __getitem__(self, key):
323  return self.value_semantics.load(
324  self.data.__getitem__(self.key_semantics.store(key)))
325 

◆ __iter__()

def GaudiConfig2.semantics._DictHelper.__iter__ (   self)

Definition at line 336 of file semantics.py.

336  def __iter__(self):
337  for key in self.data:
338  yield self.key_semantics.load(key)
339 

◆ __len__()

def GaudiConfig2.semantics._DictHelper.__len__ (   self)

Definition at line 319 of file semantics.py.

319  def __len__(self):
320  return len(self.data)
321 

◆ __repr__()

def GaudiConfig2.semantics._DictHelper.__repr__ (   self)

Definition at line 371 of file semantics.py.

371  def __repr__(self):
372  return repr(self.data)
373 
374 

◆ __setitem__()

def GaudiConfig2.semantics._DictHelper.__setitem__ (   self,
  key,
  value 
)

Definition at line 326 of file semantics.py.

326  def __setitem__(self, key, value):
327  self.is_dirty = True
328  self.data.__setitem__(
329  self.key_semantics.store(key), self.value_semantics.store(value))
330 

◆ data()

def GaudiConfig2.semantics._DictHelper.data (   self)

Definition at line 316 of file semantics.py.

316  def data(self):
317  return self._data if self.is_dirty else self.default
318 

◆ get()

def GaudiConfig2.semantics._DictHelper.get (   self,
  key,
  default = None 
)

Definition at line 355 of file semantics.py.

355  def get(self, key, default=None):
356  key = self.key_semantics.store(key)
357  if key in self.data:
358  return self.value_semantics.load(self.data[key])
359  return default
360 
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))

◆ items()

def GaudiConfig2.semantics._DictHelper.items (   self)

Definition at line 343 of file semantics.py.

343  def items(self):
344  for key, value in self.data.items():
345  yield (self.key_semantics.load(key),
346  self.value_semantics.load(value))
347 

◆ keys()

def GaudiConfig2.semantics._DictHelper.keys (   self)

Definition at line 340 of file semantics.py.

340  def keys(self):
341  return list(self)
342 

◆ opt_value()

def GaudiConfig2.semantics._DictHelper.opt_value (   self)

Definition at line 364 of file semantics.py.

364  def opt_value(self):
365  return {
366  self.key_semantics.opt_value(key):
367  self.value_semantics.opt_value(value)
368  for key, value in self.data.items()
369  }
370 

◆ values()

def GaudiConfig2.semantics._DictHelper.values (   self)

Definition at line 348 of file semantics.py.

348  def values(self):
349  for value in self.data.values():
350  yield self.value_semantics.load(value)
351 

Member Data Documentation

◆ _data

GaudiConfig2.semantics._DictHelper._data
private

Definition at line 312 of file semantics.py.

◆ default

GaudiConfig2.semantics._DictHelper.default

Definition at line 311 of file semantics.py.

◆ is_dirty

GaudiConfig2.semantics._DictHelper.is_dirty

Definition at line 313 of file semantics.py.

◆ key_semantics

GaudiConfig2.semantics._DictHelper.key_semantics

Definition at line 309 of file semantics.py.

◆ value_semantics

GaudiConfig2.semantics._DictHelper.value_semantics

Definition at line 310 of file semantics.py.


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