lib: add integer range and integer range set API
This patch adds an integer range and range set API.
An integer range is a pair of lower and upper integer values. It can be
signed (`int64_t`) or unsigned (`uint64_t`).
An integer range set is a set of integer ranges, also either signed or
unsigned.
The goal of this is to use this API for enumeration field class mappings
and, with a subsequent patch, for the integer range set of the option of
a variant field class which has a selector.
You can create an integer range set with
bt_integer_range_set_unsigned_create() or
bt_integer_range_set_signed_create(). Integer range sets have a
reference count.
You can add an integer range to an integer range set with
bt_integer_range_set_unsigned_add_range() or
bt_integer_range_set_signed_add_range().
You can borrow an integer range object (unique, no reference count) from
an integer range set by index with
bt_integer_range_set_unsigned_borrow_range_by_index_const() or
bt_integer_range_set_signed_borrow_range_by_index_const().
As of this patch, you cannot remove an integer range from an integer
range set.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Change-Id: I0ba5c33a38a33c2ff2f92fbbd8f871ff6635eac8
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1715
This page took 0.037026 seconds and 4 git commands to generate.