-#include "inspstring.h"
-#include "ctables.h"
-#include "modules.h"
-#include "globals.h"
-
-#ifndef WIN32
-typedef nspace::hash_map<std::string, userrec*, nspace::hash<string>, irc::StrHashComp> user_hash;
-typedef nspace::hash_map<std::string, chanrec*, nspace::hash<string>, irc::StrHashComp> chan_hash;
-#else
-typedef nspace::hash_map<std::string, userrec*, nspace::hash_compare<string, less<string> > > user_hash;
-typedef nspace::hash_map<std::string, chanrec*, nspace::hash_compare<string, less<string> > > chan_hash;
-#endif
-
-typedef std::vector<std::string*> servernamelist;
-typedef std::deque<std::string> file_cache;
-
-#endif
+#include "base.h"
+
+typedef TR1NS::unordered_map<std::string, User*, irc::insensitive, irc::StrHashComp> user_hash;
+typedef TR1NS::unordered_map<std::string, Channel*, irc::insensitive, irc::StrHashComp> chan_hash;
+
+/** List of channels to consider when building the neighbor list of a user
+ */
+typedef std::vector<Membership*> IncludeChanList;
+
+/** A cached text file stored with its contents as lines
+ */
+typedef std::vector<std::string> file_cache;
+
+/** A mapping of configuration keys to their assigned values.
+ */
+typedef insp::flat_map<std::string, std::string, irc::insensitive_swo> ConfigItems;
+
+/** The entire configuration
+ */
+typedef std::multimap<std::string, reference<ConfigTag>, irc::insensitive_swo> ConfigDataHash;
+
+/** Iterator of ConfigDataHash */
+typedef ConfigDataHash::const_iterator ConfigIter;
+/** Iterator pair, used for tag-name ranges */
+typedef std::pair<ConfigIter,ConfigIter> ConfigTagList;
+
+/** Files read by the configuration */
+typedef std::map<std::string, file_cache> ConfigFileCache;
+
+/** Generic user list, used for exceptions */
+typedef std::set<User*> CUList;
+
+/** Contains an ident and host split into two strings
+ */
+typedef std::pair<std::string, std::string> IdentHostPair;
+
+/** A map of xline factories
+ */
+typedef std::map<std::string, XLineFactory*> XLineFactMap;
+
+/** A map of XLines indexed by string
+ */
+typedef std::map<std::string, XLine*, irc::insensitive_swo> XLineLookup;
+
+/** A map of XLineLookup maps indexed by string
+ */
+typedef std::map<std::string, XLineLookup > XLineContainer;
+
+/** An iterator in an XLineContainer
+ */
+typedef XLineContainer::iterator ContainerIter;
+
+/** An interator in an XLineLookup
+ */
+typedef XLineLookup::iterator LookupIter;
+
+namespace Stats
+{
+ class Context;
+}