/* PSPP - a program for statistical analysis.
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2011, 2012, 2016 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#ifndef DATA_ATTRIBUTES_H
#define DATA_ATTRIBUTES_H 1
-#include <libpspp/hmapx.h>
+#include "libpspp/hmapx.h"
/* This header supports custom attribute of the sort maintained
by the DATAFILE ATTRIBUTE and VARIABLE ATTRIBUTE commands.
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 *);
size_t attrset_count (const struct attrset *);
-struct attribute *attrset_lookup (struct attrset *, const char *);
+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 *);
struct attrset_iterator *);
struct attribute *attrset_next (const struct attrset *,
struct attrset_iterator *);
-
+struct attribute **attrset_sorted (const struct attrset *);
#endif /* data/attributes.h */