btllib: include/btllib/randseq.hpp Source File

btllib

Loading...
Searching...
No Matches
randseq.hpp
1#ifndef BTLLIB_RANDSEQ_HPP
2#define BTLLIB_RANDSEQ_HPP
3
4#include <cstddef>
5#include <string>
6
7namespace btllib {
8
9 class RandSeq
10{
11public:
12 enum class SeqType
13 {
14 DNA,
15 RNA,
16 PROTEIN
17 };
18
19 enum class Masking
20 {
21 NONE,
22 SOFT,
23 HARD
24 };
25
33 RandSeq(SeqType type, Masking masking = Masking::NONE);
34
40 void set_seed(unsigned long seed);
41
47 std::string generate(size_t length);
48
49private:
50 std::string chars;
51 bool has_seed = false;
52 unsigned long seed = 0;
53};
54
55} // namespace btllib
56
57#endif
btllib::RandSeq
Definition randseq.hpp:10
btllib::RandSeq::set_seed
void set_seed(unsigned long seed)
btllib::RandSeq::RandSeq
RandSeq(SeqType type, Masking masking=Masking::NONE)
btllib::RandSeq::generate
std::string generate(size_t length)
btllib
Definition aahash.hpp:12