Buffer::Buffer(char *c_string) : bufferBase(0) , bufferSize(0) { // copy, including terminating null character this->fromMemory(MemoryFrame(c_string, strlen(c_string)+1)); }
//----------------------- SUB FRAME BY LIMITS ------------------------ MemoryFrame MemoryFrame::getSubFrameByLimits(int from, int to) { from = _limit(from, 0, this->frameSize); to = _limit(to, from, this->frameSize); return MemoryFrame( (void*)((int)this->frameBase + from), to - from); }
//----------------------- SUB FRAME BY SIZE -------------------------- MemoryFrame MemoryFrame::getSubFrame(int from, int size) { from = _limit(from, 0, this->frameSize); size = _limit(size, 0, this->frameSize-from); return MemoryFrame( (void*)((int)this->frameBase + from), size); }
//----------------------- BOUNDARY ----------------------------------- MemoryFrame SharedMemory::getMemory() const { return MemoryFrame(this->bufferBase, this->bufferSize); }
MemoryFrame Buffer::getMemory() { return MemoryFrame(this->bufferBase, this->bufferSize); }