rockbox/utils/zenutils/libraries/pelib-0.9/pelib/buffer/InputBuffer.cpp
Maurus Cuelenaere 14c7f45cda Add zook's ZenUtils to SVN
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18010 a1c6a512-1295-4272-9138-f99709370657
2008-07-11 15:50:46 +00:00

58 lines
1.2 KiB
C++
Executable file

/*
* InputBuffer.cpp - Part of the PeLib library.
*
* Copyright (c) 2004 - 2005 Sebastian Porst (webmaster@the-interweb.com)
* All rights reserved.
*
* This software is licensed under the zlib/libpng License.
* For more details see http://www.opensource.org/licenses/zlib-license.php
* or the license information file (license.htm) in the root directory
* of PeLib.
*/
#include "InputBuffer.h"
namespace PeLib
{
unsigned long InputBuffer::get()
{
return ulIndex;
}
InputBuffer::InputBuffer(std::vector<unsigned char>& vBuffer) : m_vBuffer(vBuffer), ulIndex(0)
{
}
const unsigned char* InputBuffer::data() const
{
return &m_vBuffer[0];
}
unsigned long InputBuffer::size()
{
return static_cast<unsigned long>(m_vBuffer.size());
}
void InputBuffer::read(char* lpBuffer, unsigned long ulSize)
{
std::copy(&m_vBuffer[ulIndex], &m_vBuffer[ulIndex + ulSize], lpBuffer);
ulIndex += ulSize;
}
void InputBuffer::reset()
{
m_vBuffer.clear();
}
void InputBuffer::set(unsigned long ulIndex)
{
this->ulIndex = ulIndex;
}
void InputBuffer::setBuffer(std::vector<unsigned char>& vBuffer)
{
m_vBuffer = vBuffer;
ulIndex = 0;
}
}