00001 // Copyright (c) 2009-2010 INRIA Sophia-Antipolis (France). 00002 // All rights reserved. 00003 // 00004 //This file is part of ESBTL. 00005 // 00006 //ESBTL is free software: you can redistribute it and/or modify 00007 //it under the terms of the GNU General Public License as published by 00008 //the Free Software Foundation, either version 3 of the License, or 00009 //(at your option) any later version. 00010 // 00011 //ESBTL is distributed in the hope that it will be useful, 00012 //but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 //GNU General Public License for more details. 00015 // 00016 //You should have received a copy of the GNU General Public License 00017 //along with ESBTL. If not, see <http://www.gnu.org/licenses/>. 00018 // 00019 // 00020 //Additional permission under GNU GPL version 3 section 7 00021 // 00022 //If you modify this Library, or any covered work, by linking or 00023 //combining it with CGAL (or a modified version of that library), the 00024 //licensors of this Library grant you additional permission to convey 00025 //the resulting work. Corresponding Source for a non-source form of 00026 //such a combination shall include the source code for the parts of CGAL 00027 //used as well as that of the covered work. 00028 // 00029 // 00030 // 00031 // Author(s) : Sébastien Loriot 00032 00033 00034 00035 #ifndef ESBTL_INTERNAL_COMPRESSED_IFSTREAM_H 00036 #define ESBTL_INTERNAL_COMPRESSED_IFSTREAM_H 00037 00038 #include <iostream> 00039 #include <fstream> 00040 00041 namespace ESBTL{ 00047 enum Reading_mode {ASCII,BZIP2,GZIP}; 00048 }//namespace ESBTL 00049 00050 namespace ESBTL{ 00052 namespace internal{ 00053 00054 template <Reading_mode mode> 00055 class Ifstream_compress; 00056 00057 template<> 00058 class Ifstream_compress<ASCII> 00059 { 00060 public: 00061 std::ifstream& get(std::ifstream& input) const {return input;} 00062 }; 00063 00064 } //namespace internal 00066 } //namespace ESBTL 00067 00068 #endif //ESBTL_INTERNAL_COMPRESSED_IFSTREAM_H