-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathistream
More file actions
68 lines (54 loc) · 2.17 KB
/
Copy pathistream
File metadata and controls
68 lines (54 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*****************************************************************************/
// Filename: istream.h
/*****************************************************************************/
// Description: This class represents an input stream class that is tied
// to input from the CRT display
/*****************************************************************************/
#ifndef _istream_h
#define _istream_h
#include <ios>
#include <string>
using std::string;
namespace ppcStreams
{
class istream : virtual public ios
{
public:
istream();
virtual ~istream();
istream& getline(char* s, int streamsize, char delimiter = endl);
istream& getline(string& s, char delimiter = endl);
virtual bool eof();
template <typename T> istream& operator>>(T& var);
virtual operator void*();
protected:
virtual int InFunction(const char* format, ...);
private:
virtual istream& operator>>(char& c);
virtual istream& operator>>(char* s);
virtual istream& operator>>(const char* s);
virtual istream& operator>>(double& d);
virtual istream& operator>>(float& f);
virtual istream& operator>>(int& i);
virtual istream& operator>>(long& l);
virtual istream& operator>>(short& s);
virtual istream& operator>>(unsigned int& ui);
virtual istream& operator>>(unsigned long& ui);
virtual istream& operator>>(unsigned short& ui);
virtual istream& operator>>(string& s);
template <typename T> static istream& operator>>(istream& is, T& var);
};
/****************************************************************************************/
inline istream& getline(istream& stream, char* s, int streamsize, char delimiter = endl)
/****************************************************************************************/
{
return(stream.getline(s, streamsize, delimiter));
}
/****************************************************************************************/
inline istream& getline(istream& stream, string& s, char delimiter = endl)
/****************************************************************************************/
{
return(stream.getline(s, delimiter));
}
};
#endif