blob: c84030ec0b5cb7ce8e65cca24f0c81c3755e511e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#pragma once
#include <vector>
#include <string>
#include <map>
#include <set>
/**
* Keeps various information about one IRC channel user
*/
class IrcUser
{
public:
explicit IrcUser(const std::string& name,
const std::map<char, char>& prefix_to_mode);
explicit IrcUser(const std::string& name);
IrcUser(const IrcUser&) = delete;
IrcUser(IrcUser&&) = delete;
IrcUser& operator=(const IrcUser&) = delete;
IrcUser& operator=(IrcUser&&) = delete;
void add_mode(const char mode);
void remove_mode(const char mode);
char get_most_significant_mode(const std::vector<char>& sorted_user_modes) const;
std::string nick;
std::string host;
std::set<char> modes;
};
|