attributes: New macro ATTRSET_INITIALIZER.
[pspp] / src / data / attributes.h
index a5cebc5bcc2eb15296ce1341555ad79bd7a900dc..6da0b0ef9cd71b362b45122bd93c1d8300e17620 100644 (file)
@@ -41,10 +41,11 @@ void attribute_set_value (struct attribute *, size_t index, const char *);
 void attribute_del_value (struct attribute *, size_t index);
 size_t attribute_get_n_values (const struct attribute *);
 
-struct attrset 
+struct attrset
   {
     struct hmap map;
   };
+#define ATTRSET_INITIALIZER(ATTRSET) { .map = HMAP_INITIALIZER((ATTRSET).map) }
 
 void attrset_init (struct attrset *);
 void attrset_clone (struct attrset *, const struct attrset *);
@@ -53,6 +54,7 @@ void attrset_destroy (struct attrset *);
 size_t attrset_count (const struct attrset *);
 
 struct attribute *attrset_lookup (const struct attrset *, const char *);
+bool attrset_try_add (struct attrset *, struct attribute *);
 void attrset_add (struct attrset *, struct attribute *);
 void attrset_delete (struct attrset *, const char *);
 void attrset_clear (struct attrset *);