File: KtreeNode.hpp

package info (click to toggle)
trinityrnaseq 2.11.0%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 417,528 kB
  • sloc: perl: 48,420; cpp: 17,749; java: 12,695; python: 3,124; sh: 1,030; ansic: 983; makefile: 688; xml: 62
file content (50 lines) | stat: -rw-r--r-- 740 bytes parent folder | download | duplicates (3)
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
41
42
43
44
45
46
47
48
49
50
#ifndef __KtreeNode__

#define __KtreeNode__

#include <string>
#include <vector>
#include <map>

using namespace std;

class KtreeNode {

public:

    KtreeNode(char nodeChar, long id);
    
    long get_child(char nodeChar);

    vector<char> get_children();

    bool has_child(char nodeChar);
    
    void add_child(char nodeChar, long id);
        
    bool has_children();

    char get_char();
    
    long get_count();
    
    void set_count(long count);

    string toString();
    
    
private:

    char nodeChar;
        
    long count;
    
    long children[4]; // G, A, T, C => ID

    int char_to_position(char nodeChar); // G-> 0, A-> 1, ...

    char position_to_char(int position); // 0 -> G, 1-> A, ...

};

#endif