about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation/HTAtom.h
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>2010-05-03 00:45:10 -0400
committerThomas E. Dickey <dickey@invisible-island.net>2010-05-03 00:45:10 -0400
commit903885454167e86ce4cb967f901cbaf741f21501 (patch)
tree90a46f9f1e6c6194c8f43bbb4aa81e1e50e7e2fe /WWW/Library/Implementation/HTAtom.h
parentdc748b1c47baadafae2c90f0e188927b11b7e029 (diff)
downloadlynx-snapshots-903885454167e86ce4cb967f901cbaf741f21501.tar.gz
snapshot of project "lynx", label v2-8-8dev_3c
Diffstat (limited to 'WWW/Library/Implementation/HTAtom.h')
-rw-r--r--WWW/Library/Implementation/HTAtom.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/WWW/Library/Implementation/HTAtom.h b/WWW/Library/Implementation/HTAtom.h
new file mode 100644
index 00000000..4125d31b
--- /dev/null
+++ b/WWW/Library/Implementation/HTAtom.h
@@ -0,0 +1,54 @@
+/*  */
+
+/*                      Atoms: Names to numbers                 HTAtom.h
+ *                      =======================
+ *
+ *      Atoms are names which are given representative pointer values
+ *      so that they can be stored more efficiently, and compaisons
+ *      for equality done more efficiently.
+ *
+ *      HTAtom_for(string) returns a representative value such that it
+ *      will always (within one run of the program) return the same
+ *      value for the same given string.
+ *
+ * Authors:
+ *      TBL     Tim Berners-Lee, WorldWideWeb project, CERN
+ *
+ *      (c) Copyright CERN 1991 - See Copyright.html
+ *
+ */
+
+#ifndef HTATOM_H
+#define HTATOM_H
+
+#include <HTList.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    typedef struct _HTAtom HTAtom;
+
+    struct _HTAtom {
+	HTAtom *next;
+	char *name;
+    };				/* struct _HTAtom */
+
+    extern HTAtom *HTAtom_for(const char *string);
+    extern HTList *HTAtom_templateMatches(const char *templ);
+
+#define HTAtom_name(a) ((a)->name)
+
+/*
+
+The HTFormat type
+
+   We use the HTAtom object for holding representations.  This allows faster manipulation
+   (comparison and copying) that if we stayed with strings.
+
+ */
+    typedef HTAtom *HTFormat;
+
+#ifdef __cplusplus
+}
+#endif
+#endif				/* HTATOM_H */