Mercurial > repos > rliterman > csp2
annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/mash/HashList.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
rev | line source |
---|---|
jpayne@69 | 1 // Copyright © 2015, Battelle National Biodefense Institute (BNBI); |
jpayne@69 | 2 // all rights reserved. Authored by: Brian Ondov, Todd Treangen, |
jpayne@69 | 3 // Sergey Koren, and Adam Phillippy |
jpayne@69 | 4 // |
jpayne@69 | 5 // See the LICENSE.txt file included with this software for license information. |
jpayne@69 | 6 |
jpayne@69 | 7 #ifndef HashList_h |
jpayne@69 | 8 #define HashList_h |
jpayne@69 | 9 |
jpayne@69 | 10 #include "hash.h" |
jpayne@69 | 11 #include <vector> |
jpayne@69 | 12 |
jpayne@69 | 13 class HashList |
jpayne@69 | 14 { |
jpayne@69 | 15 public: |
jpayne@69 | 16 |
jpayne@69 | 17 HashList() {use64 = true;} |
jpayne@69 | 18 HashList(bool use64new) {use64 = use64new;} |
jpayne@69 | 19 |
jpayne@69 | 20 hash_u at(int index) const; |
jpayne@69 | 21 void clear(); |
jpayne@69 | 22 void resize(int size); |
jpayne@69 | 23 void set32(int index, uint32_t value); |
jpayne@69 | 24 void set64(int index, uint64_t value); |
jpayne@69 | 25 void setUse64(bool use64New) {use64 = use64New;} |
jpayne@69 | 26 int size() const {return use64 ? hashes64.size() : hashes32.size();} |
jpayne@69 | 27 void sort(); |
jpayne@69 | 28 void push_back32(hash32_t hash) {hashes32.push_back(hash);} |
jpayne@69 | 29 void push_back64(hash64_t hash) {hashes64.push_back(hash);} |
jpayne@69 | 30 bool get64() const {return use64;} |
jpayne@69 | 31 |
jpayne@69 | 32 private: |
jpayne@69 | 33 |
jpayne@69 | 34 bool use64; |
jpayne@69 | 35 std::vector<hash32_t> hashes32; |
jpayne@69 | 36 std::vector<hash64_t> hashes64; |
jpayne@69 | 37 }; |
jpayne@69 | 38 |
jpayne@69 | 39 #endif |