61 bool appendToExistingBlockContent);
79 const void* getData()
const noexcept;
87 void reset() noexcept;
92 void preallocate (
size_t bytesToPreallocate);
95 bool appendUTF8Char (juce_wchar character);
113 void flush() override;
115 bool write (const
void*,
size_t) override;
116 int64 getPosition()
override {
return (int64) position; }
117 bool setPosition (int64)
override;
118 int64 writeFromInputStream (
InputStream&, int64 maxNumBytesToWrite)
override;
119 bool writeRepeatedByte (uint8
byte,
size_t numTimesToRepeat)
override;
125 void* externalData =
nullptr;
126 size_t position = 0, size = 0, availableSize = 0;
128 void trimExternalBlockSize();
129 char* prepareToWrite (
size_t);
135 OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream,
const MemoryOutputStream& streamToRead);
A class to hold a resizable block of raw data.
Writes data to an internal memory buffer, which grows as required.
size_t getDataSize() const noexcept
Returns the number of bytes of data that have been written to the stream.
The base class for streams that write data to some kind of destination.
#define JUCE_API
This macro is added to all JUCE public class declarations.