+#if defined(__cplusplus)
+ static struct {} array_t;
+ static struct {} string_t;
+ static struct {} signed_integer_t;
+ static struct {} bool_t;
+
+ bt_param_validation_value_descr(decltype(array_t),
+ uint64_t min_length, uint64_t max_length,
+ const bt_param_validation_value_descr &element_type)
+ : type{BT_VALUE_TYPE_ARRAY}, array{min_length, max_length, &element_type}
+ {}
+
+ bt_param_validation_value_descr(decltype(string_t),
+ const char **choices = nullptr)
+ : type{BT_VALUE_TYPE_STRING}, string{choices}
+ {}
+
+ bt_param_validation_value_descr(decltype(signed_integer_t))
+ : type{BT_VALUE_TYPE_SIGNED_INTEGER}
+ {}
+
+ bt_param_validation_value_descr(decltype(bool_t))
+ : type{BT_VALUE_TYPE_BOOL}
+ {}
+#endif
+