// $Header: /cvs/gled-1.2/GledCore/Glasses/ZHashList.h,v 1.8 2005/03/11 17:50:15 matevz Exp $ // Copyright (C) 1999-2005, Matevz Tadel. All rights reserved. // This file is part of GLED, released under GNU General Public License version 2. // For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/. #ifndef Gled_ZHashList_H #define Gled_ZHashList_H #include class ZHashList : public ZList { MAC_RNR_FRIENDS(ZHashList); private: void _init(); protected: #ifndef __CINT__ hash_map mItHash; #endif virtual void clear_list(); virtual Int_t remove_references_to(ZGlass* lens); bool bNerdyListOps; // X{GS} 7 Bool() virtual void rebuild_hash(); public: ZHashList(const Text_t* n="ZHashList", const Text_t* t=0) : ZList(n,t) { _init(); } virtual void Add(ZGlass* g); // X{E} C{1} virtual void AddBefore(ZGlass* g, ZGlass* before); // X{E} C{2} virtual void AddFirst(ZGlass* g); // X{E} C{1} virtual void Remove(ZGlass* g); // X{E} C{1} virtual void RemoveLast(ZGlass* g); // X{E} C{1} virtual Bool_t Has(ZGlass* g); ZGlass* After(ZGlass* g); ZGlass* Before(ZGlass* g); virtual void SortByName(); // X{ED} virtual Int_t RebuildListRefs(An_ID_Demangler* idd); #include "ZHashList.h7" ClassDef(ZHashList, 1) }; // endclass ZHashList GlassIODef(ZHashList); #endif