+ def __iadd__(self, other):
+ self.value += NumericParamValue.unwrap(other)
+ self._check()
+ return self
+
+ def __isub__(self, other):
+ self.value -= NumericParamValue.unwrap(other)
+ self._check()
+ return self
+
+ def __imul__(self, other):
+ self.value *= NumericParamValue.unwrap(other)
+ self._check()
+ return self
+
+ def __itruediv__(self, other):
+ self.value /= NumericParamValue.unwrap(other)
+ self._check()
+ return self
+
+ def __ifloordiv__(self, other):
+ self.value //= NumericParamValue.unwrap(other)
+ self._check()
+ return self
+
+ def __lt__(self, other):
+ return self.value < NumericParamValue.unwrap(other)
+
+ # Python 2.7 pre __future__.division operators
+ # TODO: Remove these when after "import division from __future__"
+ __div__ = __truediv__
+ __idiv__ = __itruediv__
+
+ def config_value(self):
+ return self.value
+
+ @classmethod
+ def cxx_ini_predecls(cls, code):
+ # Assume that base/str.hh will be included anyway
+ # code('#include "base/str.hh"')
+ pass
+
+ # The default for parsing PODs from an .ini entry is to extract from an
+ # istringstream and let overloading choose the right type according to
+ # the dest type.
+ @classmethod
+ def cxx_ini_parse(self, code, src, dest, ret):
+ code('%s to_number(%s, %s);' % (ret, src, dest))
+