DCL 4.0
Loading...
Searching...
No Matches
OutputStream.h
Go to the documentation of this file.
1#ifndef __DCL_OUTPUT_STREAM_H__
2#define __DCL_OUTPUT_STREAM_H__ 20071009
3
4#ifndef __DCL_INCLUDED_STDARG_H
5#include <stdarg.h>
6#define __DCL_INCLUDED_STDARG_H
7#endif
8
9#ifndef __DCL_OBJECT_H__
10#include <dcl/Object.h>
11#endif
12#ifndef __DCL_EXCEPTION_H__
13#include <dcl/Exception.h>
14#endif
15#ifndef __DCL_STRING_H__
16#include <dcl/String.h>
17#endif
18
19__DCL_BEGIN_NAMESPACE
20
31{
33public:
38 virtual void close()
40
45 virtual void flush()
47
59 virtual OutputStream& write(const void* _buf, size_t _n)
61
71 virtual int vprintf(const char* _format, va_list _arglist)
73
77 int printf(const char* _format, ...)
79};
80
82{
83 char __dummy;
84 __endl() { }
85};
86
87#if defined(__GNUC__) || defined(_WIN64)
88extern DCLCVAR const struct __endl endl;
89#else
90DCLCAPI const struct __endl endl();
91#define endl endl()
92#endif
93
94#if __DCL_DEBUG
95static const char_t* __pszOutputStream_h__ = __T("dcl/OutputStream.h");
96#undef __THIS_FILE__
97#define __THIS_FILE__ __pszOutputStream_h__
98#endif
99
102
103DCLCAPI inline OutputStream& operator << (OutputStream& _out, const char* _psz)
105{
106 __DCL_ASSERT(_psz != NULL);
107 return _out.write(_psz, ByteString::length(_psz));
108}
109
110DCLCAPI inline OutputStream& operator << (OutputStream& _out, const ByteString& _str)
112{
113 return _out.write(_str.data(), _str.length());
114}
115
116DCLCAPI inline OutputStream& operator << (OutputStream& _out, const ByteStringBuilder& _sb)
118{
119 return _out.write(_sb.data(), _sb.length());
120}
121
124{
125 return _out.write(&_ch, sizeof(char));
126}
127
128DCLCAPI inline OutputStream& operator << (OutputStream& _out, unsigned char _ch)
130{
131 return _out.write(&_ch, sizeof(unsigned char));
132}
133
134DCLCAPI inline OutputStream& operator << (OutputStream& _out, short int _n)
136{
137 return _out.write(&_n, sizeof(_n));
138}
139
140DCLCAPI inline OutputStream& operator << (OutputStream& _out, unsigned short int _n)
142{
143 return _out.write(&_n, sizeof(_n));
144}
145
148{
149 return _out.write(&_n, sizeof(_n));
150}
151
152DCLCAPI inline OutputStream& operator << (OutputStream& _out, unsigned int _n)
154{
155 return _out.write(&_n, sizeof(_n));
156}
157
160{
161 return _out.write(&_n, sizeof(_n));
162}
163
164DCLCAPI inline OutputStream& operator << (OutputStream& _out, unsigned long _n)
166{
167 return _out.write(&_n, sizeof(_n));
168}
169
170DCLCAPI inline OutputStream& operator << (OutputStream& _out, long long _n)
172{
173 return _out.write(&_n, sizeof(_n));
174}
175
176DCLCAPI inline OutputStream& operator << (OutputStream& _out, unsigned long long _n)
178{
179 return _out.write(&_n, sizeof(_n));
180}
181
182#if 0
183DCLCAPI inline OutputStream& operator << (OutputStream& _out, int32_t _n)
185{
186 return _out.write(&_n, sizeof(_n));
187}
188
189DCLCAPI inline OutputStream& operator << (OutputStream& _out, uint32_t _n)
191{
192 return _out.write(&_n, sizeof(_n));
193}
194
195DCLCAPI inline OutputStream& operator << (OutputStream& _out, int64_t _n)
197{
198 return _out.write(&_n, sizeof(_n));
199}
200
201DCLCAPI inline OutputStream& operator << (OutputStream& _out, uint64_t _n)
203{
204 return _out.write(&_n, sizeof(_n));
205}
206#endif
207
210{
211 return _out.write(&_n, sizeof(_n));
212}
213
216{
217 return _out.write(&_n, sizeof(_n));
218}
219
220DCLCAPI inline OutputStream& operator << (OutputStream& _out, long double _n)
222{
223 return _out.write(&_n, sizeof(_n));
224}
225
226__DCL_END_NAMESPACE
227
228#endif // __DCL_OUTPUT_STREAM_H__
#define NULL
Definition Config.h:340
#define DCLCVAR
Definition Config.h:101
#define DCLCAPI
Definition Config.h:100
wchar_t char_t
Definition Config.h:275
#define __DCL_THROWS1(e)
Definition Config.h:167
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:210
#define __DCL_ASSERT(expr)
Definition Object.h:371
#define __T(str)
Definition Object.h:44
DCLCAPI OutputStream & operator<<(OutputStream &out, const __endl &) __DCL_THROWS1(IOException *)
#define endl
Object()
Definition Object.cpp:183
char __dummy