]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/input.h
Implement proper copy semantics
[libs/datafile.git] / source / input.h
index 9fa4b853a668640736fb4a37f97bf1c71ef23fd3..d30abd618b755c6e4c524ba1174345a1b2da08c8 100644 (file)
@@ -1,21 +1,25 @@
 #ifndef MSP_DATAFILE_INPUT_H_
 #define MSP_DATAFILE_INPUT_H_
 
+#include <msp/core/noncopyable.h>
 #include <msp/io/base.h>
 
 namespace Msp {
 namespace DataFile {
 
-class Input
+class Input: private NonCopyable
 {   
 private:
-       IO::Base &in;
+       IO::Base *in;
+       IO::Base *compressed;
        unsigned line;
        int next;
 
 public:
        Input(IO::Base &); 
+       ~Input();
 
+       void set_decompress();
        int get();
        int peek();
        unsigned get_line_number() const { return line; }