+ return (const void *)
+ borrow_named_field_class_from_container_field_class_at_index(
+ (void *) fc, index);
+}
+
+struct bt_field_class_variant_option *
+bt_field_class_variant_borrow_option_by_index(
+ struct bt_field_class *fc, uint64_t index)
+{
+ BT_ASSERT_PRE_NON_NULL(fc, "Field class");
+ BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_VARIANT, "Field class");
+ return (void *)
+ borrow_named_field_class_from_container_field_class_at_index(
+ (void *) fc, index);
+}
+
+const char *bt_field_class_variant_option_get_name(
+ const struct bt_field_class_variant_option *option)
+{
+ const struct bt_named_field_class *named_fc = (const void *) option;
+
+ BT_ASSERT_PRE_NON_NULL(option, "Variant field class option");
+ return named_fc->name->str;
+}
+
+const struct bt_field_class *
+bt_field_class_variant_option_borrow_field_class_const(
+ const struct bt_field_class_variant_option *option)
+{
+ const struct bt_named_field_class *named_fc = (const void *) option;
+
+ BT_ASSERT_PRE_NON_NULL(option, "Variant field class option");
+ return named_fc->fc;
+}
+
+struct bt_field_class *
+bt_field_class_variant_option_borrow_field_class(
+ struct bt_field_class_variant_option *option)
+{
+ struct bt_named_field_class *named_fc = (void *) option;
+
+ BT_ASSERT_PRE_NON_NULL(option, "Variant field class option");
+ return named_fc->fc;