This file is indexed.

/usr/include/oce/NCollection_DefaultHasher.hxx is in liboce-foundation-dev 0.18.2-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
// Created by: Eugene Maltchikov
// Copyright (c) 1999-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 License 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_DefaultHasher_HeaderFile
#define NCollection_DefaultHasher_HeaderFile

#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>

//=======================================================================
//function : HashCode_Proxy
//purpose  : Function is required to call the global function HashCode.
//=======================================================================

template <class TheKeyType> 
inline Standard_Integer HashCode_Proxy (const TheKeyType& theKey, 
                                        const Standard_Integer Upper)
{
  return HashCode (theKey, Upper);
}

//=======================================================================
//function : IsEqual
//purpose  : Default implementation of IsEqual via operator ==
//=======================================================================

template <class TheKeyType> 
inline Standard_Boolean IsEqual (const TheKeyType& theKey1, 
                                 const TheKeyType& theKey2)
{
  return theKey1 == theKey2;
}

//=======================================================================
//function : IsEqual_Proxy
//purpose  : Function is required to call the global function IsEqual.
//=======================================================================

template <class TheKeyType> 
inline Standard_Boolean IsEqual_Proxy (const TheKeyType& theKey1, 
                                       const TheKeyType& theKey2)
{
  return IsEqual (theKey1, theKey2);
}


/**
 * Purpose:     The  DefaultHasher  is a  Hasher  that is used by
 *              default in NCollection maps. 
 *              To compute the  hash code of the key  is used the
 *              global function HashCode.
 *              To compare two keys is used  the  global function 
 *              IsEqual.
*/
template <class TheKeyType> class NCollection_DefaultHasher {
public:
  //
  static Standard_Integer HashCode(const TheKeyType& theKey, 
                                   const Standard_Integer Upper) {
#ifdef __hpux
    return HashCode_Proxy<TheKeyType>(theKey, Upper);
#else
    return HashCode_Proxy(theKey, Upper);
#endif
  }
  //
  static Standard_Boolean IsEqual(const TheKeyType& theKey1, 
                                  const TheKeyType& theKey2) {
#ifdef __hpux
    return IsEqual_Proxy<TheKeyType>(theKey1, theKey2);
#else
    return IsEqual_Proxy(theKey1, theKey2);
#endif
  }
};

#endif