SHOGUN  3.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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  * Written (W) 2012 Heiko Strathmann
10  * Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max-Planck-Society
11  */
12 
13 #ifndef _CCOMBINEDFEATURES__H__
14 #define _CCOMBINEDFEATURES__H__
15 
16 #include <shogun/lib/config.h>
17 
20 
21 namespace shogun
22 {
23 class CFeatures;
24 class CDynamicObjectArray;
25 
39 {
40  public:
45 
50  virtual CFeatures* duplicate() const;
51 
53  virtual ~CCombinedFeatures();
54 
60  {
61  return F_UNKNOWN;
62  }
63 
69  {
70  return C_COMBINED;
71  }
72 
77  virtual int32_t get_num_vectors() const
78  {
79  return m_subset_stack->has_subsets()
81  }
82 
84  void list_feature_objs();
85 
92 
98 
104  CFeatures* get_feature_obj(int32_t idx);
105 
111 
119  bool insert_feature_obj(CFeatures* obj, int32_t idx);
120 
126  bool append_feature_obj(CFeatures* obj);
127 
133  bool delete_feature_obj(int32_t idx);
134 
139  int32_t get_num_feature_obj();
140 
152 
159  virtual void add_subset(SGVector<index_t> subset);
160 
166  virtual void remove_subset();
167 
173  virtual void remove_all_subsets();
174 
183  virtual CFeatures* copy_subset(SGVector<index_t> indices);
184 
186  virtual const char* get_name() const { return "CombinedFeatures"; }
187 
188  private:
189  void init();
190 
191  protected:
194 
198  int32_t num_vec;
199 };
200 }
201 #endif

SHOGUN Machine Learning Toolbox - Documentation