btllib
 All Classes Namespaces Functions Variables
randseq.hpp
1 #ifndef BTLLIB_RANDSEQ_HPP
2 #define BTLLIB_RANDSEQ_HPP
3 
4 #include <cstddef>
5 #include <string>
6 
7 namespace btllib {
8 
9 class RandSeq
10 {
11 public:
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 
49 private:
50  std::string chars;
51  bool has_seed = false;
52  unsigned long seed = 0;
53 };
54 
55 } // namespace btllib
56 
57 #endif
void set_seed(unsigned long seed)
RandSeq(SeqType type, Masking masking=Masking::NONE)
Definition: randseq.hpp:9
std::string generate(size_t length)