hash.h
Go to the documentation of this file.
1 #ifndef __NANO_RPC_CORE_HASH_H__
2 #define __NANO_RPC_CORE_HASH_H__
3 
4 // STD
5 #include <cstdint>
6 #include <string>
7 
8 namespace nanorpc
9 {
10 namespace core
11 {
12 
13 
14 inline type::id hash_id(const std::string& str) {
15  type::id h = UINT64_C(1125899906842597); // prime
16  for(const auto& c : str) h = 31 * h + c; // as 'h' is unsigned, both 31 and 'c' are promoted to unsigned
17  return h;
18 }
19 
20 
21 } // namespace core
22 } // namespace nanorpc
23 
24 
25 #endif // !__NANO_RPC_CORE_HASH_H__
nanorpc
Definition: client.h:30
nanorpc::core::hash_id
type::id hash_id(const std::string &str)
Definition: hash.h:14
nanorpc::core::type::id
std::uint64_t id
Definition: type.h:27


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19