Add C++ interface for the libbabeltrace2 `bt_field_class` API
[babeltrace.git] / src / cpp-common / bt2 / integer-range-set.hpp
index 52fc540dcbb10c5b2f26bf8f4c29c4e2603dd638..8d686496fa6b7215f00afa6bb3aa7adfca3e0d3e 100644 (file)
@@ -129,6 +129,12 @@ struct CommonIntegerRangeSetSpec<const bt_integer_range_set_signed> final
 
 } // namespace internal
 
+template <typename LibObjT>
+class ConstVariantWithIntegerSelectorFieldClassOption;
+
+template <typename LibObjT, typename RangeSetT>
+class CommonVariantWithIntegerSelectorFieldClass;
+
 template <typename LibObjT>
 class CommonIntegerRangeSet final : public internal::BorrowedObj<LibObjT>
 {
@@ -138,6 +144,17 @@ class CommonIntegerRangeSet final : public internal::BorrowedObj<LibObjT>
     friend class CommonIntegerRangeSet<bt_integer_range_set_signed>;
     friend class CommonIntegerRangeSet<const bt_integer_range_set_signed>;
 
+    // Allow appendOption() to call `ranges._libObjPtr()`
+    friend class CommonVariantWithIntegerSelectorFieldClass<
+        bt_field_class,
+        ConstVariantWithIntegerSelectorFieldClassOption<
+            const bt_field_class_variant_with_selector_field_integer_unsigned_option>>;
+
+    friend class CommonVariantWithIntegerSelectorFieldClass<
+        bt_field_class,
+        ConstVariantWithIntegerSelectorFieldClassOption<
+            const bt_field_class_variant_with_selector_field_integer_signed_option>>;
+
 private:
     using typename internal::BorrowedObj<LibObjT>::_ThisBorrowedObj;
     using typename internal::BorrowedObj<LibObjT>::_LibObjPtr;
This page took 0.024131 seconds and 4 git commands to generate.