#include <juce_OutputStream.h>
The base class for streams that write data to some kind of destination.
Input and output streams are used throughout the library - subclasses can override some or all of the virtual functions to implement their behaviour.
- See also
- InputStream, MemoryOutputStream, FileOutputStream
@tags{Core}
◆ OutputStream()
| juce::OutputStream::OutputStream |
( |
| ) |
|
|
protected |
◆ ~OutputStream()
| juce::OutputStream::~OutputStream |
( |
| ) |
|
|
virtual |
Destructor.
Some subclasses might want to do things like call flush() during their destructors.
◆ flush()
| virtual void juce::OutputStream::flush |
( |
| ) |
|
|
pure virtual |
◆ getNewLineString()
| const String & juce::OutputStream::getNewLineString |
( |
| ) |
const |
|
inlinenoexcept |
Returns the current new-line string that was set by setNewLineString().
◆ getPosition()
| virtual int64 juce::OutputStream::getPosition |
( |
| ) |
|
|
pure virtual |
◆ setNewLineString()
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().
◆ setPosition()
| virtual bool juce::OutputStream::setPosition |
( |
int64 | newPosition | ) |
|
|
pure virtual |
◆ write()
| virtual bool juce::OutputStream::write |
( |
const void * | dataToWrite, |
|
|
size_t | numberOfBytes ) |
|
pure virtual |
◆ writeBool()
| bool juce::OutputStream::writeBool |
( |
bool | boolValue | ) |
|
|
virtual |
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.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readBool
◆ writeByte()
| bool juce::OutputStream::writeByte |
( |
char | byte | ) |
|
|
virtual |
Writes a single byte to the stream.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readByte
◆ writeCompressedInt()
| bool juce::OutputStream::writeCompressedInt |
( |
int | value | ) |
|
|
virtual |
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.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readCompressedInt
◆ writeDouble()
| bool juce::OutputStream::writeDouble |
( |
double | value | ) |
|
|
virtual |
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.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readDouble
◆ writeDoubleBigEndian()
| bool juce::OutputStream::writeDoubleBigEndian |
( |
double | value | ) |
|
|
virtual |
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.
- See also
- InputStream::readDoubleBigEndian
- Returns
- false if the write operation fails for some reason
◆ writeFloat()
| bool juce::OutputStream::writeFloat |
( |
float | value | ) |
|
|
virtual |
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.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readFloat
◆ writeFloatBigEndian()
| bool juce::OutputStream::writeFloatBigEndian |
( |
float | value | ) |
|
|
virtual |
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.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readFloatBigEndian
◆ writeFromInputStream()
Reads data from an input stream and writes it to this stream.
- Parameters
-
| 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) |
- Returns
- the number of bytes written
Reimplemented in juce::MemoryOutputStream.
◆ writeInt()
| bool juce::OutputStream::writeInt |
( |
int | value | ) |
|
|
virtual |
Writes a 32-bit integer to the stream in a little-endian byte order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readInt
◆ writeInt64()
| bool juce::OutputStream::writeInt64 |
( |
int64 | value | ) |
|
|
virtual |
Writes a 64-bit integer to the stream in a little-endian byte order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readInt64
◆ writeInt64BigEndian()
| bool juce::OutputStream::writeInt64BigEndian |
( |
int64 | value | ) |
|
|
virtual |
Writes a 64-bit integer to the stream in a big-endian byte order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readInt64BigEndian
◆ writeIntBigEndian()
| bool juce::OutputStream::writeIntBigEndian |
( |
int | value | ) |
|
|
virtual |
Writes a 32-bit integer to the stream in a big-endian byte order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readIntBigEndian
◆ writeRepeatedByte()
| bool juce::OutputStream::writeRepeatedByte |
( |
uint8 | byte, |
|
|
size_t | numTimesToRepeat ) |
|
virtual |
◆ writeShort()
| bool juce::OutputStream::writeShort |
( |
short | value | ) |
|
|
virtual |
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).
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readShort
◆ writeShortBigEndian()
| bool juce::OutputStream::writeShortBigEndian |
( |
short | value | ) |
|
|
virtual |
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).
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readShortBigEndian
◆ writeString()
| bool juce::OutputStream::writeString |
( |
const String & | text | ) |
|
|
virtual |
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<<
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readString, writeText, operator<<
◆ writeText()
| bool juce::OutputStream::writeText |
( |
const String & | text, |
|
|
bool | asUTF16, |
|
|
bool | writeUTF16ByteOrderMark, |
|
|
const char * | lineEndings ) |
|
virtual |
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.
- Returns
- false if the write operation fails for some reason
◆ newLineString
| String juce::OutputStream::newLineString |
|
private |
The documentation for this class was generated from the following files:
- /home/runner/work/lmms-fork/lmms-fork/plugins/CarlaBase/carla/source/modules/juce_core/streams/juce_OutputStream.h
- /home/runner/work/lmms-fork/lmms-fork/plugins/CarlaBase/carla/source/modules/juce_core/streams/juce_OutputStream.cpp