sipxportlib  Version 3.3
UtlHashBagIterator.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 SIPfoundry Inc.
3 // Licensed by SIPfoundry under the LGPL license.
4 //
5 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
6 // Licensed to SIPfoundry under a Contributor Agreement.
7 //
8 // $$
10 
11 
12 #ifndef _UtlHashBagIterator_h_
13 #define _UtlHashBagIterator_h_
14 
15 // SYSTEM INCLUDES
16 // APPLICATION INCLUDES
17 #include "utl/UtlDefs.h"
18 #include "utl/UtlIterator.h"
19 #include "utl/UtlHashBag.h"
20 
21 // DEFINES
22 // MACROS
23 // EXTERNAL FUNCTIONS
24 // EXTERNAL VARIABLES
25 // CONSTANTS
26 // STRUCTS
27 // TYPEDEFS
28 // FORWARD DECLARATIONS
29 class UtlContainable ;
30 
39 {
40 /* //////////////////////////// PUBLIC //////////////////////////////////// */
41 public:
42 
43 /* ============================ CREATORS ================================== */
44 
51 
55  virtual ~UtlHashBagIterator();
56 
57 /* ============================ MANIPULATORS ============================== */
58 
64  virtual UtlContainable* operator()() ;
65 
70  virtual void reset() ;
71 
72 /* ============================ ACCESSORS ================================= */
73 
77  UtlContainable* key() const ;
78 
79 /* ============================ INQUIRY =================================== */
80 
81 /* //////////////////////////// PROTECTED ///////////////////////////////// */
82 protected:
83  friend class UtlHashBag;
84 
90  virtual void removing(const UtlLink* node);
91 
92 
93 /* //////////////////////////// PRIVATE /////////////////////////////////// */
94 private:
95 
96  void init(const UtlHashBag& hashBag);
97 
98  UtlContainable* mpSubsetMatch;
99  unsigned mSubsetHash;
100 
101  size_t mPosition;
102  UtlLink* mpCurrentLink;
103  bool mLinkIsValid;
107  // no copy constructor
109 } ;
110 
111 /* ============================ INLINE METHODS ============================ */
112 
113 #endif // _UtlHashBagIterator_h_
114 
virtual void reset()
Definition: UtlHashBagIterator.cpp:175
virtual void removing(const UtlLink *node)
Definition: UtlHashBagIterator.cpp:212
#define NULL
Definition: UtlDefs.h:29
Definition: UtlIterator.h:57
Definition: UtlContainable.h:37
UtlContainable * key() const
Definition: UtlHashBagIterator.cpp:189
Definition: UtlHashBag.h:41
virtual UtlContainable * operator()()
Definition: UtlHashBagIterator.cpp:91
Definition: UtlHashBagIterator.h:38
virtual ~UtlHashBagIterator()
Definition: UtlHashBagIterator.cpp:65
UtlHashBagIterator(const UtlHashBag &hashBag, UtlContainable *key=NULL)
Definition: UtlHashBagIterator.cpp:53