// mx_node class' definitions #pragma once class mx_node{ int counter; mx_node* M_child; mx_node* X_child; mx_node* I_child; mx_node* D_child; mx_node* parent_node; string kmer; int depth; bool printed_status; bool searched_status; string stgRNAs; public: mx_node(); //~mx_node() {cout << "Destroyed " << endl;}; void set_counter(int x); void inc_counter(); void app_stgRNAs(const string stgRNA); const int get_counter(); const string get_stgRNAs(); mx_node* set_pointer_M(string& kmer_p, int depth_p, bool end_of_kmer, const string stgRNA); mx_node* get_pointer_M(bool end_of_kmer, const string stgRNA); bool is_pointer_M(); mx_node* set_pointer_X(string& kmer_p, int depth_p, bool end_of_kmer, const string stgRNA); mx_node* get_pointer_X(bool end_of_kmer, const string stgRNA); bool is_pointer_X(); mx_node* set_pointer_I(string& kmer_p, int depth_p, bool end_of_kmer, const string stgRNA); mx_node* get_pointer_I(bool end_of_kmer, const string stgRNA); bool is_pointer_I(); mx_node* set_pointer_D(string& kmer_p, int depth_p, bool end_of_kmer, const string stgRNA); mx_node* get_pointer_D(bool end_of_kmer, const string stgRNA); bool is_pointer_D(); void set_depth(int depth_p); int get_depth(); const string& get_kmer(); void set_kmer(const string& kmer_p, string N); bool is_printed(); void set_printed(); bool is_searched(); void set_searched(); };