*/
-#ifndef TYPEDEFS_H
-#define TYPEDEFS_H
+#pragma once
class BanCacheManager;
-class BanItem;
class BufferedSocket;
class Channel;
class Command;
-class ConfigReader;
+class ConfigStatus;
class ConfigTag;
-class DNSHeader;
-class DNSRequest;
class Extensible;
class FakeUser;
class InspIRCd;
class Membership;
class Module;
class OperInfo;
+class ProtocolServer;
class RemoteUser;
+class Server;
class ServerConfig;
class ServerLimits;
class Thread;
class User;
-class UserResolver;
class XLine;
class XLineManager;
class XLineFactory;
struct ConnectClass;
struct ModResult;
-struct ResourceRecord;
#include "hashcomp.h"
#include "base.h"
-typedef std::tr1::unordered_map<std::string, User*, std::tr1::insensitive, irc::StrHashComp> user_hash;
-typedef std::tr1::unordered_map<std::string, Channel*, std::tr1::insensitive, irc::StrHashComp> chan_hash;
+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;
/** A list holding local users, this is the type of UserManager::local_users
*/
-typedef std::list<LocalUser*> LocalUserList;
+typedef intrusive_list<LocalUser> LocalUserList;
/** A list of failed port bindings, used for informational purposes on startup */
typedef std::vector<std::pair<std::string, std::string> > FailedPortList;
/** Typedef for the list of user-channel records for a user
*/
-typedef std::set<Channel*> UserChanList;
+typedef intrusive_list<Membership> UserChanList;
/** Shorthand for an iterator into a UserChanList
*/
typedef UserChanList::iterator UCListIter;
-/** Holds a complete ban list
+/** List of channels to consider when building the neighbor list of a user
*/
-typedef std::vector<BanItem> BanList;
+typedef std::vector<Membership*> IncludeChanList;
/** A list of custom modes parameters on a channel
*/
/** A hash of commands used by the core
*/
-typedef std::tr1::unordered_map<std::string,Command*> Commandtable;
+typedef TR1NS::unordered_map<std::string, Command*> Commandtable;
/** Membership list of a channel */
typedef std::map<User*, Membership*> UserMembList;
/** An interator in an XLineLookup
*/
typedef XLineLookup::iterator LookupIter;
-
-
-#endif
-