-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathstringstorage.hpp
More file actions
40 lines (39 loc) · 1.32 KB
/
stringstorage.hpp
File metadata and controls
40 lines (39 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "Links/linkstorage.hpp"
class StringStorageASCII {
private:
LinkStorage<uint32_t> links;
std::vector CreateSeq(std::vector seq) {
size_t size = seq.size();
if(size % 2 == 0) {
for(uint32_t i = 0; i < size; i+=2) {
links.CreateLink(src[i] + 1, src[i+1] + 1);
}
}
else {
for(uint32_t i = 0; i < size - 1; i+=2) {
links.CreateLink(src[i] + 1, src[i+1] + 1);
}
links.CreateLink(src.
}
}
public:
StringStorageASCII(const char* data_file, const char* index_file) : links(data_file, index_file) {
for(uint32_t i = 1; i < 129; i++) {
links.CreateLink(i, i);
}
}
uint32_t CreateLink(std::string src, std::string trg) {
size_t src_size = src.size();
if(size % 2 == 0) {
for(uint32_t i = 0; i < src_size; i+=2) {
links.CreateLink(src[i] + 1, src[i+1] + 1);
}
}
else {
for(uint32_t i = 0; i < src_size - 1; i+=2) {
links.CreateLink(src[i] + 1, src[i+1] + 1);
}
links.CreateLink(
}
}
}