11#include " Channel.hpp"
22
33Channel::Channel (const std::string &name, const std::string &creator, const std::string &pass = " " ) :
4- name(name), mainOperator(creator), pass(pass), userLimit(10 ), flags(0 )
4+ name(name), pass(pass), userLimit(10 ), flags(0 )
55{}
66
77Channel::~Channel ()
@@ -55,10 +55,12 @@ void Channel::connect(const User &user)
5555 for (size_t i = 0 ; i < banMasks.size (); i++)
5656 if (isBanned (banMasks[i], user.getPrefix ()))
5757 return ; // throw 474 ERR_BANNEDFROMCHAN
58- for (size_t i = 0 ; i < users.size (); i++)
59- if (users[i].getPrefix () == user.getPrefix ())
58+ std::map<User, size_t >::iterator begin = users.begin ();
59+ std::map<User, size_t >::iterator end = users.end ();
60+ for (; begin != end; ++begin)
61+ if ((*begin).first .getPrefix () == user.getPrefix ())
6062 return ;
61- users. push_back ( user) ;
63+ users[ user] = 0 ;
6264}
6365
6466void Channel::setFlag (unsigned char flag)
@@ -75,6 +77,8 @@ void Channel::sendMessage(const std::string &message, const User &from)
7577{
7678 std::string msg;
7779 msg += " :" + from.getPrefix () + " " + message;
78- for (size_t i = 0 ; i < users.size (); i++)
79- users[i].sendMessage (msg);
80+ std::map<User, size_t >::iterator begin = users.begin ();
81+ std::map<User, size_t >::iterator end = users.end ();
82+ for (; begin != end; ++begin)
83+ (*begin).first .sendMessage (msg);
8084}
0 commit comments