Exemple #1
0
REBufferNoCopy::REBufferNoCopy(const REBuffer & buffer) : REBuffer()
{
	_allocator = kREAllocatorNULL;

	const void * b = buffer.buffer();
	const RESizeT s = buffer.size();
	if (b && s)
	{
		_buff = const_cast<void *>(b);
		if (_buff)
		{
			_size = s;
		}
	}
}
Exemple #2
0
/// Constructs data from buffer.
/// buffer will be copyed.
REData::REData(const REBuffer & buffer) : 
	_fileOffset(0)
{
	const REUInt32 s = buffer.size();
	if (s > 0) 
	{
		REPtr<REBuffer> b(new REBuffer(buffer.buffer(), s));
		if (b.isNotEmpty()) 
		{
			if (b->size() == s) 
			{
				_buffer = b;
			}
		}
	}
}
REBOOL REBufferObject::isEqual(REObject * anotherObject)
{
    if (anotherObject)
    {
        if (REObject::isEqual(anotherObject))
        {
            return true;
        }

        REBuffer * buff = dynamic_cast<REBuffer *>(anotherObject);
        if (buff)
        {
            if (buff->size() == this->size())
            {
                return (memcmp(buff->buffer(), this->buffer(), this->size()) == 0);
            }
        }
    }
    return false;
}