#cmakedefine SALOME_USE_64BIT_IDS
#include <cinttypes>
+#include <limits>
+#include <NCollection_DataMap.hxx>
#ifndef SALOME_USE_64BIT_IDS
typedef std::int32_t smIdType;
typedef std::int64_t smIdType;
#endif
+struct smIdHasher
+{
+ static Standard_Integer HashCode(const smIdType theValue, const Standard_Integer theUpperBound)
+ {
+ return IntegerHashCode(static_cast<Standard_Integer> (theValue), std::numeric_limits<smIdType>::max(), theUpperBound);
+ }
+
+ static Standard_Boolean IsEqual( const smIdType& id1, const smIdType& id2 )
+ {
+ return id1 == id2;
+ }
+};
+
template <class T> inline smIdType ToIdType(T val)
{
return static_cast<smIdType>(val);