SDSL: Succinct Data Structure Library
A C++ template library for succinct data structures
 All Classes Namespaces Files Functions Variables Typedefs Friends
sdsl/include/sdsl/select_support_dummy.hpp
Go to the documentation of this file.
00001 /* sdsl - succinct data structures library
00002     Copyright (C) 2011 Simon Gog
00003 
00004     This program is free software: you can redistribute it and/or modify
00005     it under the terms of the GNU General Public License as published by
00006     the Free Software Foundation, either version 3 of the License, or
00007     (at your option) any later version.
00008 
00009     This program is distributed in the hope that it will be useful,
00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012     GNU General Public License for more details.
00013 
00014     You should have received a copy of the GNU General Public License
00015     along with this program.  If not, see http://www.gnu.org/licenses/ .
00016 */
00021 #ifndef INCLUDED_SDSL_SELECT_SUPPORT_DUMMY
00022 #define INCLUDED_SDSL_SELECT_SUPPORT_DUMMY
00023 
00024 #include "int_vector.hpp"
00025 #include "select_support.hpp"
00026 #include <string>
00027 #include <iostream>
00028 
00029 //#define SDSL_DEBUG_SELECT_SUPPORT_JMC
00030 
00031 #ifdef SDSL_DEBUG_SELECT_SUPPORT_DUMMY
00032 #include "testutils.hpp"
00033 #endif
00034 
00036 namespace sdsl
00037 {
00038 
00039 
00041 
00044 class select_support_dummy : public select_support
00045 {
00046     public:
00047         select_support_dummy(const int_vector<1>* v=NULL);
00048         select_support_dummy(const select_support_dummy& ss);
00049         ~select_support_dummy();
00050         void init(const int_vector<1>* v=NULL);
00052 
00054         inline const size_type select(size_type i) const;
00056         inline const size_type operator()(size_type i)const;
00057         size_type serialize(std::ostream& out, structure_tree_node* v=NULL, std::string name="")const;
00058         void load(std::istream& in, const int_vector<1>* v=NULL);
00059         void set_vector(const int_vector<1>* v=NULL);
00060         select_support_dummy& operator=(const select_support_dummy& ss);
00061 
00063         void swap(select_support_dummy& ss);
00065 
00069         bool operator==(const select_support_dummy& ss)const;
00071         bool operator!=(const select_support_dummy& ss)const;
00072 };
00073 
00074 
00075 
00076 }
00077 
00078 #endif