This file is indexed.

/usr/include/opencascade/NIS_ObjectsIterator.hxx is in libopencascade-visualization-dev 6.5.0.dfsg-2build1.

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
// File:      NIS_ObjectsIterator.hxx
// Created:   02.09.07 23:47
// Author:    Alexander GRIGORIEV
// Copyright: Open Cascade 2007


#ifndef NIS_ObjectsIterator_HeaderFile
#define NIS_ObjectsIterator_HeaderFile

#include <NCollection_Vector.hxx>
#include <Handle_NIS_InteractiveObject.hxx>

class Handle_NIS_InteractiveContext;

/**
 * Iterator of objects contained in a NIS_InteractiveContext instance. The
 * iteration is always in the ascending sense of object ID. Examples:
 * @code
 *    // Erase all objects in the Context
 * NIS_ObjectsIterator anIter (myContext);
 * for (; anIter.More(); anIter.Next())
 *   myContext->Erase (anIter.Value(), Standard_False);
 *
 *    // Set object attributes to their IDs (hardly useful outside the example)
 * anIter.Initialize (myContext);
 * Handle(NIS_InteractiveObject) anObj;
 * while (!(anObj = anIter.Value().IsNull())) {
 *   anObj->SetAttribute (static_cast<void *> (anObj->ID()));
 *   anIter.Next();
 * }
 * @endcode
 */

class NIS_ObjectsIterator 
{
 public:
  // ---------- PUBLIC METHODS ----------


  /**
   * Empty Constructor.
   */
  inline NIS_ObjectsIterator    () {}

  /**
   * Constructor.
   * @param theCtx
   *   Interactive context that is to be iterated for all objects.
   */
  inline NIS_ObjectsIterator    (const Handle_NIS_InteractiveContext& theCtx)
  { Initialize (theCtx); }

  /**
   * Reset the Iterator to start the iterations of objects.
   * @param theCtx
   *   Interactive context that is to be iterated for all objects.
   */
  Standard_EXPORT void          Initialize
                                (const Handle_NIS_InteractiveContext& theCtx);

  /**
   * Query if the Iterator has an object (not yet finished the iteration
   * process).
   */
  inline Standard_Boolean       More    () const
  { return myIter.More(); }

  /**
   * Returns the current object at the iteration pointer. If the iteration is
   * over (More() == False) this method returns NULL Handle.
   */
  inline Handle(NIS_InteractiveObject)
                                Value   () const
  { if (More()) return myIter.Value(); return NULL; }

  /**
   * Step forward to the next valid InteractiveObject instance.
   */
  Standard_EXPORT void          Next    ();

 protected:
  // ---------- PROTECTED FIELDS ----------

  NCollection_Vector <Handle_NIS_InteractiveObject>::Iterator myIter;

};

#endif