Титульная страница   Пространства имен   Иерархия классов   Алфавитный указатель   Классы   Файлы   Члены пространства имен   Члены классов   Члены файла  

Класс NameMatcherImpl

Класс-реализация интерфейса NameMatcher, выполняющая простейшее сопоставление маски с концом файла. Подробнее...

Граф наследования:NameMatcherImpl:

NameMatcher Полный список членов класса

Открытые члены

 NameMatcherImpl (const std::string &mask)
 Создает объект по переданной маске.


Закрытые члены

virtual bool match (const std::string &fileName)
 Проверяет соответствие имени файла маске.


Закрытые данные

string suff
 суффикс, на который должно заканчиваться имя файла

int send
 индекс последнего символа суффикса.


Подробное описание

Класс-реализация интерфейса NameMatcher, выполняющая простейшее сопоставление маски с концом файла.

См. определение в файле namematcherimpl.cpp строка 26


Конструктор(ы)

NameMatcherImpl::NameMatcherImpl const std::string &  mask  ) 
 

Создает объект по переданной маске.

См. определение в файле namematcherimpl.cpp строка 47

Перекрестные ссылки send и suff.

00048  {
00049   int beg= (mask[0]=='*') ? 1 : 0;
00050   suff.reserve(mask.size()-beg);
00051 
00052   for (int i=beg; i<mask.size(); i++) suff.push_back(tolower(mask[i]));
00053   send=suff.size()-1;
00054  }


Методы

bool NameMatcherImpl::match const std::string &  fileName  )  [private, virtual]
 

Проверяет соответствие имени файла маске.

Данная простейшая реализация допускает только маски вида "*ext" (т.е. имя файла должно заканчиваться на "ext") и игнорирует регистр букв. Звездочка "*" в начале маски не обязательна, т.е. маска "ext" эквивалентна "*ext".

Замещает NameMatcher.

См. определение в файле namematcherimpl.cpp строка 56

Перекрестные ссылки send и suff.

00057  {
00058   if (fileName.size()<suff.size()) return 0;
00059 
00060   for (int fend=fileName.size()-1, i=0; i<suff.size(); i++)
00061       if (tolower(fileName[fend-i])!=suff[send-i]) return 0;
00062 
00063   return 1;
00064  }


Данные класса

int NameMatcherImpl::send [private]
 

индекс последнего символа суффикса.

См. определение в файле namematcherimpl.cpp строка 30

Используется в match() и NameMatcherImpl().

string NameMatcherImpl::suff [private]
 

суффикс, на который должно заканчиваться имя файла

См. определение в файле namematcherimpl.cpp строка 28

Используется в match() и NameMatcherImpl().


Объявления и описания членов класса находятся в файле:
Документация по ftext. Последние изменения: Sat Mar 20 17:58:15 2004. Создано системой doxygen1.3