- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 
                        AttachmentService::MimeType AttachmentService::mimeTypeByCodeKey(const QString &codeKey) const
 {
     if(codeKey.toLower() == QString("MimeType_PDF").toLower())       return MimeType_PDF;
     if(codeKey.toLower() == QString("MimeType_JPEG").toLower())      return MimeType_JPEG;
     if(codeKey.toLower() == QString("MimeType_PNG").toLower())       return MimeType_PNG;
     if(codeKey.toLower() == QString("MimeType_HTML").toLower())      return MimeType_HTML;
     if(codeKey.toLower() == QString("MimeType_ZHTML").toLower())     return MimeType_ZHTML;
     if(codeKey.toLower() == QString("MimeType_TEXT").toLower())      return MimeType_TEXT;
     if(codeKey.toLower() == QString("MimeType_XLS").toLower())       return MimeType_XLS;
     if(codeKey.toLower() == QString("MimeType_DOC").toLower())       return MimeType_DOC;
     if(codeKey.toLower() == QString("MimeType_PPT").toLower())       return MimeType_PPT;
     if(codeKey.toLower() == QString("MimeType_GIF").toLower())       return MimeType_GIF;
     if(codeKey.toLower() == QString("MimeType_BMP").toLower())       return MimeType_BMP;
     if(codeKey.toLower() == QString("MimeType_MPEG").toLower())      return MimeType_MPEG;
     if(codeKey.toLower() == QString("MimeType_MP4").toLower())       return MimeType_MP4;
     if(codeKey.toLower() == QString("MimeType_MP3").toLower())       return MimeType_MP3;
     return MimeType_UNKNOWN;
}
                                 
        
            Коллега откопал в моём коде, написанном под какими-то веществами по ходу.
Изначально было сравнение строк как есть, без приведения в нижний регистр, а потом понадобилось подстраховаться от левого регистра символов.
        
        
а что, в ку-говне всё ещё нет годного ассоциативного контейнера?
QHash<QString, AttachmentService::MimeType>
Выбирай ;)
Но ведь C++ не может свитч не по интегральному типу...
ололо, где же свой функтор на сравнение?
а в хеше - и функтор на хеш?
автор не спроста же захотел insensitive
> а в хеше - и функтор на хеш?
QHash использует перегрузку свободной функции qHash для расчета хеша. Как-то так:
Дык это нарушение инкапсуляции. Если так постоянно делать - где-нибудь в обяз забудешь сделать lower case и кровь-кишки.
... которая не видела буст etc.
Ну и как я уже писал выше - у енумов протекают скопы. Поэтому его один хрен во что-то заворачивать, чтобы его константы на глобальный уровень не вытекли.
долго пытался понять про что ты тут талдычишь. а потом осознал что это то почему я энумы изредка в структуры заворачиваю. но только изредка. потому что "протекающие скопы" из нот э баг - иц э фича.