Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/mash/HashSet.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 // Copyright © 2015, Battelle National Biodefense Institute (BNBI); | |
2 // all rights reserved. Authored by: Brian Ondov, Todd Treangen, | |
3 // Sergey Koren, and Adam Phillippy | |
4 // | |
5 // See the LICENSE.txt file included with this software for license information. | |
6 | |
7 #ifndef HashSet_h | |
8 #define HashSet_h | |
9 | |
10 #include "HashList.h" | |
11 #include "robin_hood.h" | |
12 #include <vector> | |
13 | |
14 class HashSet | |
15 { | |
16 public: | |
17 | |
18 HashSet(bool use64New) : use64(use64New) {} | |
19 | |
20 int size() const {return use64 ? hashes64.size() : hashes32.size();} | |
21 void clear() {use64 ? hashes64.clear() : hashes32.clear();} | |
22 uint32_t count(hash_u hash) const; | |
23 void erase(hash_u hash); | |
24 void insert(hash_u hash, uint32_t count = 1); | |
25 void toHashList(HashList & hashList) const; | |
26 void toCounts(std::vector<uint32_t> & counts) const; | |
27 | |
28 private: | |
29 | |
30 bool use64; | |
31 robin_hood::unordered_map<hash32_t, uint32_t> hashes32; | |
32 robin_hood::unordered_map<hash64_t, uint32_t> hashes64; | |
33 }; | |
34 | |
35 #endif |