SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CombinedFeatures.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 1999-2009 Soeren Sonnenburg
8  * Written (W) 1999-2008 Gunnar Raetsch
9  * Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max-Planck-Society
10  */
11 
12 #ifndef _CCOMBINEDFEATURES__H__
13 #define _CCOMBINEDFEATURES__H__
14 
16 #include <shogun/lib/List.h>
17 
18 namespace shogun
19 {
20 class CFeatures;
21 class CList;
22 class CListElement;
23 
32 {
33  public:
38 
43  virtual CFeatures* duplicate() const;
44 
46  virtual ~CCombinedFeatures();
47 
52  inline virtual EFeatureType get_feature_type()
53  {
54  return F_UNKNOWN;
55  }
56 
62  {
63  return C_COMBINED;
64  }
65 
70  inline virtual int32_t get_num_vectors() const
71  {
72  return num_vec;
73  }
74 
79  virtual int32_t get_size();
80 
82  void list_feature_objs();
83 
90 
96 
103 
109 
116 
122 
128  bool insert_feature_obj(CFeatures* obj);
129 
135  bool append_feature_obj(CFeatures* obj);
136 
141  bool delete_feature_obj();
142 
147  int32_t get_num_feature_obj();
148 
150  inline virtual const char* get_name() const { return "CombinedFeatures"; }
151 
152  private:
153  void init();
154 
155  protected:
158 
162  int32_t num_vec;
163 };
164 }
165 #endif

SHOGUN Machine Learning Toolbox - Documentation