0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating...
[occt.git] / src / Transfer / Transfer_FindHasher.hxx
CommitLineData
42cf5bc1 1// Created on: 1994-11-04
2// Created by: Christian CAILLET
3// Copyright (c) 1994-1999 Matra Datavision
4// Copyright (c) 1999-2014 OPEN CASCADE SAS
5//
6// This file is part of Open CASCADE Technology software library.
7//
8// This library is free software; you can redistribute it and/or modify it under
9// the terms of the GNU Lesser General Public License version 2.1 as published
10// by the Free Software Foundation, with special exception defined in the file
11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12// distribution for complete text of the license and disclaimer of any warranty.
13//
14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
16
17#ifndef _Transfer_FindHasher_HeaderFile
18#define _Transfer_FindHasher_HeaderFile
19
20#include <Standard.hxx>
21#include <Standard_DefineAlloc.hxx>
22#include <Standard_Handle.hxx>
23
24#include <Standard_Integer.hxx>
25#include <Standard_Boolean.hxx>
26class Transfer_Finder;
27
28
29//! FindHasher defines HashCode for Finder, which is : ask a
30//! Finder its HashCode ! Because this is the Finder itself which
31//! brings the HashCode for its Key
32//!
33//! This class complies to the template given in TCollection by
34//! MapHasher itself
35class Transfer_FindHasher
36{
37public:
38
39 DEFINE_STANDARD_ALLOC
40
41
2b2be3fb 42 //! Returns hash code for the given finder, in the range [1, theUpperBound].
43 //! Asks the finder its hash code, then transforms it to be in the required range
44 //! @param theFinder the finder which hash code is to be computed
45 //! @param theUpperBound the upper bound of the range a computing hash code must be within
46 //! @return a computed hash code, in the range [1, theUpperBound]
47 Standard_EXPORT static Standard_Integer HashCode (const Handle (Transfer_Finder) & theFinder,
48 Standard_Integer theUpperBound);
49
42cf5bc1 50 //! Returns True if two keys are the same.
51 //! The test does not work on the Finders themselves but by
52 //! calling their methods Equates
53 Standard_EXPORT static Standard_Boolean IsEqual (const Handle(Transfer_Finder)& K1, const Handle(Transfer_Finder)& K2);
54
55
56
57
58protected:
59
60
61
62
63
64private:
65
66
67
68
69
70};
71
72
73
74
75
76
77
78#endif // _Transfer_FindHasher_HeaderFile