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 INDEXBLOCKRELATION_H_ 00011 #define INDEXBLOCKRELATION_H_ 00012 00013 #include <shogun/base/SGObject.h> 00014 #include <shogun/lib/List.h> 00015 00016 namespace shogun 00017 { 00018 00019 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00020 enum EIndexBlockRelationType 00021 { 00022 GROUP, 00023 TREE 00024 }; 00025 #endif 00026 00030 class CIndexBlockRelation : public CSGObject 00031 { 00032 public: 00033 00035 CIndexBlockRelation() 00036 { 00037 } 00038 00040 virtual ~CIndexBlockRelation() 00041 { 00042 } 00043 00045 const char* get_name() const { return "IndexBlockRelation"; }; 00046 00048 virtual EIndexBlockRelationType get_relation_type() const = 0; 00049 00050 protected: 00051 00053 bool check_blocks_list(CList* blocks); 00054 00055 }; 00056 00057 } 00058 #endif