Used to write persistent ARA archives - see doStoreObjectsToStream() for details. More...
#include <juce_ARADocumentController.h>


Public Member Functions | |
| ARAOutputStream (ARA::PlugIn::HostArchiveWriter *) | |
| void | flush () override |
| If the stream is using a buffer, this will ensure it gets written out to the destination. | |
| const String & | getNewLineString () const noexcept |
| Returns the current new-line string that was set by setNewLineString(). | |
| int64 | getPosition () override |
| Returns the stream's current position. | |
| void | setNewLineString (const String &newLineString) |
| Sets the string to write to the stream when a new line is written. | |
| bool | setPosition (int64) override |
| Tries to move the stream's output position. | |
| bool | write (const void *, size_t) override |
| Writes a block of data to the stream. | |
| virtual bool | writeBool (bool boolValue) |
| Writes a boolean to the stream as a single byte. | |
| virtual bool | writeByte (char byte) |
| Writes a single byte to the stream. | |
| virtual bool | writeCompressedInt (int value) |
| Writes a condensed binary encoding of a 32-bit integer. | |
| virtual bool | writeDouble (double value) |
| Writes a 64-bit floating point value to the stream in a binary format. | |
| virtual bool | writeDoubleBigEndian (double value) |
| Writes a 64-bit floating point value to the stream in a binary format. | |
| virtual bool | writeFloat (float value) |
| Writes a 32-bit floating point value to the stream in a binary format. | |
| virtual bool | writeFloatBigEndian (float value) |
| Writes a 32-bit floating point value to the stream in a binary format. | |
| virtual int64 | writeFromInputStream (InputStream &source, int64 maxNumBytesToWrite) |
| Reads data from an input stream and writes it to this stream. | |
| virtual bool | writeInt (int value) |
| Writes a 32-bit integer to the stream in a little-endian byte order. | |
| virtual bool | writeInt64 (int64 value) |
| Writes a 64-bit integer to the stream in a little-endian byte order. | |
| virtual bool | writeInt64BigEndian (int64 value) |
| Writes a 64-bit integer to the stream in a big-endian byte order. | |
| virtual bool | writeIntBigEndian (int value) |
| Writes a 32-bit integer to the stream in a big-endian byte order. | |
| virtual bool | writeRepeatedByte (uint8 byte, size_t numTimesToRepeat) |
| Writes a byte to the output stream a given number of times. | |
| virtual bool | writeShort (short value) |
| Writes a 16-bit integer to the stream in a little-endian byte order. | |
| virtual bool | writeShortBigEndian (short value) |
| Writes a 16-bit integer to the stream in a big-endian byte order. | |
| virtual bool | writeString (const String &text) |
| Stores a string in the stream in a binary format. | |
| virtual bool | writeText (const String &text, bool asUTF16, bool writeUTF16ByteOrderMark, const char *lineEndings) |
| Writes a string of text to the stream. | |
Private Attributes | |
| ARA::PlugIn::HostArchiveWriter * | archiveWriter |
| String | newLineString |
| int64 | position = 0 |
|
explicit |
|
inlineoverridevirtual |
If the stream is using a buffer, this will ensure it gets written out to the destination.
Implements juce::OutputStream.
|
inlinenoexceptinherited |
Returns the current new-line string that was set by setNewLineString().
|
inlineoverridevirtual |
Returns the stream's current position.
Implements juce::OutputStream.
References position.
|
inherited |
Sets the string to write to the stream when a new line is written.
By default this will be set the value of NewLine::getDefault().
Tries to move the stream's output position.
Not all streams will be able to seek to a new position - this will return false if it fails to work.
Implements juce::OutputStream.
|
overridevirtual |
Writes a block of data to the stream.
When creating a subclass of OutputStream, this is the only write method that needs to be overloaded - the base class has methods for writing other types of data which use this to do the work.
| dataToWrite | the target buffer to receive the data. This must not be null. |
| numberOfBytes | the number of bytes to write. |
Implements juce::OutputStream.
Writes a boolean to the stream as a single byte.
This is encoded as a binary byte (not as text) with a value of 1 or 0.
|
virtualinherited |
Writes a single byte to the stream.
|
virtualinherited |
Writes a condensed binary encoding of a 32-bit integer.
If you're storing a lot of integers which are unlikely to have very large values, this can save a lot of space, because values under 0xff will only take up 2 bytes, under 0xffff only 3 bytes, etc.
The format used is: number of significant bytes + up to 4 bytes in little-endian order.
|
virtualinherited |
Writes a 64-bit floating point value to the stream in a binary format.
The eight raw bytes of the double value are written out as a little-endian 64-bit int.
|
virtualinherited |
Writes a 64-bit floating point value to the stream in a binary format.
The eight raw bytes of the double value are written out as a big-endian 64-bit int.
Writes a 32-bit floating point value to the stream in a binary format.
The binary 32-bit encoding of the float is written as a little-endian int.
Writes a 32-bit floating point value to the stream in a binary format.
The binary 32-bit encoding of the float is written as a big-endian int.
|
virtualinherited |
Reads data from an input stream and writes it to this stream.
| source | the stream to read from |
| maxNumBytesToWrite | the number of bytes to read from the stream (if this is less than zero, it will keep reading until the input is exhausted) |
Reimplemented in juce::MemoryOutputStream.
|
virtualinherited |
Writes a 32-bit integer to the stream in a little-endian byte order.
Writes a 64-bit integer to the stream in a little-endian byte order.
Writes a 64-bit integer to the stream in a big-endian byte order.
|
virtualinherited |
Writes a 32-bit integer to the stream in a big-endian byte order.
|
virtualinherited |
Writes a byte to the output stream a given number of times.
Reimplemented in juce::FileOutputStream, and juce::MemoryOutputStream.
|
virtualinherited |
Writes a 16-bit integer to the stream in a little-endian byte order.
This will write two bytes to the stream: (value & 0xff), then (value >> 8).
|
virtualinherited |
Writes a 16-bit integer to the stream in a big-endian byte order.
This will write two bytes to the stream: (value >> 8), then (value & 0xff).
Stores a string in the stream in a binary format.
This isn't the method to use if you're trying to append text to the end of a text-file! It's intended for storing a string so that it can be retrieved later by InputStream::readString().
It writes the string to the stream as UTF8, including the null termination character.
For appending text to a file, instead use writeText, or operator<<
|
virtualinherited |
Writes a string of text to the stream.
It can either write the text as UTF-8 or UTF-16, and can also add the UTF-16 byte-order-mark bytes (0xff, 0xfe) to indicate the endianness (these should only be used at the start of a file).
If lineEndings is nullptr, then line endings in the text won't be modified. If you pass "\\n" or "\\r\\n" then this function will replace any existing line feeds.
|
private |
|
privateinherited |
|
private |
Referenced by getPosition().