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

📄 _lnk_itr.h

📁 EDA PCB 电路设计工具源码 c/c++ for Linux, Windows, Mac, 2008.8 最新
💻 H
字号:
/*! \file kbool/include/kbool/_lnk_itr.h    \author Probably Klaas Holwerda    Copyright: 2001-2004 (C) Probably Klaas Holwerda    Licence: wxWidgets Licence    RCS-ID: $Id: _lnk_itr.h,v 1.1 2005/05/24 19:13:36 titato Exp $*///! author="Klaas Holwerda"//! version="1.0"/* * Definitions of classes, for list implementation * template list and iterator for any list node type*/#ifndef _LinkBaseIter_H#define _LinkBaseIter_H#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)#pragma interface#endif//! headerfiles="_dl_itr.h stdlib.h misc.h gdsmes.h"#include <stdlib.h>#include "../include/booleng.h"#define SWAP(x,y,t)((t)=(x),(x)=(y),(y)=(t))#include "../include/_dl_itr.h"//! codefiles="_dl_itr.cpp"//!  Template class TDLI/*! class for iterator on DL_List<void*> that is type casted version of DL_Iter \sa DL_Iter for further documentation*/template<class Type> class TDLI : public DL_Iter<void*>{	public:		//!constructor      /*!      \param list to iterate on.      */		TDLI(DL_List<void*>* list); 		//!constructor	   TDLI(DL_Iter<void*>* otheriter);		//! nolist constructor		TDLI();		//! destructor		~TDLI();		//!call fp for each item      void 	  foreach_f(void (*fp) (Type* item) );      //!call fp for each item      void 	  foreach_mf(void (Type::*fp) () );		/* list mutations */		//! delete all items		void    delete_all		();      //! insert at end		void    insend		      (Type* n);      //! insert at begin		void    insbegin		   (Type* n);      //! insert before current		void    insbefore       (Type* n);      //! insert after current		void    insafter        (Type* n);      //! insert at end unsave (works even if more then one iterator is on the list      //! the user must be sure not to delete/remove items where other iterators      //! are pointing to.		void    insend_unsave	 (Type* n);      //! insert at begin unsave (works even if more then one iterator is on the list      //! the user must be sure not to delete/remove items where other iterators      //! are pointing to.		void    insbegin_unsave	 (Type* n);      //! insert before iterator position unsave (works even if more then one iterator is on the list      //! the user must be sure not to delete/remove items where other iterators      //! are pointing to.		void    insbefore_unsave (Type* n);      //! insert after iterator position unsave (works even if more then one iterator is on the list      //! the user must be sure not to delete/remove items where other iterators      //! are pointing to.		void    insafter_unsave  (Type* n);      //! \sa DL_Iter::takeover(DL_List< Dtype >* otherlist )		void    takeover        (DL_List<void*>* otherlist);      //! \sa DL_Iter::takeover(DL_Iter* otheriter)		void    takeover        (TDLI* otheriter);      //! \sa DL_Iter::takeover(DL_Iter* otheriter, int maxcount)		void    takeover        (TDLI* otheriter, int maxcount);      //! \sa DL_Iter::has		bool  has             (Type*);      //! \sa DL_Iter::toitem		bool  toitem          (Type*);      //!get the item then iterator is pointing at      Type*   item            ();      //! \sa DL_Iter::mergesort		void    mergesort             (int (*f)(Type* a,Type* b));      //! \sa DL_Iter::cocktailsort		int  cocktailsort( int (*) (Type* a,Type* b), bool (*) (Type* c,Type* d) = NULL);};//!  Template class TDLIsort/*!// class for sort iterator on DL_List<void*> that is type casted version of DL_SortIter// see also inhereted class DL_SortIter for further documentation*/template<class Type> class TDLISort : public DL_SortIter<void*>{	public:      //!constructor givin a list and a sort function		TDLISort(DL_List<void*>* list, int (*newfunc)(void*,void*));		~TDLISort();      //!delete all items from the list		void    		 delete_all();		bool       has     (Type*);		bool       toitem  (Type*);		Type* item    ();};//!  Template class TDLIStack/*! class for iterator on DL_List<void*> that is type casted version of DL_StackIter see also inhereted class DL_StackIter for further documentation*/template<class Type> class TDLIStack : public DL_StackIter<void*>{   public:      //constructor givin a list		TDLIStack(DL_List<void*>* list);		~TDLIStack();		void            push(Type*);		Type*           pop();};#include"../include/_lnk_itr.cpp"#endif

⌨️ 快捷键说明

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