28 lines
537 B
Plaintext
28 lines
537 B
Plaintext
// Copyright (C) 2010, Guy Barrand. All rights reserved.
|
|
// See the file tools.license for terms.
|
|
|
|
#ifndef tools_file_reader
|
|
#define tools_file_reader
|
|
|
|
#include <string>
|
|
#include <cstdio>
|
|
|
|
namespace tools {
|
|
namespace file {
|
|
|
|
class reader {
|
|
public:
|
|
virtual ~reader() {}
|
|
public:
|
|
virtual bool open(const std::string&) = 0;
|
|
virtual void close() = 0;
|
|
virtual bool is_open() const = 0;
|
|
virtual bool read(char*,unsigned int,size_t&) = 0;
|
|
virtual bool get_line(char*,unsigned int) = 0;
|
|
virtual bool eof() const = 0;
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|