DCL 4.0
Loading...
Searching...
No Matches
Writer.h
Go to the documentation of this file.
1#ifndef __DCL_WRITER_H__
2#define __DCL_WRITER_H__ 20071008
3
4#ifndef __DCL_OBJECT_H__
5#include <dcl/Object.h>
6#endif
7#ifndef __DCL_EXCEPTION_H__
8#include <dcl/Exception.h>
9#endif
10#ifndef __DCL_STRING_H__
11#include <dcl/String.h>
12#endif
13#ifndef __DCL_OUTPUT_STREAM_H__ // for endl
14#include <dcl/OutputStream.h>
15#endif
16#ifndef __DCL_NUMERIC_H__
17#include <dcl/Numeric.h>
18#endif
19
20__DCL_BEGIN_NAMESPACE
21
30class DCLCAPI Writer : public Object
31{
33public:
38 virtual void close()
40
45 virtual void flush()
47
59 virtual Writer& write(const wchar_t* _buf, size_t _n)
61
71 virtual int vprintf(const wchar_t* _format, va_list _arglist)
73
77 int printf(const wchar_t* _format, ...)
79};
80
81#if __DCL_DEBUG
82static const wchar_t* __pszWriter_h__ = __T("dcl/Writer.h");
83#undef __THIS_FILE__
84#define __THIS_FILE__ __pszWriter_h__
85#endif
86
87DCLCAPI Writer& operator << (Writer& _writer, const __endl&)
89
90DCLCAPI inline Writer& operator << (Writer& _writer, const wchar_t* _psz)
92{
93 __DCL_ASSERT(_psz != NULL);
94 return _writer.write(_psz, String::length(_psz));
95}
96
97DCLCAPI inline Writer& operator << (Writer& _writer, const String& _str)
99{
100 return _writer.write(_str.data(), _str.length());
101}
102
103DCLCAPI inline Writer& operator << (Writer& _writer, const StringBuilder& _sb)
105{
106 return _writer.write(_sb.data(), _sb.length());
107}
108
109DCLCAPI inline Writer& operator << (Writer& _writer, const Object& _obj)
111{
112 return _writer << _obj.toString();
113}
114
115DCLCAPI inline Writer& operator << (Writer& _writer, short int _n)
117{
118 return _writer << String::valueOf(_n);
119}
120
121DCLCAPI inline Writer& operator << (Writer& _writer, unsigned short int _n)
123{
124 return _writer << String::valueOf(_n);
125}
126
127DCLCAPI inline Writer& operator << (Writer& _writer, int _n)
129{
130 return _writer << String::valueOf(_n);
131}
132
133DCLCAPI inline Writer& operator << (Writer& _writer, unsigned int _n)
135{
136 return _writer << String::valueOf(_n);
137}
138
139DCLCAPI inline Writer& operator << (Writer& _writer, long _n)
141{
142 return _writer << String::valueOf(_n);
143}
144
145DCLCAPI inline Writer& operator << (Writer& _writer, unsigned long _n)
147{
148 return _writer << String::valueOf(_n);
149}
150
151DCLCAPI inline Writer& operator << (Writer& _writer, long long _n)
153{
154 return _writer << String::valueOf(_n);
155}
156
157DCLCAPI inline Writer& operator << (Writer& _writer, unsigned long long _n)
159{
160 return _writer << String::valueOf(_n);
161}
162
163DCLCAPI inline Writer& operator << (Writer& _writer, float _n)
165{
166 return _writer << String::valueOf(_n);
167}
168
169DCLCAPI inline Writer& operator << (Writer& _writer, double _n)
171{
172 return _writer << String::valueOf(_n);
173}
174
175DCLCAPI inline Writer& operator << (Writer& _writer, long double _n)
177{
178 return _writer << String::valueOf(_n);
179}
180
181#if __DCL_DEBUG
182#undef __THIS_FILE__
183#define __THIS_FILE__ __T(__FILE__)
184#endif
185
186__DCL_END_NAMESPACE
187
188#endif // __DCL_WRITER_H__
#define NULL
Definition Config.h:340
#define DCLCAPI
Definition Config.h:100
#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 Writer & operator<<(Writer &_writer, const __endl &) __DCL_THROWS1(IOException *)
Definition Writer.cpp:52
Object()
Definition Object.cpp:183
virtual String toString() const
Definition Object.cpp:187