LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
Public Member Functions | Static Public Attributes | List of all members
lsst.afw.typehandling._GenericMap.MutableGenericMap Class Reference
Inheritance diagram for lsst.afw.typehandling._GenericMap.MutableGenericMap:
lsst.afw.typehandling._GenericMap.GenericMap lsst.afw.typehandling._SimpleGenericMap.SimpleGenericMap

Public Member Functions

def pop (self, key, default=None)
 
def __repr__ (self)
 
def __eq__ (self, other)
 

Static Public Attributes

 setdefault = MutableMapping.setdefault
 
 update = MutableMapping.update
 
 keys = Mapping.keys
 
 values = Mapping.values
 
 items = Mapping.items
 

Detailed Description

An abstract `~collections.abc.MutableMapping` for use when sharing a
map between C++ and Python.

For compatibility with C++, ``MutableGenericMap`` has the following
restrictions:

    - all keys must be of the same type
    - values must be built-in types or subclasses of
      `lsst.afw.typehandling.Storable`. Almost any user-defined class in
      C++ or Python can have `~lsst.afw.typehandling.Storable` as a mixin.

As a safety precaution, `~lsst.afw.typehandling.Storable` objects that are
added from C++ may be copied when you retrieve them from Python, making it
impossible to modify them in-place. This issue does not affect objects that
are added from Python, or objects that are always passed by
:cpp:class:`shared_ptr` in C++.

Notes
-----
Key-type specializations of ``MutableGenericMap`` are available as, e.g.,
``MutableGenericMap[str]``.

Definition at line 77 of file _GenericMap.py.

Member Function Documentation

◆ __eq__()

def lsst.afw.typehandling._GenericMap.GenericMap.__eq__ (   self,
  other 
)
inherited

Definition at line 55 of file _GenericMap.py.

55  def __eq__(self, other):
56  if len(self) != len(other):
57  return False
58 
59  for key, value in self.items():
60  try:
61  if (value != other[key]):
62  return False
63  except KeyError:
64  return False
65  return True
66 

◆ __repr__()

def lsst.afw.typehandling._GenericMap.GenericMap.__repr__ (   self)
inherited

Definition at line 49 of file _GenericMap.py.

49  def __repr__(self):
50  className = type(self).__name__
51  return className + "({" + ", ".join("%r: %r" % (key, value) for key, value in self.items()) + "})"
52 
table::Key< int > type
Definition: Detector.cc:163

◆ pop()

def lsst.afw.typehandling._GenericMap.MutableGenericMap.pop (   self,
  key,
  default = None 
)

Definition at line 106 of file _GenericMap.py.

106  def pop(self, key, default=None):
107  try:
108  value = self[key]
109  del self[key]
110  return value
111  except KeyError:
112  if default is not None:
113  return default
114  else:
115  raise
116 
117 
118 MutableGenericMap.register(str, MutableGenericMapS)
119 MutableMapping.register(MutableGenericMapS)
120 
121 

Member Data Documentation

◆ items

lsst.afw.typehandling._GenericMap.GenericMap.items = Mapping.items
staticinherited

Definition at line 70 of file _GenericMap.py.

◆ keys

lsst.afw.typehandling._GenericMap.GenericMap.keys = Mapping.keys
staticinherited

Definition at line 68 of file _GenericMap.py.

◆ setdefault

lsst.afw.typehandling._GenericMap.MutableGenericMap.setdefault = MutableMapping.setdefault
static

Definition at line 102 of file _GenericMap.py.

◆ update

lsst.afw.typehandling._GenericMap.MutableGenericMap.update = MutableMapping.update
static

Definition at line 103 of file _GenericMap.py.

◆ values

lsst.afw.typehandling._GenericMap.GenericMap.values = Mapping.values
staticinherited

Definition at line 69 of file _GenericMap.py.


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