This file is indexed.

/usr/include/oce/NCollection_Queue.hxx is in liboce-foundation-dev 0.15-4.

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
133
134
135
136
137
138
139
140
141
142
// Created on: 2002-04-17
// Created by: Alexander Kartomin (akm)
// Copyright (c) 2002-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and / or modify it
// under the terms of the GNU Lesser General Public version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.

#ifndef NCollection_Queue_HeaderFile
#define NCollection_Queue_HeaderFile

#include <NCollection_TListIterator.hxx>

#if !defined No_Exception && !defined No_Standard_NoSuchObject
#include <Standard_NoSuchObject.hxx>
#endif

/**
 * Purpose:      A queue is  a structure where Items are  added  at
 *               the end  and removed from   the  front. The  first
 *               entered Item  will be the  first removed. This  is
 *               called a FIFO (First In First Out).
 *               Inherits BaseList, adds the data item to each node.
 */               
template <class TheItemType> class NCollection_Queue
  : public NCollection_BaseCollection<TheItemType>,
    public NCollection_BaseList
{
 public:
  typedef NCollection_TListNode<TheItemType> QueueNode;
  typedef NCollection_TListIterator<TheItemType> Iterator;

 public:
  // ---------- PUBLIC METHODS ------------

  //! Constructor
  NCollection_Queue(const Handle(NCollection_BaseAllocator)& theAllocator=0L) :
    NCollection_BaseCollection<TheItemType>(theAllocator),
    NCollection_BaseList() {}

  //! Copy constructor
  NCollection_Queue (const NCollection_Queue& theOther) :
    NCollection_BaseCollection<TheItemType>(theOther.myAllocator),
    NCollection_BaseList()
  { *this = theOther; }

  //! Size - Number of items
  virtual Standard_Integer Size (void) const
  { return Extent(); }

  //! Length - number of items
  Standard_Integer Length (void) const
  { return Extent(); }

  //! Replace this list by the items of theOther collection
  virtual void Assign (const NCollection_BaseCollection<TheItemType>& theOther)
  {
    if (this == &theOther) 
      return;
    Clear();
    TYPENAME NCollection_BaseCollection<TheItemType>::Iterator& anIter = 
      theOther.CreateIterator();
    for (; anIter.More(); anIter.Next())
    {
      QueueNode* pNew = new (this->myAllocator) QueueNode(anIter.Value());
      PAppend(pNew);
    }
  }

  //! Replace this list by the items of theOther queue
  NCollection_Queue& operator= (const NCollection_Queue& theOther)
  { 
    if (this == &theOther) 
      return *this;
    Clear ();
    QueueNode * pCur = (QueueNode *) theOther.PFirst();
    while (pCur)
    {
      QueueNode* pNew = new (this->myAllocator) QueueNode(pCur->Value());
      PAppend(pNew);
      pCur = (QueueNode *) pCur->Next();
    }
    return *this;
  }

  //! Clear this queue
  void Clear (void)
  { PClear (QueueNode::delNode, this->myAllocator); }

  //! Frontal item - constant
  const TheItemType& Front (void) const
  {
#if !defined No_Exception && !defined No_Standard_NoSuchObject
    if (IsEmpty())
      Standard_NoSuchObject::Raise ("NCollection_Queue::Front");
#endif
    return ((const QueueNode *) PFirst())->Value(); 
  }

  //! Frontal item - variable
  TheItemType& ChangeFront (void)
  {
#if !defined No_Exception && !defined No_Standard_NoSuchObject
    if (IsEmpty())
      Standard_NoSuchObject::Raise ("NCollection_Queue::ChangeFront");
#endif
    return ((QueueNode *) PFirst())->ChangeValue();
  }

  //! Push one item
  void Push (const TheItemType& theItem)
  { 
    QueueNode * pNew = new (this->myAllocator) QueueNode(theItem);
    PAppend(pNew);
  }

  //! Pop first item
  void Pop (void) 
  { PRemoveFirst (QueueNode::delNode, this->myAllocator); }

  //! Destructor - clears the List
  ~NCollection_Queue (void)
  { Clear(); }

 private:
  // ----------- PRIVATE METHODS -----------

  //! Creates Iterator for use on BaseCollection
  virtual TYPENAME NCollection_BaseCollection<TheItemType>::Iterator& 
    CreateIterator(void) const
  { return *(new (this->IterAllocator()) Iterator(*this)); }

};

#endif