// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: tagfile.h,v 1.10 1998/11/27 01:14:07 jgg Exp $
+// $Id: tagfile.h,v 1.13 1998/12/14 02:23:47 jgg Exp $
/* ######################################################################
Fast scanner for RFC-822 type header information
// We have a limit of 256 tags per section.
unsigned short Indexes[256];
+ unsigned short AlphaIndexes[26 + 26*26];
+
unsigned int TagCount;
public:
bool Find(const char *Tag,const char *&Start, const char *&End);
string FindS(const char *Tag);
- unsigned int FindI(const char *Tag);
+ signed int FindI(const char *Tag,signed long Default = 0);
+ bool pkgTagSection::FindFlag(const char *Tag,unsigned long &Flags,
+ unsigned long Flag);
bool Scan(const char *Start,unsigned long MaxLength);
inline unsigned long size() {return Stop - Section;};
-
+
+ inline unsigned int Count() {return TagCount;};
+ inline void Get(const char *&Start,const char *&Stop,unsigned int I)
+ {Start = Section + Indexes[I]; Stop = Section + Indexes[I+1];}
+
inline void GetSection(const char *&Start,const char *&Stop)
{
Start = Section;