+ /** Constructor, initializes variables
+ */
+ UserManager();
+
+ /** Destructor, destroys all users in clientlist
+ */
+ ~UserManager();
+
+ /** Client list, a hash_map containing all clients, local and remote
+ */
+ user_hash clientlist;
+
+ /** Client list stored by UUID. Contains all clients, and is updated
+ * automatically by the constructor and destructor of User.
+ */
+ user_hash uuidlist;
+
+ /** Oper list, a vector containing all local and remote opered users
+ */
+ OperList all_opers;
+
+ /** Number of unregistered users online right now.
+ * (Unregistered means before USER/NICK/dns)
+ */
+ unsigned int unregistered_count;
+
+ /**
+ * Reset the already_sent IDs so we don't wrap it around and drop a message
+ * Also removes all expired invites
+ */
+ void GarbageCollect();
+
+ /** Perform background user events such as PING checks
+ */
+ void DoBackgroundUserStuff();