/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2009, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2009-2012 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
#include "data/value.h"
#include "libpspp/hmap.h"
+struct pxd;
+
/* One value label.
A value label is normally part of a struct val_labs (see
struct val_lab
{
struct hmap_node node; /* Node in hash map. */
+ struct pxd_object *cache; /* Object cache. */
union value value; /* The value being labeled. */
const char *label; /* An interned string. */
const char *escaped_label; /* An interned string. */
/* A set of value labels. */
struct val_labs
{
+ struct pxd_object *cache; /* Object cache. */
int width; /* 0=numeric, otherwise string width. */
struct hmap labels; /* Hash table of `struct val_lab's. */
};
unsigned int val_labs_hash (const struct val_labs *, unsigned int basis);
bool val_labs_equal (const struct val_labs *, const struct val_labs *);
+/* Saving and loading. */
+struct pxd_object *val_labs_save (const struct val_labs *, struct pxd *);
+struct val_labs *val_labs_load (struct pxd_object *, const struct pxd *);
+
#endif /* data/value-labels.h */