File indexing completed on 2026-09-18 09:21:02
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 DEFINE_STANDARD_ALLOC
0032
0033 Standard_EXPORT MAT2d_BiInt(const int I1, const int I2);
0034
0035 Standard_EXPORT int FirstIndex() const;
0036
0037 Standard_EXPORT int SecondIndex() const;
0038
0039 Standard_EXPORT void FirstIndex(const int I1);
0040
0041 Standard_EXPORT void SecondIndex(const int I2);
0042
0043 Standard_EXPORT bool IsEqual(const MAT2d_BiInt& B) const;
0044
0045 bool operator==(const MAT2d_BiInt& B) const { return IsEqual(B); }
0046
0047 private:
0048 int i1;
0049 int i2;
0050 };
0051
0052 namespace std
0053 {
0054 template <>
0055 struct hash<MAT2d_BiInt>
0056 {
0057 size_t operator()(const MAT2d_BiInt& theBiInt) const noexcept
0058 {
0059
0060 int aCombination[2]{theBiInt.FirstIndex(), theBiInt.SecondIndex()};
0061 return opencascade::hashBytes(aCombination, sizeof(aCombination));
0062 }
0063 };
0064 }
0065
0066 #endif