6 #ifndef OPENDDS_DCPS_HASH_H 7 #define OPENDDS_DCPS_HASH_H 24 void MD5Hash(MD5Result& result,
const void* input,
size_t size);
28 inline uint32_t one_at_a_time_hash(
const uint8_t*
key,
size_t length, uint32_t start_hash = 0u)
30 uint32_t
hash = start_hash;
49 #define OPENDDS_OOAT_STD_HASH(Key, Export) \ 52 template<> struct Export hash<Key> \ 54 std::size_t operator()(const Key& val) const noexcept \ 56 return static_cast<size_t>(OpenDDS::DCPS::one_at_a_time_hash(reinterpret_cast<const uint8_t*>(&val), sizeof (Key))); \ 63 #define OPENDDS_OOAT_CUSTOM_HASH(Key, Export, Name) \ 66 std::size_t operator()(const Key& val) const noexcept \ 68 return static_cast<size_t>(OpenDDS::DCPS::one_at_a_time_hash(reinterpret_cast<const uint8_t*>(&val), sizeof (Key))); \ 73 #endif // OPENDDS_DCPS_HASH_H
int hash(const std::vector< const DDS::OctetSeq *> &src, DDS::OctetSeq &dst)
void MD5Hash(MD5Result &result, const void *input, size_t size)
#define OpenDDS_Dcps_Export
unsigned char MD5Result[16]
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.