+#define BT_ASSERT_PRE_VALUE_HAS_TYPE(_value_id, _value, _type_id, _type) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE_FROM_FUNC(__func__, _value_id, \
+ (_value), _type_id, (_type));
+
+#define BT_ASSERT_PRE_VALUE_IS_BOOL(_value) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE("value-object", (_value), \
+ "boolean", BT_VALUE_TYPE_BOOL);
+
+#define BT_ASSERT_PRE_VALUE_IS_UNSIGNED_INT(_value) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE("value-object", (_value), \
+ "unsigned-int", BT_VALUE_TYPE_UNSIGNED_INTEGER);
+
+#define BT_ASSERT_PRE_VALUE_IS_SIGNED_INT(_value) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE("value-object", (_value), \
+ "signed-int", BT_VALUE_TYPE_SIGNED_INTEGER);
+
+#define BT_ASSERT_PRE_VALUE_IS_REAL(_value) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE("value-object", (_value), \
+ "real", BT_VALUE_TYPE_REAL);
+
+#define BT_ASSERT_PRE_VALUE_IS_STRING(_value) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE("value-object", (_value), \
+ "string", BT_VALUE_TYPE_STRING);
+
+#define BT_ASSERT_PRE_VALUE_IS_ARRAY(_value) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE("value-object", (_value), \
+ "array", BT_VALUE_TYPE_ARRAY);
+
+#define BT_ASSERT_PRE_VALUE_IS_MAP_FROM_FUNC(_func, _value) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE("value-object", (_value), \
+ "map", BT_VALUE_TYPE_MAP);
+
+#define BT_ASSERT_PRE_VALUE_IS_MAP(_value) \
+ BT_ASSERT_PRE_VALUE_HAS_TYPE("value-object", (_value), \
+ "map", BT_VALUE_TYPE_MAP);
+
+#define BT_ASSERT_PRE_DEV_VALUE_HAS_TYPE(_value_id, _value, _type_id, _type) \