AlgoPlus v0.1.0
Loading...
Searching...
No Matches
string_hashing.h
1#ifndef STRING_HASHING_H
2#define STRING_HASHING_H
3
4#ifdef __cplusplus
5#include <functional>
6#include <string>
7#include <unordered_map>
8#endif
9
15class string_hasher {
16 private:
17 std::unordered_map<size_t, int> hash_table;
18
19 public:
20 explicit string_hasher() noexcept {}
21
26 void insert(const std::string str) noexcept {
27 size_t hashed = std::hash<std::string>{}(str);
28 hash_table[hashed] = 1;
29 }
30
37 bool search(const std::string str) noexcept {
38 size_t hashed = std::hash<std::string>{}(str);
39 return hash_table[hashed] != 0;
40 }
41
46 unsigned long long size() { return hash_table.size(); }
47};
48
49#endif
unsigned long long size()
size function
Definition string_hashing.h:46
void insert(const std::string str) noexcept
insert function
Definition string_hashing.h:26
bool search(const std::string str) noexcept
search function
Definition string_hashing.h:37