summaryrefslogtreecommitdiff
path: root/include/users.h
diff options
context:
space:
mode:
authorAdam <Adam@drink-coca-cola.info>2010-05-14 20:35:38 -0400
committerAdam <Adam@anope.org>2010-06-18 21:01:53 -0400
commitf049124905bd9f53439293e873003cb027a17b91 (patch)
tree352ed9251fd47055dd770aa2d5eabb20247e4b43 /include/users.h
parent81a45520a773732c9f46785f27aa1956150775d7 (diff)
Rewrote the hashing system to use std::tr1::unordered_map
Diffstat (limited to 'include/users.h')
-rw-r--r--include/users.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/users.h b/include/users.h
index b11c17875..3937e2ebe 100644
--- a/include/users.h
+++ b/include/users.h
@@ -8,6 +8,15 @@
*
*/
+/* Hash maps used for users. Note UserListByUID will not be used on non-TS6 IRCds, and should never
+ * be assumed to have users
+ */
+typedef unordered_map_namespace::unordered_map<ci::string, User *, hash_compare_ci_string> user_map;
+typedef unordered_map_namespace::unordered_map<std::string, User *, hash_compare_std_string> user_uid_map;
+
+extern CoreExport user_map UserListByNick;
+extern CoreExport user_uid_map UserListByUID;
+
struct ChannelContainer
{
Channel *chan;
@@ -32,8 +41,6 @@ class CoreExport User : public Extensible
NickCore *nc; /* NickCore account the user is currently loggged in as */
public: // XXX: exposing a tiny bit too much
- User *next, *prev;
-
std::string nick; /* User's current nick */
char *host; /* User's real hostname */