Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

NewsgroupFilter::RuleIterator Class Reference

List of all members.

Public Types

enum  { iter_begin, iter_end }

Public Member Functions

 RuleIterator ()
 RuleIterator (const char *rulelist, int pos)
RuleIteratoroperator++ ()
const char * operator * ()
int operator== (const RuleIterator &iter2)
int operator!= (const RuleIterator &iter2)
const RuleIteratoroperator= (const RuleIterator &iter2)

Private Attributes

const char * rulelist
const char * rulelistp
char rule [1+MAXNEWSGROUPNAMELEN]

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
iter_begin 
iter_end 

Definition at line 31 of file NewsgroupFilter.h.

00031 { iter_begin, iter_end };


Constructor & Destructor Documentation

NewsgroupFilter::RuleIterator::RuleIterator  )  [inline]
 

Definition at line 33 of file NewsgroupFilter.h.

References rule, rulelist, and rulelistp.

00033                                :rulelist(NULL), rulelistp(NULL) {
00034                         rule[0] = '\0';
00035                 } RuleIterator(const char *rulelist, int pos)

NewsgroupFilter::RuleIterator::RuleIterator const char *  rulelist,
int  pos
[inline]
 

Definition at line 35 of file NewsgroupFilter.h.

00036                 :rulelist(rulelist) {
00037                         if (pos == iter_begin) {
00038                                 char *rulep = rule;
00039                                 char c;
00040                                  rulelistp = rulelist;
00041                                 while ((c = *rulelistp) && c != ',') {
00042                                         *rulep = c;
00043                                         ++rulelistp;
00044                                         ++rulep;
00045                                 } *rulep = '\0';
00046                         } else {
00047                                 rulelistp = NULL;
00048                         }
00049                 }


Member Function Documentation

const char* NewsgroupFilter::RuleIterator::operator *  )  [inline]
 

Definition at line 69 of file NewsgroupFilter.h.

References rule.

00069                                         {
00070                         return rule;
00071                 }

int NewsgroupFilter::RuleIterator::operator!= const RuleIterator iter2  )  [inline]
 

Definition at line 77 of file NewsgroupFilter.h.

References rulelistp.

00077                                                            {
00078                         return rulelistp != iter2.rulelistp;
00079                 }

RuleIterator& NewsgroupFilter::RuleIterator::operator++  )  [inline]
 

Definition at line 51 of file NewsgroupFilter.h.

References rule, and rulelistp.

00051                                             {   //prefix
00052                         char *rulep = rule;
00053                         char c;
00054                         if (*rulelistp) {
00055                                 ++rulelistp;
00056                                 while ((c = *rulelistp) && c != ',') {
00057                                         *rulep = c;
00058                                         ++rulelistp;
00059                                         ++rulep;
00060                                 }
00061                                 *rulep = '\0';
00062                         } else {
00063                                 rulelistp = NULL;
00064                         }
00065 
00066                         return *this;
00067                 }

const RuleIterator& NewsgroupFilter::RuleIterator::operator= const RuleIterator iter2  )  [inline]
 

Definition at line 81 of file NewsgroupFilter.h.

References rule, and rulelistp.

00081                                                                            {
00082                         rulelistp = iter2.rulelistp;
00083                         strcpy(rule, iter2.rule);
00084                         return *this;
00085                 }

int NewsgroupFilter::RuleIterator::operator== const RuleIterator iter2  )  [inline]
 

Definition at line 73 of file NewsgroupFilter.h.

References rulelistp.

00073                                                            {
00074                         return rulelistp == iter2.rulelistp;
00075                 }


Member Data Documentation

char NewsgroupFilter::RuleIterator::rule[1 + MAXNEWSGROUPNAMELEN] [private]
 

Definition at line 28 of file NewsgroupFilter.h.

Referenced by operator *(), operator++(), operator=(), and RuleIterator().

const char* NewsgroupFilter::RuleIterator::rulelist [private]
 

Definition at line 27 of file NewsgroupFilter.h.

Referenced by RuleIterator().

const char * NewsgroupFilter::RuleIterator::rulelistp [private]
 

Definition at line 27 of file NewsgroupFilter.h.

Referenced by operator!=(), operator++(), operator=(), operator==(), and RuleIterator().


The documentation for this class was generated from the following file:
Generated on Sun Oct 24 21:08:23 2004 for NewsCache by doxygen 1.3.6-20040222