]> git.treefish.org Git - phys/latlib.git/commitdiff
Made c++11 standard dependency obsolete. master
authorAlexander Schmidt <alex@treefish.org>
Tue, 9 Dec 2014 12:35:13 +0000 (13:35 +0100)
committerAlexander Schmidt <alex@treefish.org>
Tue, 9 Dec 2014 12:35:13 +0000 (13:35 +0100)
CMakeLists.txt
datread.cpp
datread.h

index 9558c25a10aee2651e844da5ae50a23ae810e9fd..668888b2d9d0e7543ceb237f8c71ec3a9d186062 100644 (file)
@@ -1,6 +1,6 @@
 project(latlib)
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 
 #PROFILING
 #set(CMAKE_CXX_FLAGS -pg)
index 4a0e31dc5d112ad182360e074d45372edd33350e..f4bf393999ef6417c1939c60716796c24719d88d 100644 (file)
@@ -16,17 +16,20 @@ int datread::openFile (const string& filename)
   if ( ! infile.is_open() ) return -1;
   
   if( filename.substr(filename.size()-4) == ".dat" ) {
-    format = Format::DAT;
+    format = DAT;
   }
   else if( filename.substr(filename.size()-4) == "edat" ) {
-    format = Format::EDAT;
+    format = EDAT;
   }
   else if( filename.substr(filename.size()-4) == "sdat" ) {
-    format = Format::SDAT;
+    format = SDAT;
     getline(infile, parastring);
   }
 
-  inbuffer = unique_ptr<boost::iostreams::filtering_istreambuf>(new boost::iostreams::filtering_istreambuf);
+  if ( inbuffer != NULL )
+    delete inbuffer;
+  
+  inbuffer = new boost::iostreams::filtering_istreambuf;
   inbuffer->push( boost::iostreams::bzip2_decompressor() );
   inbuffer->push(infile);
 
@@ -121,7 +124,7 @@ int datread::readFullBlock (char *tmpData)
     return -4;
     
   /* try to read header */
-  if ( format == Format::EDAT || format == Format::SDAT )
+  if ( format == EDAT || format == SDAT )
     if ( ! readAllHeaders() ) {
       infile.close();
       return -1;
@@ -173,3 +176,9 @@ void datread::closeFile ()
   if ( infile.is_open() )
     infile.close();
 }
+
+datread::~datread ()
+{
+  if ( inbuffer != NULL )
+    delete inbuffer;
+}
index 64fd850845675d4987dbce3a8c8a84eb4ef8340f..802ec17ce131ae94a2ab84cb644a195ab7cd76ec 100644 (file)
--- a/datread.h
+++ b/datread.h
@@ -4,6 +4,7 @@
 #include <ostream>
 #include <fstream>
 #include <memory>
+#include <vector>
 
 #include <boost/iostreams/filtering_streambuf.hpp>
 #include <boost/iostreams/filter/bzip2.hpp>
@@ -12,9 +13,10 @@ using namespace std;
 
 class datread {
  public:
+  ~datread ();
   datread (const unsigned int& _blocksize, ostream *_log=NULL);
   int openFile (const string& filename);
-  enum class Format {DAT, EDAT, SDAT};
+  enum Format {DAT, EDAT, SDAT};
   void * getHeader (const string& headerid);
   int readFullBlock (char *tmpData);
   bool fisopen ();
@@ -25,7 +27,7 @@ class datread {
   ifstream infile;
   Format format;
   string parastring;
-  unique_ptr<boost::iostreams::filtering_istreambuf> inbuffer;
+  boost::iostreams::filtering_istreambuf *inbuffer;
   ostream * const log;
   int readDataToMem (char *tmpData, long unsigned int dataSize);
   string filename;