49 : internalCopy (
std::move (source))
52 dataSize = internalCopy.
getSize();
59 return (
int64) dataSize;
69 auto num =
jmin ((
size_t)
howMany, dataSize - position);
82 return position >= dataSize;
93 return (
int64) position;
114 void runTest()
override
116 beginTest (
"Basics");
117 Random r = getRandom();
124 MemoryOutputStream
mo;
134 MemoryInputStream
mi (
mo.getData(),
mo.getDataSize(),
false);
144 const MemoryBlock data (
"abcdefghijklmnopqrstuvwxyz", 26);
145 MemoryInputStream stream (data,
true);
149 expectEquals (stream.getPosition(), (
int64) 0);
150 expectEquals (stream.getTotalLength(), (
int64) data.getSize());
151 expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
152 expect (! stream.isExhausted());
162 expectEquals (stream.getNumBytesRemaining(), (
int64) (data.getSize() -
numBytesRead));
163 expect (stream.isExhausted() == (
numBytesRead == data.getSize()));
166 expectEquals (stream.getPosition(), (
int64)
data.getSize());
167 expectEquals (stream.getNumBytesRemaining(), (
int64) 0);
168 expect (stream.isExhausted());
174 stream.setPosition (0);
175 expectEquals (stream.getPosition(), (
int64) 0);
176 expectEquals (stream.getTotalLength(), (
int64)
data.getSize());
177 expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
178 expect (! stream.isExhausted());
194 expectEquals (stream.getPosition(), (
int64)
data.getSize());
195 expectEquals (stream.getNumBytesRemaining(), (
int64) 0);
196 expect (stream.isExhausted());
209 buffer[i] = (
juce_wchar) (1 + r.nextInt (0x10ffff - 1));
214 buffer[i] = (
juce_wchar) (1 + r.nextInt (0xff));
217 return CharPointer_UTF32 (buffer);
static bool canRepresent(juce_wchar character) noexcept
Returns true if the given unicode character can be represented in this encoding.
A class to hold a resizable block of raw data.
void * getData() noexcept
Returns a void pointer to the data.
size_t getSize() const noexcept
Returns the block's current allocated size, in bytes.
This is a base class for classes that perform a unit test.
wchar_t juce_wchar
A platform-independent 32-bit unicode character type.
constexpr Type jmin(Type a, Type b)
Returns the smaller of two values.
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Constrains a value to keep it within a given range.
Type * addBytesToPointer(Type *basePointer, IntegerType bytes) noexcept
A handy function which adds a number of bytes to any type of pointer and returns the result.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...
constexpr int numElementsInArray(Type(&)[N]) noexcept
Handy function for getting the number of elements in a simple const C array.
long long int64
A platform-independent 64-bit integer type.