summaryrefslogtreecommitdiff
path: root/support/lametex/src/Label.h
blob: a1a7f92bb881e504bf27233899d54410bc8fc1eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* Label.h
 *
 * Stores user-defined labels for backwards and forwards referencing with
 * the \ref and \pageref commands.
 *
 * Copyright 1992 Jonathan Monsarrat. Permission given to freely distribute,
 * edit and use as long as this copyright statement remains intact.
 *
 */

const MAXLABELS = 100;

class Label {
  public:
     char *_name;
     int _chapter;
     int _section;
     int _referenced;
     
     Label(char *,int,int);
     ~Label();
     match(char *);
};

class Labels {
     enum LabelContents {
	  Chapter,
	  Section
     };
     int numlabels;
     Label *label[MAXLABELS];
     int unknown_references;

public:
     Labels();
     ~Labels();
     void add_label(char *);
     void print_ref(char *);
     void shutdown();
};