00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Copyright (C) 2012 Sergey Lisitsyn 00008 */ 00009 00010 #ifndef INDEXBLOCKGROUP_H_ 00011 #define INDEXBLOCKGROUP_H_ 00012 00013 #include <shogun/lib/IndexBlock.h> 00014 #include <shogun/lib/IndexBlockRelation.h> 00015 00016 namespace shogun 00017 { 00018 00025 class CIndexBlockGroup : public CIndexBlockRelation 00026 { 00027 public: 00028 00030 CIndexBlockGroup(); 00031 00033 virtual ~CIndexBlockGroup(); 00034 00038 void add_block(CIndexBlock* block); 00039 00043 void remove_block(CIndexBlock* block); 00044 00048 SGVector<index_t> get_SLEP_ind(); 00049 00050 virtual EIndexBlockRelationType get_relation_type() const { return GROUP; } 00051 00053 const char* get_name() const { return "IndexBlockGroup"; }; 00054 00055 protected: 00056 00058 CList* m_blocks; 00059 00060 }; 00061 00062 } 00063 #endif 00064