⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nstrlist.h

📁 奇迹世界公用文件源代码,研究网络游戏的朋友可以研究下
💻 H
字号:
#ifndef N_STRLIST_H
#define N_STRLIST_H
//------------------------------------------------------------------------------
/**
    @brief A doubly linked list for named nodes with slow linear search.

    @author
    - RadonLabs GmbH 

    @since
    - 2005.6.30
    @remarks
    - 瘤肯 眠啊 
*/

#include <string.h>
#include "../ProgramCommon/Define.h"
#include "nlist.h"
#include "nstrnode.h"

//------------------------------------------------------------------------------
class nStrList: public nList 
{
public:    
    /// return first element of list
    nStrNode* GetHead() const;
    /// return last element of list
    nStrNode* GetTail() const;
    /// remove first element of list
    nStrNode* RemHead();
    /// remove last element of list
    nStrNode* RemTail();
    /// search for named element (slow)
    nStrNode* Find(const char* str) const;
};

//------------------------------------------------------------------------------
/**
*/
inline
nStrNode*
nStrList::GetHead() const
{
    return (nStrNode *) this->nList::GetHead();
}

//------------------------------------------------------------------------------
/**
*/
inline
nStrNode*
nStrList::GetTail() const
{
    return (nStrNode *) this->nList::GetTail();
}

//------------------------------------------------------------------------------
/**
*/
inline
nStrNode*
nStrList::RemHead()
{
    return (nStrNode *) this->nList::RemHead();
}

//------------------------------------------------------------------------------
/**
*/
inline
nStrNode*
nStrList::RemTail()
{
    return (nStrNode *) this->nList::RemTail();
}

//------------------------------------------------------------------------------
/**
*/
inline
nStrNode*
nStrList::Find(const char* str) const
{
    nStrNode* n;
    for (n = this->GetHead(); n; n = n->GetSucc()) 
    {
        const char* nodeName = n->GetName();
        ASSERT(nodeName);
        if (strcmp(str, nodeName) == 0) 
        {
            return n;
        }
    }
    return 0;
};

//------------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -