rippled
Loading...
Searching...
No Matches
UnorderedContainers.h
1#pragma once
2
3#include <xrpl/basics/hardened_hash.h>
4#include <xrpl/basics/partitioned_unordered_map.h>
5#include <xrpl/beast/hash/hash_append.h>
6#include <xrpl/beast/hash/uhash.h>
7#include <xrpl/beast/hash/xxhasher.h>
8
9#include <unordered_map>
10#include <unordered_set>
11
24namespace xrpl {
25
26// hash containers
27
28template <
29 class Key,
30 class Value,
31 class Hash = beast::uhash<>,
32 class Pred = std::equal_to<Key>,
35
36template <
37 class Key,
38 class Value,
39 class Hash = beast::uhash<>,
40 class Pred = std::equal_to<Key>,
43
44template <
45 class Value,
46 class Hash = beast::uhash<>,
47 class Pred = std::equal_to<Value>,
48 class Allocator = std::allocator<Value>>
50
51template <
52 class Value,
53 class Hash = beast::uhash<>,
54 class Pred = std::equal_to<Value>,
55 class Allocator = std::allocator<Value>>
57
58// hardened_hash containers
59
61
62template <
63 class Key,
64 class Value,
65 class Hash = hardened_hash<strong_hash>,
66 class Pred = std::equal_to<Key>,
69
70template <
71 class Key,
72 class Value,
73 class Hash = hardened_hash<strong_hash>,
74 class Pred = std::equal_to<Key>,
77
78template <
79 class Key,
80 class Value,
81 class Hash = hardened_hash<strong_hash>,
82 class Pred = std::equal_to<Key>,
85
86template <
87 class Value,
88 class Hash = hardened_hash<strong_hash>,
89 class Pred = std::equal_to<Value>,
90 class Allocator = std::allocator<Value>>
92
93template <
94 class Value,
95 class Hash = hardened_hash<strong_hash>,
96 class Pred = std::equal_to<Value>,
97 class Allocator = std::allocator<Value>>
99
100} // namespace xrpl
Seed functor once per construction.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5