return &_aop_t_all_fp;
}
+/**
+ * Return a type that will match any pointer.
+ *\return A type that will match any pointer.
+ */
const struct aop_type *
aop_t_all_pointer ()
{
return &_aop_t_float128;
}
+/**
+ * Return a type that will match a struct type. Note that this will
+ * not match <i>pointers</i> to the specified struct type.
+ * \param tag The name of the struct. To match <code>struct
+ * foo</code>, give just <code>foo</code> as the tag.
+ * \return A type that will match a specified struct.
+ */
const struct aop_type *
aop_t_struct (const char *tag)
{
return init_aop_type (ATK_STRUCT, 0, tag, -1);
}
+/**
+ * A convenience function for obtaining a type that will match a
+ * pointer to a specified struct. The result is the same as obtaining
+ * a struct type with aop_t_struct() and passing it to
+ * aop_t_pointer_to().
+ * \param tag The name of the struct. To match <code>struct
+ * foo *</code>, give just <code>foo</code> as the tag.
+ * \return A type that will match pointers to a specified struct.
+ */
const struct aop_type *
aop_t_struct_ptr (const char *tag)
{
return init_aop_type (ATK_STRUCT, 1, tag, -1);
}
+/**
+ * Return a type that will match a union type. Note that this will
+ * not match <i>pointers</i> to the specified union type.
+ * \param tag The name of the union. To match <code>union foo</code>,
+ * give just <code>foo</code> as the tag.
+ * \return A type that will match a specified union.
+ */
const struct aop_type *
aop_t_union (const char *tag)
{
return init_aop_type (ATK_UNION, 0, tag, -1);
}
+/**
+ * A convenience function for obtaining a type that will match a
+ * pointer to a specified union. The result is the same as obtaining
+ * a union type with aop_t_union() and passing it to
+ * aop_t_pointer_to().
+ * \param tag The name of the union. To match <code>union
+ * foo *</code>, give just <code>foo</code> as the tag.
+ * \return A type that will match pointers to a specified union.
+ */
const struct aop_type *
aop_t_union_ptr (const char *tag)
{
return init_aop_type (ATK_UNION, 1, tag, -1);
}
+/**
+ * Return a type that will match an enum type. Note that this will
+ * not match <i>pointers</i> to the specified enum type.
+ * \param tag The name of the enum. To match <code>enum foo</code>,
+ * give just <code>enum</code> as the tag.
+ * \return A type that will match a specified union.
+ */
const struct aop_type *
aop_t_enum (const char *tag)
{