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

📄 garbagec.h

📁 wxGTK 是 wxWidgets 的 linux GTK+ (>2.2.3)版本。wxWidgets 是一个跨平台的 GUI 框架
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        garbagec.h// Purpose:     GarbageCollector class.// Author:      Aleksandras Gluchovas (@Lithuania)// Modified by:// Created:     ??/10/98// RCS-ID:      $Id: garbagec.h,v 1.8 2005/09/23 12:46:57 MR Exp $// Copyright:   (c) Aleksandras Gluchovas// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////#ifndef __GARBAGEC_G__#define __GARBAGEC_G__#include "wx/list.h"#include "wx/fl/fldefs.h"struct GCItem{    void*      mpObj;    wxList    mRefs;   // references to other nodes};inline void* gc_node_to_obj( wxObjectList::compatibility_iterator pGCNode ){    return ( (GCItem*) (pGCNode->GetData()) )->mpObj;}/*This class implements an extremely slow but simple garbage collection algorithm.*/class WXDLLIMPEXP_FL GarbageCollector{protected:    wxList mAllNodes;    wxList mRegularLst;    wxList mCycledLst;        // Internal method for finding a node.    wxNode* FindItemNode( void* pForObj );        // Internal method for resolving references.    void    ResolveReferences();        // Internal method for findind and freeing a node.    wxNode* FindReferenceFreeItemNode();        // Remove references to this node.    void    RemoveReferencesToNode( wxNode* pItemNode );        // Destroys a list of items.    void    DestroyItemList( wxList& lst );public:        // Default constructor.    GarbageCollector() {}        // Destructor.    virtual ~GarbageCollector();        // Prepare data for garbage collection.    virtual void AddObject( void* pObj, int refCnt = 1 );        // Prepare data for garbage collection.    virtual void AddDependency( void* pObj, void* pDependsOnObj );        // Executes garbage collection algorithm.    virtual void ArrangeCollection();        // Accesses the results of the algorithm.    wxList& GetRegularObjects();        // Get cycled objects.    wxList& GetCycledObjects();        // Removes all data from the garbage collector.    void Reset();};#endif /* __GARBAGEC_G__ */

⌨️ 快捷键说明

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