ARB
AliView.hxx
Go to the documentation of this file.
1 // =============================================================== //
2 // //
3 // File : AliView.hxx //
4 // Purpose : Defines a filtered view onto an alignment //
5 // //
6 // Coded by Ralf Westram (coder@reallysoft.de) in October 2009 //
7 // Institute of Microbiology (Technical University Munich) //
8 // http://www.arb-home.de/ //
9 // //
10 // =============================================================== //
11 
12 #ifndef ALIVIEW_HXX
13 #define ALIVIEW_HXX
14 
15 #ifndef ARBDB_BASE_H
16 #include <arbdb_base.h>
17 #endif
18 #ifndef ARBTOOLS_H
19 #include <arbtools.h>
20 #endif
21 
22 class AP_filter;
23 class AP_weights;
24 
25 class AliView {
26  GBDATA *gb_main;
27  AP_filter *filter;
28  AP_weights *weights;
29  char *aliname;
30 
31  void create_real_view(const AP_filter *filter_, const AP_weights *weights_, const char *aliname_);
32 
33 public:
34  explicit AliView(GBDATA *gb_main_); // not really a view (used for AP_tree w/o sequence)
35  AliView(GBDATA *gb_main_, const AP_filter& filter_, const AP_weights& weights_, const char *aliname_);
36  AliView(const AliView& other);
37  ~AliView();
39 
40  const char *get_aliname() const { return aliname; }
41 
42  const AP_filter *get_filter() const { return filter; }
43  AP_filter *get_filter() { return filter; }
44 
45  const AP_weights *get_weights() const { return weights; }
46  GBDATA *get_gb_main() const { return gb_main; }
47 
48  size_t get_length() const; // length of (filtered) alignment seen through this view
49 
50  bool has_data() const { return aliname; }
51 };
52 
53 
54 #else
55 #error AliView.hxx included twice
56 #endif // ALIVIEW_HXX
const char * get_aliname() const
Definition: AliView.hxx:40
bool has_data() const
Definition: AliView.hxx:50
const AP_weights * get_weights() const
Definition: AliView.hxx:45
DECLARE_ASSIGNMENT_OPERATOR(AliView)
const AP_filter * get_filter() const
Definition: AliView.hxx:42
~AliView()
Definition: AliView.cxx:60
AliView(GBDATA *gb_main_)
Definition: AliView.cxx:33
size_t get_length() const
Definition: AliView.cxx:66
AP_filter * get_filter()
Definition: AliView.hxx:43
GBDATA * get_gb_main() const
Definition: AliView.hxx:46