Refactor Clientlist::Voiced to std::vector

This commit is contained in:
Michael Cook (mackal) 2016-05-17 17:42:34 -04:00
parent f185257415
commit 981d3e6b60
2 changed files with 15 additions and 31 deletions

View File

@ -615,45 +615,29 @@ bool ChatChannel::IsModerator(std::string Moderator)
return std::find(std::begin(Moderators), std::end(Moderators), Moderator) != std::end(Moderators); return std::find(std::begin(Moderators), std::end(Moderators), Moderator) != std::end(Moderators);
} }
void ChatChannel::AddVoice(std::string inVoiced) { void ChatChannel::AddVoice(const std::string &inVoiced)
{
if(!HasVoice(inVoiced)) { if (!HasVoice(inVoiced)) {
Voiced.push_back(inVoiced); Voiced.push_back(inVoiced);
Log.Out(Logs::Detail, Logs::UCS_Server, "Added %s as voiced to channel %s", inVoiced.c_str(), Name.c_str()); Log.Out(Logs::Detail, Logs::UCS_Server, "Added %s as voiced to channel %s", inVoiced.c_str(), Name.c_str());
} }
} }
void ChatChannel::RemoveVoice(std::string inVoiced) { void ChatChannel::RemoveVoice(const std::string &inVoiced)
{
auto it = std::find(std::begin(Voiced), std::end(Voiced), inVoiced);
std::list<std::string>::iterator Iterator; if (it != std::end(Voiced)) {
Voiced.erase(it);
for(Iterator = Voiced.begin(); Iterator != Voiced.end(); ++Iterator) { Log.Out(Logs::Detail, Logs::UCS_Server, "Removed %s as voiced to channel %s", inVoiced.c_str(), Name.c_str());
if((*Iterator) == inVoiced) {
Voiced.erase(Iterator);
Log.Out(Logs::Detail, Logs::UCS_Server, "Removed %s as voiced to channel %s", inVoiced.c_str(), Name.c_str());
return;
}
} }
} }
bool ChatChannel::HasVoice(std::string inVoiced) { bool ChatChannel::HasVoice(std::string inVoiced)
{
std::list<std::string>::iterator Iterator; return std::find(std::begin(Voiced), std::end(Voiced), inVoiced) != std::end(Voiced);
for(Iterator = Voiced.begin(); Iterator != Voiced.end(); ++Iterator) {
if((*Iterator) == inVoiced)
return true;
}
return false;
} }
std::string CapitaliseName(std::string inString) { std::string CapitaliseName(std::string inString) {

View File

@ -38,8 +38,8 @@ public:
void AddModerator(const std::string &Moderator); void AddModerator(const std::string &Moderator);
void RemoveModerator(const std::string &Moderator); void RemoveModerator(const std::string &Moderator);
bool IsModerator(std::string Moderator); bool IsModerator(std::string Moderator);
void AddVoice(std::string Voiced); void AddVoice(const std::string &Voiced);
void RemoveVoice(std::string Voiced); void RemoveVoice(const std::string &Voiced);
bool HasVoice(std::string Voiced); bool HasVoice(std::string Voiced);
inline bool IsModerated() { return Moderated; } inline bool IsModerated() { return Moderated; }
void SetModerated(bool inModerated); void SetModerated(bool inModerated);
@ -63,7 +63,7 @@ private:
std::vector<std::string> Moderators; std::vector<std::string> Moderators;
std::vector<std::string> Invitees; std::vector<std::string> Invitees;
std::list<std::string> Voiced; std::vector<std::string> Voiced;
}; };