cpp-common: add `begin()` and `end()` to VariantWithIntegerSelector FC
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Thu, 17 Mar 2022 01:12:49 +0000 (21:12 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Mon, 11 Sep 2023 15:24:02 +0000 (11:24 -0400)
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Change-Id: Ice31d346102258a6af593bd38fc3f123179482f4
Reviewed-on: https://review.lttng.org/c/babeltrace/+/7619
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10794
CI-Build: Philippe Proulx <eeppeliteloop@gmail.com>
Tested-by: jenkins <jenkins@lttng.org>
src/cpp-common/bt2/field-class.hpp

index c94e2cef5dbfe1b62abaa56626356b658cb9bd08..1a060866f4aa453cfa7cf910f5d504752e348ffb 100644 (file)
@@ -2113,7 +2113,7 @@ public:
         typename std::conditional<std::is_const<LibObjT>::value, ConstVariantFieldClassOption,
                                   VariantFieldClassOption>::type;
 
-    using Iterator = CommonIterator<CommonVariantFieldClass<LibObjT>, Option>;
+    using Iterator = CommonIterator<CommonVariantFieldClass, Option>;
 
     explicit CommonVariantFieldClass(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonFieldClass {libObjPtr}
@@ -2420,6 +2420,10 @@ public:
     }
 };
 
+using VariantWithSelectorFieldClass = CommonVariantWithSelectorFieldClass<bt_field_class>;
+using ConstVariantWithSelectorFieldClass =
+    CommonVariantWithSelectorFieldClass<const bt_field_class>;
+
 template <typename LibObjT, typename OptionT>
 class CommonVariantWithIntegerSelectorFieldClass :
     public CommonVariantWithSelectorFieldClass<LibObjT>
@@ -2438,6 +2442,8 @@ public:
         internal::SharedFieldClass<_ThisCommonVariantWithIntegerSelectorFieldClass, LibObjT>;
 
     using Option = OptionT;
+    using Iterator =
+        CommonIterator<CommonVariantWithIntegerSelectorFieldClass<LibObjT, Option>, Option>;
 
     explicit CommonVariantWithIntegerSelectorFieldClass(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonVariantWithSelectorFieldClass {libObjPtr}
@@ -2500,6 +2506,16 @@ public:
         this->appendOption(name.data(), fc);
     }
 
+    Iterator begin() const noexcept
+    {
+        return Iterator {*this, 0};
+    }
+
+    Iterator end() const noexcept
+    {
+        return Iterator {*this, this->size()};
+    }
+
     Shared shared() const noexcept
     {
         return Shared {*this};
This page took 0.027984 seconds and 4 git commands to generate.