DCL 4.0
Loading...
Searching...
No Matches
BytesInputStream.cpp
Go to the documentation of this file.
1#include <string.h> // memcpy
3#include <dcl/size_t.h>
4
5#if __DCL_HAVE_ALLOC_DEBUG
6#undef __DCL_ALLOC_LEVEL
7#define __DCL_ALLOC_LEVEL __DCL_ALLOC_INTERNAL
8#endif
9
10#undef __THIS_FILE__
11static const char_t __THIS_FILE__[] = __T("dcl/BytesInputStream.cpp");
12
13__DCL_BEGIN_NAMESPACE
14
16
17String BytesInputStream::toString() const
18{
19 StringBuilder r = className();
20 r.format(__T("(%ubytes)"), __str.length());
21 return r;
22}
23
24BytesInputStream::BytesInputStream(const ByteString& _str)
25{
26 __str = _str;
27 __begin = _str;
28 __end = __begin + _str.length();
29}
30
31size_t BytesInputStream::available() const
33{
34 return __end - __begin;
35}
36
37size_t BytesInputStream::read(void* _buf, size_t _n)
39{
40 __DCL_ASSERT_PARAM(_buf != NULL);
41
42 size_t n = __MIN(__end - __begin, _n);
43 memcpy(_buf, __begin, n);
44 __begin += n;
45
46 return n;
47}
48
49__DCL_END_NAMESPACE
50
#define __THIS_FILE__
Definition _trace.h:14
#define NULL
Definition Config.h:340
wchar_t char_t
Definition Config.h:275
#define __DCL_THROWS1(e)
Definition Config.h:167
#define __DCL_ASSERT_PARAM(expr)
Definition Object.h:384
#define IMPLEMENT_CLASSINFO(class_name, base_class_name)
Definition Object.h:228
#define __T(str)
Definition Object.h:44
ByteString r
void CharsetConvertException *size_t n
Definition SQLField.cpp:253
const char * __begin
virtual String toString() const
Definition Object.cpp:187
String className() const
Definition Object.cpp:163
size_t __MIN(size_t x, size_t y)
Definition size_t.h:27