#ifndef EMOJIS_H #define EMOJIS_H #include #include #include #include #include "lazyloadedimage.h" #include "concurrentmap.h" class Emojis { public: static void parseEmojis(std::vector>& vector, const QString& text); static void initEmojis(); static QString replaceShortCodes(const QString& text); struct EmojiData { QString value; QString code; }; private: static QRegularExpression* findShortCodesRegex; static QMap* shortCodeToEmoji; static QMap* emojiToShortCode; static QMap>* firstEmojiChars; static ConcurrentMap* imageCache; Emojis() {} }; #endif // EMOJIS_H