/** Everything known about one nick
*/
- struct Nick : public intrusive_list_node<Nick>
+ struct Nick : public insp::intrusive_list_node<Nick>
{
/** A group of users related by nickname
*/
private:
/** Order in which the users were added into the map, used to remove oldest nick
*/
- typedef intrusive_list_tail<Nick> FIFO;
+ typedef insp::intrusive_list_tail<Nick> FIFO;
/** Sets of users in the whowas system
*/
#include "base.h"
-class CoreExport dynamic_reference_base : public interfacebase, public intrusive_list_node<dynamic_reference_base>
+class CoreExport dynamic_reference_base : public interfacebase, public insp::intrusive_list_node<dynamic_reference_base>
{
private:
std::string name;
#include <iterator>
+namespace insp
+{
+
struct intrusive_list_def_tag { };
template <typename T, typename Tag = intrusive_list_def_tag> class intrusive_list;
friend class intrusive_list_tail<T, Tag>;
};
+} // namespace insp
+
// Intrusive list where the list only has a pointer to the head element
#define INSPIRCD_INTRUSIVE_LIST_NAME intrusive_list
#include "intrusive_list_impl.h"
*/
+namespace insp
+{
+
template <typename T, typename Tag>
class INSPIRCD_INTRUSIVE_LIST_NAME
{
#endif
size_t listsize;
};
+
+} // namespace insp
* All prefix modes a member has is tracked by this object. Moreover, Memberships are Extensibles
* meaning modules can add arbitrary data to them using extensions (see m_delaymsg for an example).
*/
-class CoreExport Membership : public Extensible, public intrusive_list_node<Membership>
+class CoreExport Membership : public Extensible, public insp::intrusive_list_node<Membership>
{
public:
/** Type of the Membership id
protected:
/** List of pending Invitations
*/
- intrusive_list<Invitation, T> invites;
+ insp::intrusive_list<Invitation, T> invites;
public:
/** Remove and destruct all pending invitations this user or channel has.
* The Invitation class contains all data about a pending invitation.
* Invitation objects are referenced from the user and the channel they belong to.
*/
-class CoreExport Invitation : public intrusive_list_node<Invitation, Channel>, public intrusive_list_node<Invitation, LocalUser>
+class CoreExport Invitation : public insp::intrusive_list_node<Invitation, Channel>, public insp::intrusive_list_node<Invitation, LocalUser>
{
/** Constructs an Invitation, only called by Create()
* @param c Channel the user is invited to
static Invitation* Find(Channel* c, LocalUser* u, bool check_expired = true);
};
-typedef intrusive_list<Invitation, LocalUser> InviteList;
+typedef insp::intrusive_list<Invitation, LocalUser> InviteList;
template<typename T>
inline void InviteBase<T>::ClearInvites()
{
- for (typename intrusive_list<Invitation, T>::iterator i = invites.begin(); i != invites.end(); )
+ for (typename insp::intrusive_list<Invitation, T>::iterator i = invites.begin(); i != invites.end(); )
{
Invitation* inv = *i;
// Destructing the Invitation invalidates the iterator, so move it now
/** A list holding local users
*/
- typedef intrusive_list<LocalUser> LocalList;
+ typedef insp::intrusive_list<LocalUser> LocalList;
private:
/** Map of IP addresses for clone counting
public:
/** List of Memberships for this user
*/
- typedef intrusive_list<Membership> ChanList;
+ typedef insp::intrusive_list<Membership> ChanList;
/** Hostname of connection.
* This should be valid as per RFC1035.
typedef unsigned int already_sent_t;
-class CoreExport LocalUser : public User, public InviteBase<LocalUser>, public intrusive_list_node<LocalUser>
+class CoreExport LocalUser : public User, public InviteBase<LocalUser>, public insp::intrusive_list_node<LocalUser>
{
public:
LocalUser(int fd, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server);
#include <dirent.h>
#endif
-static intrusive_list<dynamic_reference_base>* dynrefs = NULL;
+static insp::intrusive_list<dynamic_reference_base>* dynrefs = NULL;
void dynamic_reference_base::reset_all()
{
if (!dynrefs)
return;
- for (intrusive_list<dynamic_reference_base>::iterator i = dynrefs->begin(); i != dynrefs->end(); ++i)
+ for (insp::intrusive_list<dynamic_reference_base>::iterator i = dynrefs->begin(); i != dynrefs->end(); ++i)
(*i)->resolve();
}
: name(Name), value(NULL), creator(Creator)
{
if (!dynrefs)
- dynrefs = new intrusive_list<dynamic_reference_base>;
+ dynrefs = new insp::intrusive_list<dynamic_reference_base>;
dynrefs->push_front(this);
// Resolve unless there is no ModuleManager (part of class InspIRCd)