]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/input.h
Cosmetic changes
[libs/datafile.git] / source / input.h
index 12d3eff08dff23156fe3f43a59037157e21aface..6cc53e7af3674ee31fbd18bbff24e3d699830294 100644 (file)
@@ -1,31 +1,32 @@
-/*
-This file is part of libmspparser
-Copyright © 2006 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-#ifndef MSP_PARSER_INPUT_H_
-#define MSP_PARSER_INPUT_H_
+#ifndef MSP_DATAFILE_INPUT_H_
+#define MSP_DATAFILE_INPUT_H_
 
-#include <istream>
+#include <msp/core/noncopyable.h>
+#include <msp/io/base.h>
 
 namespace Msp {
-namespace Parser {
+namespace DataFile {
 
-class Input
+class Input: private NonCopyable
 {   
+private:
+       IO::Base *in = nullptr;
+       IO::Base *compressed = nullptr;
+       unsigned line = 1;
+       int next = -1;
+
 public:
-       Input(std::istream &); 
+       Input(IO::Base &); 
+       ~Input();
+
+       void set_decompress();
        int get();
        int peek();
        unsigned get_line_number() const { return line; }
-       operator bool() const { return (bool)in; }
-private:
-       std::istream &in;
-       unsigned line;
-       int next;
+       explicit operator bool() const;
 };  
 
-} // namespace Parser
+} // namespace DataFile
 } // namespace Msp
 
 #endif