projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lib: rename `bt_*_compare()` to `bt_*_is_equal()`
[babeltrace.git]
/
src
/
bindings
/
python
/
bt2
/
bt2
/
integer_range_set.py
diff --git
a/src/bindings/python/bt2/bt2/integer_range_set.py
b/src/bindings/python/bt2/bt2/integer_range_set.py
index 913422c1f673e8d156bc76bf2e0f749ce2d5935e..b00724fe5042276ab7100fd12c291902d0023f3b 100644
(file)
--- a/
src/bindings/python/bt2/bt2/integer_range_set.py
+++ b/
src/bindings/python/bt2/bt2/integer_range_set.py
@@
-25,9
+25,13
@@
import collections.abc
import bt2
import bt2
-class _IntegerRange:
- def __init__(self, lower, upper):
+class _IntegerRange
Const
:
+ def __init__(self, lower, upper
=None
):
self._check_type(lower)
self._check_type(lower)
+
+ if upper is None:
+ upper = lower
+
self._check_type(upper)
if lower > upper:
self._check_type(upper)
if lower > upper:
@@
-53,34
+57,36
@@
class _IntegerRange:
return value >= self._lower and value <= self._upper
def __eq__(self, other):
return value >= self._lower and value <= self._upper
def __eq__(self, other):
- if
type(other) is not type(self
):
+ if
not isinstance(other, _IntegerRangeConst
):
return False
return self.lower == other.lower and self.upper == other.upper
return False
return self.lower == other.lower and self.upper == other.upper
-class SignedIntegerRange(_IntegerRange):
+class _IntegerRange(_IntegerRangeConst):
+ def __init__(self, lower, upper=None):
+ super().__init__(lower, upper)
+
+
+class _SignedIntegerRangeConst(_IntegerRangeConst):
+ _is_type = staticmethod(utils._is_int64)
_check_type = staticmethod(utils._check_int64)
_check_type = staticmethod(utils._check_int64)
-class
UnsignedIntegerRange(
_IntegerRange):
- _check_type = staticmethod(utils._check_uint64)
+class
SignedIntegerRange(_SignedIntegerRangeConst,
_IntegerRange):
+ pass
-class _
IntegerRangeSet(object._SharedObject, collections.abc.MutableSe
t):
- def __init__(self, ranges=None):
-
ptr = self._create_range_set(
)
+class _
UnsignedIntegerRangeConst(_IntegerRangeCons
t):
+ _is_type = staticmethod(utils._is_uint64)
+
_check_type = staticmethod(utils._check_uint64
)
- if ptr is None:
- raise bt2.MemoryError('cannot create range set object')
- super().__init__(ptr)
+class UnsignedIntegerRange(_UnsignedIntegerRangeConst, _IntegerRange):
+ pass
- if ranges is not None:
- # will raise if not iterable
- for rg in ranges:
- self.add(rg)
+class _IntegerRangeSetConst(object._SharedObject, collections.abc.Set):
def __len__(self):
range_set_ptr = self._as_range_set_ptr(self._ptr)
count = native_bt.integer_range_set_get_range_count(range_set_ptr)
def __len__(self):
range_set_ptr = self._as_range_set_ptr(self._ptr)
count = native_bt.integer_range_set_get_range_count(range_set_ptr)
@@
-96,17
+102,18
@@
class _IntegerRangeSet(object._SharedObject, collections.abc.MutableSet):
def __iter__(self):
for idx in range(len(self)):
def __iter__(self):
for idx in range(len(self)):
- rg_ptr = self._borrow_range_
by_index_ptr
(self._ptr, idx)
+ rg_ptr = self._borrow_range_
ptr_by_index
(self._ptr, idx)
assert rg_ptr is not None
lower = self._range_get_lower(rg_ptr)
upper = self._range_get_upper(rg_ptr)
assert rg_ptr is not None
lower = self._range_get_lower(rg_ptr)
upper = self._range_get_upper(rg_ptr)
- yield self._range_
type
(lower, upper)
+ yield self._range_
pycls
(lower, upper)
def __eq__(self, other):
def __eq__(self, other):
- if type(other) is not type(self):
+
+ if not isinstance(other, _IntegerRangeSetConst):
return False
return False
- return self._
compare
(self._ptr, other._ptr)
+ return self._
is_equal
(self._ptr, other._ptr)
def contains_value(self, value):
for rg in self:
def contains_value(self, value):
for rg in self:
@@
-115,10
+122,28
@@
class _IntegerRangeSet(object._SharedObject, collections.abc.MutableSet):
return False
return False
+
+class _IntegerRangeSet(_IntegerRangeSetConst, collections.abc.MutableSet):
+ def __init__(self, ranges=None):
+ ptr = self._create_range_set()
+
+ if ptr is None:
+ raise bt2._MemoryError('cannot create range set object')
+
+ super().__init__(ptr)
+
+ if ranges is not None:
+ # will raise if not iterable
+ for rg in ranges:
+ self.add(rg)
+
def add(self, rg):
def add(self, rg):
- if type(rg) is not self._range_type:
- # assume it's a simple pair (will raise if it's not)
- rg = self._range_type(rg[0], rg[1])
+ if type(rg) is not self._range_pycls:
+ if self._range_pycls._is_type(rg):
+ rg = self._range_pycls(rg)
+ else:
+ # assume it's a simple pair (will raise if it's not)
+ rg = self._range_pycls(rg[0], rg[1])
status = self._add_range(self._ptr, rg.lower, rg.upper)
utils._handle_func_status(status, 'cannot add range to range set object')
status = self._add_range(self._ptr, rg.lower, rg.upper)
utils._handle_func_status(status, 'cannot add range to range set object')
@@
-127,35
+152,43
@@
class _IntegerRangeSet(object._SharedObject, collections.abc.MutableSet):
raise NotImplementedError
raise NotImplementedError
-class
SignedIntegerRangeSet(_IntegerRangeSe
t):
+class
_SignedIntegerRangeSetConst(_IntegerRangeSetCons
t):
_get_ref = staticmethod(native_bt.integer_range_set_signed_get_ref)
_put_ref = staticmethod(native_bt.integer_range_set_signed_put_ref)
_as_range_set_ptr = staticmethod(
native_bt.integer_range_set_signed_as_range_set_const
)
_get_ref = staticmethod(native_bt.integer_range_set_signed_get_ref)
_put_ref = staticmethod(native_bt.integer_range_set_signed_put_ref)
_as_range_set_ptr = staticmethod(
native_bt.integer_range_set_signed_as_range_set_const
)
- _create_range_set = staticmethod(native_bt.integer_range_set_signed_create)
- _borrow_range_by_index_ptr = staticmethod(
+ _borrow_range_ptr_by_index = staticmethod(
native_bt.integer_range_set_signed_borrow_range_by_index_const
)
_range_get_lower = staticmethod(native_bt.integer_range_signed_get_lower)
_range_get_upper = staticmethod(native_bt.integer_range_signed_get_upper)
native_bt.integer_range_set_signed_borrow_range_by_index_const
)
_range_get_lower = staticmethod(native_bt.integer_range_signed_get_lower)
_range_get_upper = staticmethod(native_bt.integer_range_signed_get_upper)
+ _is_equal = staticmethod(native_bt.integer_range_set_signed_is_equal)
+ _range_pycls = _SignedIntegerRangeConst
+
+
+class SignedIntegerRangeSet(_SignedIntegerRangeSetConst, _IntegerRangeSet):
+ _create_range_set = staticmethod(native_bt.integer_range_set_signed_create)
_add_range = staticmethod(native_bt.integer_range_set_signed_add_range)
_add_range = staticmethod(native_bt.integer_range_set_signed_add_range)
- _compare = staticmethod(native_bt.integer_range_set_signed_compare)
- _range_type = SignedIntegerRange
+ _range_pycls = SignedIntegerRange
-class
UnsignedIntegerRangeSet(_IntegerRangeSe
t):
+class
_UnsignedIntegerRangeSetConst(_IntegerRangeSetCons
t):
_get_ref = staticmethod(native_bt.integer_range_set_unsigned_get_ref)
_put_ref = staticmethod(native_bt.integer_range_set_unsigned_put_ref)
_as_range_set_ptr = staticmethod(
native_bt.integer_range_set_unsigned_as_range_set_const
)
_get_ref = staticmethod(native_bt.integer_range_set_unsigned_get_ref)
_put_ref = staticmethod(native_bt.integer_range_set_unsigned_put_ref)
_as_range_set_ptr = staticmethod(
native_bt.integer_range_set_unsigned_as_range_set_const
)
- _create_range_set = staticmethod(native_bt.integer_range_set_unsigned_create)
- _borrow_range_by_index_ptr = staticmethod(
+ _borrow_range_ptr_by_index = staticmethod(
native_bt.integer_range_set_unsigned_borrow_range_by_index_const
)
_range_get_lower = staticmethod(native_bt.integer_range_unsigned_get_lower)
_range_get_upper = staticmethod(native_bt.integer_range_unsigned_get_upper)
native_bt.integer_range_set_unsigned_borrow_range_by_index_const
)
_range_get_lower = staticmethod(native_bt.integer_range_unsigned_get_lower)
_range_get_upper = staticmethod(native_bt.integer_range_unsigned_get_upper)
+ _is_equal = staticmethod(native_bt.integer_range_set_unsigned_is_equal)
+ _range_pycls = _UnsignedIntegerRangeConst
+
+
+class UnsignedIntegerRangeSet(_UnsignedIntegerRangeSetConst, _IntegerRangeSet):
+ _create_range_set = staticmethod(native_bt.integer_range_set_unsigned_create)
_add_range = staticmethod(native_bt.integer_range_set_unsigned_add_range)
_add_range = staticmethod(native_bt.integer_range_set_unsigned_add_range)
- _compare = staticmethod(native_bt.integer_range_set_unsigned_compare)
- _range_type = UnsignedIntegerRange
+ _range_pycls = UnsignedIntegerRange
This page took
0.027488 seconds
and
4
git commands to generate.