Annotation of parser3/src/include/pa_dictionary.h, revision 1.14
1.1 parser 1: /** @file
2: Parser: dictionary class decl.
3:
1.14 ! paf 4: Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)
1.10 paf 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.1 parser 6: */
7:
8: #ifndef PA_DICTIONARY_H
9: #define PA_DICTIONARY_H
1.11 paf 10:
1.14 ! paf 11: static const char* IDENT_DICTIONARY_H="$Date: 2003/03/20 15:05:57 $";
1.1 parser 12:
13: #include "pa_table.h"
14:
15: /// simple dictionary, speding up lookups on contained two columned table
1.14 ! paf 16: class Dictionary: public PA_Object {
1.1 parser 17: public:
18:
19: /// construct wrapper, grabbing first letters of first column into @b first
1.14 ! paf 20: Dictionary(Table& atable);
1.1 parser 21:
22: /// find first row that contains string in first column which starts @b src
1.14 ! paf 23: Table::element_type first_that_begins(const char* str) const;
1.1 parser 24:
1.2 parser 25: private:
1.1 parser 26:
1.2 parser 27: Table& table;
1.1 parser 28:
29: private:
1.14 ! paf 30: friend void pa_dictionary_add_first(Table::element_type row, Dictionary* self);
1.1 parser 31:
1.2 parser 32: int starting_line_of[0x100]; int constructor_line;
1.1 parser 33: };
34:
35: #endif
E-mail: