activemq-cpp-3.8.2
Main Page
Namespaces
Data Structures
Files
File List
Globals
ByteArrayOutputStream.h
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#ifndef _DECAF_IO_BYTEARRAYOUTPUTSTREAM_H_
19
#define _DECAF_IO_BYTEARRAYOUTPUTSTREAM_H_
20
21
#include <
decaf/util/Config.h
>
22
23
#include <
decaf/io/OutputStream.h
>
24
#include <
decaf/lang/exceptions/IllegalArgumentException.h
>
25
26
#include <utility>
27
28
namespace
decaf{
29
namespace
io{
30
31
class
DECAF_API
ByteArrayOutputStream
:
public
OutputStream
{
32
private
:
33
37
unsigned
char
* buffer;
38
42
int
bufferSize;
43
47
int
count;
48
49
private
:
50
51
ByteArrayOutputStream
(
const
ByteArrayOutputStream
&);
52
ByteArrayOutputStream
& operator=(
const
ByteArrayOutputStream
&);
53
54
public
:
55
60
ByteArrayOutputStream
();
61
71
ByteArrayOutputStream
(
int
bufferSize);
72
73
virtual
~
ByteArrayOutputStream
();
74
83
std::pair<unsigned char*, int> toByteArray()
const
;
84
90
long
long
size()
const
;
91
96
virtual
void
reset();
97
102
virtual
std::string toString()
const
;
103
109
void
writeTo(
OutputStream
* out)
const
;
110
111
protected
:
112
113
virtual
void
doWriteByte(
unsigned
char
value);
114
115
virtual
void
doWriteArrayBounded(
const
unsigned
char
* buffer,
int
size,
int
offset,
int
length);
116
117
private
:
118
119
// Expands the buffer if there's not enough room for the needed length.
120
void
checkExpandSize(
int
needed);
121
122
};
123
124
}}
125
126
#endif
/*_DECAF_IO_BYTEARRAYOUTPUTSTREAM_H_*/
Config.h
decaf::io::ByteArrayOutputStream
Definition:
ByteArrayOutputStream.h:31
IllegalArgumentException.h
DECAF_API
#define DECAF_API
Definition:
Config.h:29
decaf::io::OutputStream
Base interface for any class that wants to represent an output stream of bytes.
Definition:
OutputStream.h:39
OutputStream.h
src
main
decaf
io
ByteArrayOutputStream.h
Generated by
1.8.6