]>
Commit | Line | Data |
---|---|---|
09ee8e72 RD |
1 | *** swig.h.old Wed Feb 04 14:59:40 1998 |
2 | --- swig.h Fri Aug 28 14:46:32 1998 | |
3 | *************** | |
4 | *** 178,185 **** | |
5 | --- 178,211 ---- | |
6 | char *firstkey(); | |
7 | char *nextkey(); | |
8 | }; | |
9 | ||
10 | + // ------------------------------------------------------------------- | |
11 | + // Simple Vector class | |
12 | + // User is responsible for deleting contents before deleteing Vector | |
13 | + // ------------------------------------------------------------------- | |
14 | + | |
15 | + class Vector { | |
16 | + public: | |
17 | + Vector(size_t allocSize=8); | |
18 | + ~Vector(); | |
19 | + | |
20 | + size_t size() { return m_size; } | |
21 | + size_t count() { return m_count; } | |
22 | + size_t append(void* object); | |
23 | + size_t extend(size_t newSize); | |
24 | + | |
25 | + void*& operator[] (size_t idx); | |
26 | + | |
27 | + static void* s_nullPtr; | |
28 | + | |
29 | + private: | |
30 | + size_t m_size; | |
31 | + size_t m_count; | |
32 | + void** m_data; | |
33 | + }; | |
34 | + | |
35 | + | |
36 | /************************************************************************ | |
37 | * class DataType | |
38 | * | |
39 | * Defines the basic datatypes supported by the translator. | |
40 | *************** | |
41 | *** 684,691 **** | |
42 | --- 710,761 ---- | |
43 | extern char *name_get(char *vname, int suppress=0); | |
44 | extern char *name_set(char *vname, int suppress=0); | |
45 | extern char *name_construct(char *classname, int suppress=0); | |
46 | extern char *name_destroy(char *classname, int suppress=0); | |
47 | + | |
48 | + // ---------------------------------------------------------------------- | |
49 | + // class CPP_class | |
50 | + // | |
51 | + // Class for managing class members (internally) | |
52 | + // ---------------------------------------------------------------------- | |
53 | + | |
54 | + class CPP_member; | |
55 | + | |
56 | + class CPP_class { | |
57 | + public: | |
58 | + char *classname; // Real class name | |
59 | + char *classrename; // New name of class (if applicable) | |
60 | + char *classtype; // class type (struct, union, class) | |
61 | + int strip; // Strip off class declarator | |
62 | + int wextern; // Value of extern wrapper variable for this class | |
63 | + int have_constructor; // Status bit indicating if we've seen a constructor | |
64 | + int have_destructor; // Status bit indicating if a destructor has been seen | |
65 | + int is_abstract; // Status bit indicating if this is an abstract class | |
66 | + int generate_default; // Generate default constructors | |
67 | + int objective_c; // Set if this is an objective C class | |
68 | + int error; // Set if this class can't be generated | |
69 | + int line; // Line number | |
70 | + char **baseclass; // Base classes (if any) | |
71 | + Hash *local; // Hash table for local types | |
72 | + Hash *scope; // Local scope hash table | |
73 | + DocEntry *de; // Documentation entry of class | |
74 | + CPP_member *members; // Linked list of members | |
75 | + CPP_class *next; // Next class | |
76 | + static CPP_class *classlist; // List of all classes stored | |
77 | + | |
78 | + Vector addPragmas; | |
79 | + | |
80 | + CPP_class(char *name, char *ctype); | |
81 | + void add_member(CPP_member *m); | |
82 | + CPP_member *search_member(char *name); | |
83 | + void inherit_decls(int mode); | |
84 | + void emit_decls(); | |
85 | + static CPP_class *search(char *name); | |
86 | + void create_default(); | |
87 | + static void create_all(); | |
88 | + }; | |
89 | + | |
90 | + extern CPP_class *current_class; | |
91 | ||
92 | /*********************************************************************** | |
93 | * -- Revision History | |
94 | * $Log$ | |
95 | * Revision 1.1 1998/10/03 05:56:02 RD | |
96 | * *** empty log message *** | |
97 | * |