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

📄 dclist.h

📁 转化为DIB位图再显示出来的dicom文件C++代码
💻 H
字号:
/* * *  Copyright (C) 1994-2005, OFFIS * *  This software and supporting documentation were developed by * *    Kuratorium OFFIS e.V. *    Healthcare Information and Communication Systems *    Escherweg 2 *    D-26121 Oldenburg, Germany * *  THIS SOFTWARE IS MADE AVAILABLE,  AS IS,  AND OFFIS MAKES NO  WARRANTY *  REGARDING  THE  SOFTWARE,  ITS  PERFORMANCE,  ITS  MERCHANTABILITY  OR *  FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES  OR *  ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND *  PERFORMANCE OF THE SOFTWARE IS WITH THE USER. * *  Module:  dcmdata * *  Author:  Gerd Ehlers * *  Purpose: generic list class * *  Last Update:      $Author: meichel $ *  Update Date:      $Date: 2005/12/08 16:28:20 $ *  Source File:      $Source: /share/dicom/cvs-depot/dcmtk/dcmdata/include/dcmtk/dcmdata/dclist.h,v $ *  CVS/RCS Revision: $Revision: 1.16 $ *  Status:           $State: Exp $ * *  CVS/RCS Log at end of file * */#ifndef DCLIST_H#define DCLIST_H#include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration is included first */#include "dcmtk/dcmdata/dcerror.h"#include "dcmtk/dcmdata/dctypes.h"#define INCLUDE_CSTDDEF#define INCLUDE_CSTDLIB#include "dcmtk/ofstd/ofstdinc.h"const unsigned long DCM_EndOfListIndex = OFstatic_cast(unsigned long, -1L);class DcmObject;    // forward declarationclass DcmListNode {    friend class DcmList;    DcmListNode *nextNode;    DcmListNode *prevNode;    DcmObject *objNodeValue; // --- declarations to avoid compiler warnings     DcmListNode(const DcmListNode &);    DcmListNode &operator=(const DcmListNode &);public:    DcmListNode( DcmObject *obj );    ~DcmListNode();    inline DcmObject *value() { return objNodeValue; } };typedef enum{    ELP_atpos,    ELP_first,    ELP_last,    ELP_prev,    ELP_next} E_ListPos;/* this class only manages pointers to elements. * remove() does not delete the element pointed to. * Upon destruction of the list, all elements pointed to are also deleted. */class DcmList {    DcmListNode *firstNode;    DcmListNode *lastNode;    DcmListNode *currentNode;    unsigned long cardinality; // --- declarations to avoid compiler warnings     DcmList &operator=(const DcmList &);    DcmList(const DcmList &newList);public:    DcmList();    ~DcmList();    DcmObject *append(  DcmObject *obj );    DcmObject *prepend( DcmObject *obj );    DcmObject *insert(  DcmObject *obj,                        E_ListPos pos = ELP_next );    DcmObject *remove();    DcmObject *get(     E_ListPos pos = ELP_atpos );    DcmObject *seek(    E_ListPos pos = ELP_next );    DcmObject *seek_to(unsigned long absolute_position);    inline unsigned long card() const { return cardinality; }    inline OFBool empty(void) const { return firstNode == NULL; }    inline OFBool valid(void) const { return currentNode != NULL; }};#endif  // DCLIST_H/* * CVS/RCS Log: * $Log: dclist.h,v $ * Revision 1.16  2005/12/08 16:28:20  meichel * Changed include path schema for all DCMTK header files * * Revision 1.15  2003/08/08 13:32:45  joergr * Adapted type casts to new-style typecast operators defined in ofcast.h. * * Revision 1.14  2003/08/08 12:30:38  joergr * Made DcmListNode::value() inline. * Renamed member variable "actualNode" to "currentNode". * * Revision 1.13  2002/11/27 12:07:22  meichel * Adapted module dcmdata to use of new header file ofstdinc.h * * Revision 1.12  2001/06/01 15:48:41  meichel * Updated copyright header * * Revision 1.11  2000/03/08 16:26:15  meichel * Updated copyright header. * * Revision 1.10  2000/02/23 15:11:38  meichel * Corrected macro for Borland C++ Builder 4 workaround. * * Revision 1.9  2000/02/01 10:12:02  meichel * Avoiding to include <stdlib.h> as extern "C" on Borland C++ Builder 4, *   workaround for bug in compiler header files. * * Revision 1.8  1999/03/31 09:24:41  meichel * Updated copyright header in module dcmdata * * */

⌨️ 快捷键说明

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