File indexing completed on 2025-01-18 10:04:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _MAT2d_BiInt_HeaderFile
0018 #define _MAT2d_BiInt_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Boolean.hxx>
0025 #include <Standard_HashUtils.hxx>
0026
0027
0028 class MAT2d_BiInt
0029 {
0030 public:
0031
0032 DEFINE_STANDARD_ALLOC
0033
0034
0035 Standard_EXPORT MAT2d_BiInt(const Standard_Integer I1, const Standard_Integer I2);
0036
0037 Standard_EXPORT Standard_Integer FirstIndex() const;
0038
0039 Standard_EXPORT Standard_Integer SecondIndex() const;
0040
0041 Standard_EXPORT void FirstIndex (const Standard_Integer I1);
0042
0043 Standard_EXPORT void SecondIndex (const Standard_Integer I2);
0044
0045 Standard_EXPORT Standard_Boolean IsEqual (const MAT2d_BiInt& B) const;
0046 Standard_Boolean operator == (const MAT2d_BiInt& B) const
0047 {
0048 return IsEqual(B);
0049 }
0050
0051
0052
0053
0054 protected:
0055
0056
0057
0058
0059
0060 private:
0061
0062
0063
0064 Standard_Integer i1;
0065 Standard_Integer i2;
0066
0067
0068 };
0069
0070 namespace std
0071 {
0072 template <>
0073 struct hash<MAT2d_BiInt>
0074 {
0075 size_t operator()(const MAT2d_BiInt& theBiInt) const noexcept
0076 {
0077
0078 int aCombination[2]{ theBiInt.FirstIndex(), theBiInt.SecondIndex() };
0079 return opencascade::hashBytes(aCombination, sizeof(aCombination));
0080 }
0081 };
0082 }
0083
0084
0085
0086
0087
0088
0089 #endif