#ifndef IRC_USER_INCLUDED # define IRC_USER_INCLUDED #include #include #include #include /** * Keeps various information about one IRC channel user */ class IrcUser { public: explicit IrcUser(const std::string& name, const std::map& prefix_to_mode); explicit IrcUser(const std::string& name); void add_mode(const char mode); void remove_mode(const char mode); char get_most_significant_mode(const std::vector& sorted_user_modes) const; std::string nick; std::string host; std::set modes; private: IrcUser(const IrcUser&) = delete; IrcUser(IrcUser&&) = delete; IrcUser& operator=(const IrcUser&) = delete; IrcUser& operator=(IrcUser&&) = delete; }; #endif // IRC_USER_INCLUDED