mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-27 22:45:52 +00:00
Add return values to OutputStream methods
This commit is contained in:
@@ -114,7 +114,7 @@ bool FileOutputStream::write (const void* const src, const size_t numBytes)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileOutputStream::writeRepeatedByte (uint8 byte, size_t numBytes)
|
bool FileOutputStream::writeRepeatedByte (uint8 byte, size_t numBytes)
|
||||||
{
|
{
|
||||||
bassert (((ssize_t) numBytes) >= 0);
|
bassert (((ssize_t) numBytes) >= 0);
|
||||||
|
|
||||||
@@ -123,9 +123,8 @@ void FileOutputStream::writeRepeatedByte (uint8 byte, size_t numBytes)
|
|||||||
memset (buffer + bytesInBuffer, byte, numBytes);
|
memset (buffer + bytesInBuffer, byte, numBytes);
|
||||||
bytesInBuffer += numBytes;
|
bytesInBuffer += numBytes;
|
||||||
currentPosition += numBytes;
|
currentPosition += numBytes;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
return OutputStream::writeRepeatedByte (byte, numBytes);
|
||||||
OutputStream::writeRepeatedByte (byte, numBytes);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
#include "beast_File.h"
|
#include "beast_File.h"
|
||||||
#include "../streams/beast_OutputStream.h"
|
#include "../streams/beast_OutputStream.h"
|
||||||
|
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
An output stream that writes into a local file.
|
An output stream that writes into a local file.
|
||||||
@@ -87,11 +86,11 @@ public:
|
|||||||
Result truncate();
|
Result truncate();
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
void flush();
|
void flush() override;
|
||||||
int64 getPosition();
|
int64 getPosition() override;
|
||||||
bool setPosition (int64 pos);
|
bool setPosition (int64) override;
|
||||||
bool write (const void* data, size_t numBytes);
|
bool write (const void*, size_t) override;
|
||||||
void writeRepeatedByte (uint8 byte, size_t numTimesToRepeat);
|
bool writeRepeatedByte (uint8 byte, size_t numTimesToRepeat) override;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -111,4 +110,4 @@ private:
|
|||||||
ssize_t writeInternal (const void*, size_t);
|
ssize_t writeInternal (const void*, size_t);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BEAST_FILEOUTPUTSTREAM_BEASTHEADER
|
#endif
|
||||||
@@ -90,10 +90,12 @@ bool MemoryOutputStream::write (const void* const buffer, size_t howMany)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MemoryOutputStream::writeRepeatedByte (uint8 byte, size_t howMany)
|
bool MemoryOutputStream::writeRepeatedByte (uint8 byte, size_t howMany)
|
||||||
{
|
{
|
||||||
if (howMany > 0)
|
if (howMany > 0)
|
||||||
memset (prepareToWrite (howMany), byte, howMany);
|
memset (prepareToWrite (howMany), byte, howMany);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MemoryOutputStream::appendUTF8Char (beast_wchar c)
|
void MemoryOutputStream::appendUTF8Char (beast_wchar c)
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
#include "../memory/beast_MemoryBlock.h"
|
#include "../memory/beast_MemoryBlock.h"
|
||||||
#include "../memory/beast_ScopedPointer.h"
|
#include "../memory/beast_ScopedPointer.h"
|
||||||
|
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
Writes data to an internal memory buffer, which grows as required.
|
Writes data to an internal memory buffer, which grows as required.
|
||||||
@@ -36,9 +35,10 @@
|
|||||||
The data that was written into the stream can then be accessed later as
|
The data that was written into the stream can then be accessed later as
|
||||||
a contiguous block of memory.
|
a contiguous block of memory.
|
||||||
*/
|
*/
|
||||||
class BEAST_API MemoryOutputStream
|
class BEAST_API MemoryOutputStream
|
||||||
: public OutputStream
|
: public OutputStream
|
||||||
, LeakChecked <MemoryOutputStream>
|
, LeakChecked <MemoryOutputStream>
|
||||||
|
, Uncopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
@@ -108,11 +108,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
void flush();
|
void flush();
|
||||||
|
|
||||||
bool write (const void* buffer, size_t howMany);
|
bool write (const void*, size_t) override;
|
||||||
int64 getPosition() { return position; }
|
int64 getPosition() override { return position; }
|
||||||
bool setPosition (int64 newPosition);
|
bool setPosition (int64) override;
|
||||||
int writeFromInputStream (InputStream& source, int64 maxNumBytesToWrite);
|
int writeFromInputStream (InputStream&, int64 maxNumBytesToWrite) override;
|
||||||
void writeRepeatedByte (uint8 byte, size_t numTimesToRepeat);
|
bool writeRepeatedByte (uint8 byte, size_t numTimesToRepeat) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
@@ -128,4 +128,4 @@ private:
|
|||||||
OutputStream& BEAST_CALLTYPE operator<< (OutputStream& stream, const MemoryOutputStream& streamToRead);
|
OutputStream& BEAST_CALLTYPE operator<< (OutputStream& stream, const MemoryOutputStream& streamToRead);
|
||||||
|
|
||||||
|
|
||||||
#endif // BEAST_MEMORYOUTPUTSTREAM_BEASTHEADER
|
#endif
|
||||||
@@ -61,48 +61,51 @@ OutputStream::~OutputStream()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
void OutputStream::writeBool (const bool b)
|
bool OutputStream::writeBool (const bool b)
|
||||||
{
|
{
|
||||||
writeByte (b ? (char) 1
|
return writeByte (b ? (char) 1
|
||||||
: (char) 0);
|
: (char) 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeByte (char byte)
|
bool OutputStream::writeByte (char byte)
|
||||||
{
|
{
|
||||||
write (&byte, 1);
|
return write (&byte, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeRepeatedByte (uint8 byte, size_t numTimesToRepeat)
|
bool OutputStream::writeRepeatedByte (uint8 byte, size_t numTimesToRepeat)
|
||||||
{
|
{
|
||||||
for (size_t i = 0; i < numTimesToRepeat; ++i)
|
for (size_t i = 0; i < numTimesToRepeat; ++i)
|
||||||
writeByte ((char) byte);
|
if (! writeByte ((char) byte))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeShort (short value)
|
bool OutputStream::writeShort (short value)
|
||||||
{
|
{
|
||||||
const unsigned short v = ByteOrder::swapIfBigEndian ((unsigned short) value);
|
const unsigned short v = ByteOrder::swapIfBigEndian ((unsigned short) value);
|
||||||
write (&v, 2);
|
return write (&v, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeShortBigEndian (short value)
|
bool OutputStream::writeShortBigEndian (short value)
|
||||||
{
|
{
|
||||||
const unsigned short v = ByteOrder::swapIfLittleEndian ((unsigned short) value);
|
const unsigned short v = ByteOrder::swapIfLittleEndian ((unsigned short) value);
|
||||||
write (&v, 2);
|
return write (&v, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeInt (int value)
|
bool OutputStream::writeInt (int value)
|
||||||
{
|
{
|
||||||
const unsigned int v = ByteOrder::swapIfBigEndian ((unsigned int) value);
|
const unsigned int v = ByteOrder::swapIfBigEndian ((unsigned int) value);
|
||||||
write (&v, 4);
|
return write (&v, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeIntBigEndian (int value)
|
bool OutputStream::writeIntBigEndian (int value)
|
||||||
{
|
{
|
||||||
const unsigned int v = ByteOrder::swapIfLittleEndian ((unsigned int) value);
|
const unsigned int v = ByteOrder::swapIfLittleEndian ((unsigned int) value);
|
||||||
write (&v, 4);
|
return write (&v, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeCompressedInt (int value)
|
bool OutputStream::writeCompressedInt (int value)
|
||||||
{
|
{
|
||||||
unsigned int un = (value < 0) ? (unsigned int) -value
|
unsigned int un = (value < 0) ? (unsigned int) -value
|
||||||
: (unsigned int) value;
|
: (unsigned int) value;
|
||||||
@@ -121,60 +124,60 @@ void OutputStream::writeCompressedInt (int value)
|
|||||||
if (value < 0)
|
if (value < 0)
|
||||||
data[0] |= 0x80;
|
data[0] |= 0x80;
|
||||||
|
|
||||||
write (data, num + 1);
|
return write (data, num + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeInt64 (int64 value)
|
bool OutputStream::writeInt64 (int64 value)
|
||||||
{
|
{
|
||||||
const uint64 v = ByteOrder::swapIfBigEndian ((uint64) value);
|
const uint64 v = ByteOrder::swapIfBigEndian ((uint64) value);
|
||||||
write (&v, 8);
|
return write (&v, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeInt64BigEndian (int64 value)
|
bool OutputStream::writeInt64BigEndian (int64 value)
|
||||||
{
|
{
|
||||||
const uint64 v = ByteOrder::swapIfLittleEndian ((uint64) value);
|
const uint64 v = ByteOrder::swapIfLittleEndian ((uint64) value);
|
||||||
write (&v, 8);
|
return write (&v, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeFloat (float value)
|
bool OutputStream::writeFloat (float value)
|
||||||
{
|
{
|
||||||
union { int asInt; float asFloat; } n;
|
union { int asInt; float asFloat; } n;
|
||||||
n.asFloat = value;
|
n.asFloat = value;
|
||||||
writeInt (n.asInt);
|
return writeInt (n.asInt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeFloatBigEndian (float value)
|
bool OutputStream::writeFloatBigEndian (float value)
|
||||||
{
|
{
|
||||||
union { int asInt; float asFloat; } n;
|
union { int asInt; float asFloat; } n;
|
||||||
n.asFloat = value;
|
n.asFloat = value;
|
||||||
writeIntBigEndian (n.asInt);
|
return writeIntBigEndian (n.asInt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeDouble (double value)
|
bool OutputStream::writeDouble (double value)
|
||||||
{
|
{
|
||||||
union { int64 asInt; double asDouble; } n;
|
union { int64 asInt; double asDouble; } n;
|
||||||
n.asDouble = value;
|
n.asDouble = value;
|
||||||
writeInt64 (n.asInt);
|
return writeInt64 (n.asInt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeDoubleBigEndian (double value)
|
bool OutputStream::writeDoubleBigEndian (double value)
|
||||||
{
|
{
|
||||||
union { int64 asInt; double asDouble; } n;
|
union { int64 asInt; double asDouble; } n;
|
||||||
n.asDouble = value;
|
n.asDouble = value;
|
||||||
writeInt64BigEndian (n.asInt);
|
return writeInt64BigEndian (n.asInt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeString (const String& text)
|
bool OutputStream::writeString (const String& text)
|
||||||
{
|
{
|
||||||
// (This avoids using toUTF8() to prevent the memory bloat that it would leave behind
|
// (This avoids using toUTF8() to prevent the memory bloat that it would leave behind
|
||||||
// if lots of large, persistent strings were to be written to streams).
|
// if lots of large, persistent strings were to be written to streams).
|
||||||
const size_t numBytes = text.getNumBytesAsUTF8() + 1;
|
const size_t numBytes = text.getNumBytesAsUTF8() + 1;
|
||||||
HeapBlock<char> temp (numBytes);
|
HeapBlock<char> temp (numBytes);
|
||||||
text.copyToUTF8 (temp, numBytes);
|
text.copyToUTF8 (temp, numBytes);
|
||||||
write (temp, numBytes);
|
return write (temp, numBytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputStream::writeText (const String& text, const bool asUTF16,
|
bool OutputStream::writeText (const String& text, const bool asUTF16,
|
||||||
const bool writeUTF16ByteOrderMark)
|
const bool writeUTF16ByteOrderMark)
|
||||||
{
|
{
|
||||||
if (asUTF16)
|
if (asUTF16)
|
||||||
@@ -196,7 +199,9 @@ void OutputStream::writeText (const String& text, const bool asUTF16,
|
|||||||
writeShort ((short) '\r');
|
writeShort ((short) '\r');
|
||||||
|
|
||||||
lastCharWasReturn = (c == L'\r');
|
lastCharWasReturn = (c == L'\r');
|
||||||
writeShort ((short) c);
|
|
||||||
|
if (! writeShort ((short) c))
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -209,9 +214,12 @@ void OutputStream::writeText (const String& text, const bool asUTF16,
|
|||||||
if (*t == '\n')
|
if (*t == '\n')
|
||||||
{
|
{
|
||||||
if (t > src)
|
if (t > src)
|
||||||
write (src, (int) (t - src));
|
if (! write (src, (int) (t - src)))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (! write ("\r\n", 2))
|
||||||
|
return false;
|
||||||
|
|
||||||
write ("\r\n", 2);
|
|
||||||
src = t + 1;
|
src = t + 1;
|
||||||
}
|
}
|
||||||
else if (*t == '\r')
|
else if (*t == '\r')
|
||||||
@@ -222,7 +230,8 @@ void OutputStream::writeText (const String& text, const bool asUTF16,
|
|||||||
else if (*t == 0)
|
else if (*t == 0)
|
||||||
{
|
{
|
||||||
if (t > src)
|
if (t > src)
|
||||||
write (src, (int) (t - src));
|
if (! write (src, (int) (t - src)))
|
||||||
|
return false;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -230,6 +239,8 @@ void OutputStream::writeText (const String& text, const bool asUTF16,
|
|||||||
++t;
|
++t;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int OutputStream::writeFromInputStream (InputStream& source, int64 numBytesToWrite)
|
int OutputStream::writeFromInputStream (InputStream& source, int64 numBytesToWrite)
|
||||||
|
|||||||
@@ -40,9 +40,7 @@ class File;
|
|||||||
|
|
||||||
@see InputStream, MemoryOutputStream, FileOutputStream
|
@see InputStream, MemoryOutputStream, FileOutputStream
|
||||||
*/
|
*/
|
||||||
class BEAST_API OutputStream
|
class BEAST_API OutputStream
|
||||||
: public Uncopyable
|
|
||||||
, LeakChecked <OutputStream>
|
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
@@ -92,75 +90,88 @@ public:
|
|||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/** Writes a single byte to the stream.
|
/** Writes a single byte to the stream.
|
||||||
|
@returns false if the write operation fails for some reason
|
||||||
@see InputStream::readByte
|
@see InputStream::readByte
|
||||||
*/
|
*/
|
||||||
virtual void writeByte (char byte);
|
virtual bool writeByte (char byte);
|
||||||
|
|
||||||
/** Writes a boolean to the stream as a single byte.
|
/** 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.
|
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 InputStream::readBool
|
@see InputStream::readBool
|
||||||
*/
|
*/
|
||||||
virtual void writeBool (bool boolValue);
|
virtual bool writeBool (bool boolValue);
|
||||||
|
|
||||||
/** Writes a 16-bit integer to the stream in a little-endian byte order.
|
/** 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).
|
This will write two bytes to the stream: (value & 0xff), then (value >> 8).
|
||||||
|
@returns false if the write operation fails for some reason
|
||||||
@see InputStream::readShort
|
@see InputStream::readShort
|
||||||
*/
|
*/
|
||||||
virtual void writeShort (short value);
|
virtual bool writeShort (short value);
|
||||||
|
|
||||||
/** Writes a 16-bit integer to the stream in a big-endian byte order.
|
/** 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).
|
This will write two bytes to the stream: (value >> 8), then (value & 0xff).
|
||||||
|
@returns false if the write operation fails for some reason
|
||||||
@see InputStream::readShortBigEndian
|
@see InputStream::readShortBigEndian
|
||||||
*/
|
*/
|
||||||
virtual void writeShortBigEndian (short value);
|
virtual bool writeShortBigEndian (short value);
|
||||||
|
|
||||||
/** Writes a 32-bit integer to the stream in a little-endian byte order.
|
/** 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 InputStream::readInt
|
@see InputStream::readInt
|
||||||
*/
|
*/
|
||||||
virtual void writeInt (int value);
|
virtual bool writeInt (int value);
|
||||||
|
|
||||||
/** Writes a 32-bit integer to the stream in a big-endian byte order.
|
/** 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 InputStream::readIntBigEndian
|
@see InputStream::readIntBigEndian
|
||||||
*/
|
*/
|
||||||
virtual void writeIntBigEndian (int value);
|
virtual bool writeIntBigEndian (int value);
|
||||||
|
|
||||||
/** Writes a 64-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.
|
||||||
|
@returns false if the write operation fails for some reason
|
||||||
@see InputStream::readInt64
|
@see InputStream::readInt64
|
||||||
*/
|
*/
|
||||||
virtual void writeInt64 (int64 value);
|
virtual bool writeInt64 (int64 value);
|
||||||
|
|
||||||
/** Writes a 64-bit integer to the stream in a big-endian byte order.
|
/** 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 InputStream::readInt64BigEndian
|
@see InputStream::readInt64BigEndian
|
||||||
*/
|
*/
|
||||||
virtual void writeInt64BigEndian (int64 value);
|
virtual bool writeInt64BigEndian (int64 value);
|
||||||
|
|
||||||
/** Writes a 32-bit floating point value to the stream in a binary format.
|
/** 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.
|
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 InputStream::readFloat
|
@see InputStream::readFloat
|
||||||
*/
|
*/
|
||||||
virtual void writeFloat (float value);
|
virtual bool writeFloat (float value);
|
||||||
|
|
||||||
/** Writes a 32-bit floating point value to the stream in a binary format.
|
/** 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.
|
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 InputStream::readFloatBigEndian
|
@see InputStream::readFloatBigEndian
|
||||||
*/
|
*/
|
||||||
virtual void writeFloatBigEndian (float value);
|
virtual bool writeFloatBigEndian (float value);
|
||||||
|
|
||||||
/** Writes a 64-bit floating point value to the stream in a binary format.
|
/** 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.
|
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 InputStream::readDouble
|
@see InputStream::readDouble
|
||||||
*/
|
*/
|
||||||
virtual void writeDouble (double value);
|
virtual bool writeDouble (double value);
|
||||||
|
|
||||||
/** Writes a 64-bit floating point value to the stream in a binary format.
|
/** 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.
|
The eight raw bytes of the double value are written out as a big-endian 64-bit int.
|
||||||
@see InputStream::readDoubleBigEndian
|
@see InputStream::readDoubleBigEndian
|
||||||
|
@returns false if the write operation fails for some reason
|
||||||
*/
|
*/
|
||||||
virtual void writeDoubleBigEndian (double value);
|
virtual bool writeDoubleBigEndian (double value);
|
||||||
|
|
||||||
/** Writes a byte to the output stream a given number of times. */
|
/** Writes a byte to the output stream a given number of times.
|
||||||
virtual void writeRepeatedByte (uint8 byte, size_t numTimesToRepeat);
|
@returns false if the write operation fails for some reason
|
||||||
|
*/
|
||||||
|
virtual bool writeRepeatedByte (uint8 byte, size_t numTimesToRepeat);
|
||||||
|
|
||||||
/** Writes a condensed binary encoding of a 32-bit integer.
|
/** Writes a condensed binary encoding of a 32-bit integer.
|
||||||
|
|
||||||
@@ -170,9 +181,10 @@ public:
|
|||||||
|
|
||||||
The format used is: number of significant bytes + up to 4 bytes in little-endian order.
|
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 InputStream::readCompressedInt
|
@see InputStream::readCompressedInt
|
||||||
*/
|
*/
|
||||||
virtual void writeCompressedInt (int value);
|
virtual bool writeCompressedInt (int value);
|
||||||
|
|
||||||
/** Stores a string in the stream in a binary format.
|
/** Stores a string in the stream in a binary format.
|
||||||
|
|
||||||
@@ -184,9 +196,10 @@ public:
|
|||||||
|
|
||||||
For appending text to a file, instead use writeText, or operator<<
|
For appending text to a file, instead use writeText, or operator<<
|
||||||
|
|
||||||
|
@returns false if the write operation fails for some reason
|
||||||
@see InputStream::readString, writeText, operator<<
|
@see InputStream::readString, writeText, operator<<
|
||||||
*/
|
*/
|
||||||
virtual void writeString (const String& text);
|
virtual bool writeString (const String& text);
|
||||||
|
|
||||||
/** Writes a string of text to the stream.
|
/** Writes a string of text to the stream.
|
||||||
|
|
||||||
@@ -195,8 +208,9 @@ public:
|
|||||||
of a file).
|
of a file).
|
||||||
|
|
||||||
The method also replaces '\\n' characters in the text with '\\r\\n'.
|
The method also replaces '\\n' characters in the text with '\\r\\n'.
|
||||||
|
@returns false if the write operation fails for some reason
|
||||||
*/
|
*/
|
||||||
virtual void writeText (const String& text,
|
virtual bool writeText (const String& text,
|
||||||
bool asUTF16,
|
bool asUTF16,
|
||||||
bool writeUTF16ByteOrderMark);
|
bool writeUTF16ByteOrderMark);
|
||||||
|
|
||||||
@@ -206,6 +220,7 @@ public:
|
|||||||
@param maxNumBytesToWrite the number of bytes to read from the stream (if this is
|
@param maxNumBytesToWrite the number of bytes to read from the stream (if this is
|
||||||
less than zero, it will keep reading until the input
|
less than zero, it will keep reading until the input
|
||||||
is exhausted)
|
is exhausted)
|
||||||
|
@returns the number of bytes written
|
||||||
*/
|
*/
|
||||||
virtual int writeFromInputStream (InputStream& source, int64 maxNumBytesToWrite);
|
virtual int writeFromInputStream (InputStream& source, int64 maxNumBytesToWrite);
|
||||||
|
|
||||||
@@ -258,5 +273,4 @@ BEAST_API OutputStream& BEAST_CALLTYPE operator<< (OutputStream& stream, InputSt
|
|||||||
*/
|
*/
|
||||||
BEAST_API OutputStream& BEAST_CALLTYPE operator<< (OutputStream& stream, const NewLine&);
|
BEAST_API OutputStream& BEAST_CALLTYPE operator<< (OutputStream& stream, const NewLine&);
|
||||||
|
|
||||||
|
#endif
|
||||||
#endif // BEAST_OUTPUTSTREAM_BEASTHEADER
|
|
||||||
|
|||||||
@@ -80,9 +80,9 @@ public:
|
|||||||
*/
|
*/
|
||||||
void flush();
|
void flush();
|
||||||
|
|
||||||
int64 getPosition();
|
int64 getPosition() override;
|
||||||
bool setPosition (int64 newPosition);
|
bool setPosition (int64) override;
|
||||||
bool write (const void* destBuffer, size_t howMany);
|
bool write (const void*, size_t) override;
|
||||||
|
|
||||||
/** These are preset values that can be used for the constructor's windowBits paramter.
|
/** These are preset values that can be used for the constructor's windowBits paramter.
|
||||||
For more info about this, see the zlib documentation for its windowBits parameter.
|
For more info about this, see the zlib documentation for its windowBits parameter.
|
||||||
|
|||||||
Reference in New Issue
Block a user