ScummVM API documentation
ifstream.h
1
2/* ScummVM - Graphic Adventure Engine
3 *
4 * ScummVM is the legal property of its developers, whose names
5 * are too numerous to list here. Please refer to the COPYRIGHT
6 * file distributed with this source distribution.
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23#ifndef BAGEL_BAGLIB_IFSTREAM_H
24#define BAGEL_BAGLIB_IFSTREAM_H
25
26#include "bagel/boflib/object.h"
27#include "bagel/boflib/string.h"
28
29namespace Bagel {
30namespace SpaceBar {
31
32class CBagIfstream : public CBofObject {
33private:
34 int _lineNumber;
35 CBofString _lineString;
36
37 char *_buffer;
38 char *_currPtr;
39 char *_eof;
40 int _length;
41
42public:
43 CBagIfstream(char *buffer, int length);
44 virtual ~CBagIfstream() {}
45
46 int getCh();
47 int getLine(char *buffer, int length);
48 void putBack();
49 int get();
50 int get(char *buffer, int count, char delimiter = '\n');
51 int peek();
52 int getCh(char *ch, int count, char delimiter = '\n');
53 bool eatWhite();
54
55 bool eof() const {
56 return (_currPtr == _eof);
57 }
58 int getLineNumber() const {
59 return _lineNumber;
60 }
61 int getSize() const {
62 return _length;
63 }
64 const CBofString &getLineString() const {
65 return _lineString;
66 }
67};
68
69} // namespace SpaceBar
70} // namespace Bagel
71
72#endif
Definition: object.h:28
Definition: string.h:38
Definition: ifstream.h:32