This file is indexed.

/usr/include/sipxtapi/utl/UtlHashMapIterator.h is in libsipxtapi-dev 3.3.0~test17-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp.  All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////

#ifndef _UtlHashMapIterator_h_
#define _UtlHashMapIterator_h_

// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include "utl/UtlDefs.h"
#include "utl/UtlIterator.h"
#include "utl/UtlHashMap.h"

// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class UtlContainable;
class UtlPair;

/**
 * UtlHashMapIterator allows developers to iterate (walks through) the
 * objects in a UtlHashMap.
 * 
 * @see UtlIterator
 * @see UtlHashMap
 */
class UtlHashMapIterator : public UtlIterator
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
  public:

/* ============================ CREATORS ================================== */

   /**
    * Constructor accepting a source UtlHashMap 
    */
   UtlHashMapIterator(const UtlHashMap& hashMap);


   /**
    * Destructor
    */
   virtual ~UtlHashMapIterator();

/* ============================ MANIPULATORS ============================== */

   /**
    * Return the key for the next element. 
    *
    * @return The next element key or NULL if no more elements are available.
    */
   virtual UtlContainable* operator()();


   /**
    * Reset the list by moving the iterator cursor to the location before the
    * first element. 
    */
   virtual void reset(); 


/* ============================ ACCESSORS ================================= */

   /**
    * Gets the key of the current element
    *
    * This method is undefined if the next element has not been called
    * (e.g. immediately after construction or after calling reset()).
    * If the current element has been removed from the hash (either through
    * the remove method on the iterator or directly on the UtlHashMap),
    * this method returns NULL.  The remaining values in the iteration sequence
    * are not affected (the next call to () will return the next key).
    */
   UtlContainable* key() const;


   /**
    * Gets the value of the current element
    *
    * This method is undefined if the next element has not been called
    * (e.g. immediately after construction or after calling reset()).
    * If the current element has been removed from the hash (either through
    * the remove method on the iterator or directly on the UtlHashMap),
    * this method returns NULL.  The remaining values in the iteration sequence
    * are not affected (the next call to () will return the next key).
    */
   UtlContainable* value() const;

/* ============================ INQUIRY =================================== */

/* //////////////////////////// PROTECTED ///////////////////////////////// */
  protected:
   friend class UtlHashMap;

   /**
    * removing is called by the UtlHashMap when an element is about to be
    * removed from the container.  The iterator must ensure that the element
    * for the removed node is not returned by any subsequent call.
    */
   virtual void removing(const UtlPair* key);


/* //////////////////////////// PRIVATE /////////////////////////////////// */
  private:

   void init();

   size_t   mPosition;      ///< current bucket number [0..numberOfBuckets-1]
   UtlPair* mpCurrentPair;  ///< current UtlPair within the bucket, or BEFORE_FIRST
   bool     mPairIsValid;   /**< true if mpCurrentPair is the valid current position
                             * The only time this is false is when the UtlContainable
                             * at the current position was removed while it was current. */

   // no copy constructor
   UtlHashMapIterator(UtlHashMapIterator&);
   
};

/* ============================ INLINE METHODS ============================ */

#endif    // _UtlHashMapIterator_h_