62 lines
1.0 KiB
C++
62 lines
1.0 KiB
C++
#pragma once
|
|
#include "imemory.h"
|
|
|
|
class VectorMemroy : public IMemory
|
|
{
|
|
public:
|
|
virtual unsigned char *data()
|
|
{
|
|
return m_data.empty() ? nullptr : &m_data[0];
|
|
}
|
|
|
|
virtual size_t size()
|
|
{
|
|
return m_data.size();
|
|
}
|
|
|
|
std::vector<unsigned char> &buf()
|
|
{
|
|
return m_data;
|
|
}
|
|
|
|
void resize(int size)
|
|
{
|
|
m_data.resize(size);
|
|
}
|
|
|
|
private:
|
|
std::vector<unsigned char> m_data;
|
|
};
|
|
|
|
typedef std::shared_ptr<VectorMemroy> VectorMemroyPtr;
|
|
|
|
// class FipMemory : public IMemory
|
|
// {
|
|
// public:
|
|
// FipMemory(){}
|
|
// virtual unsigned char *data()
|
|
// {
|
|
// unsigned char *p;
|
|
// DWORD size;
|
|
// mio.acquire(&p, &size);
|
|
// return p;
|
|
// }
|
|
|
|
// virtual size_t size()
|
|
// {
|
|
// unsigned char *p;
|
|
// DWORD size;
|
|
// mio.acquire(&p, &size);
|
|
// return size;
|
|
// }
|
|
|
|
// fipMemoryIO &io()
|
|
// {
|
|
// return mio;
|
|
// }
|
|
|
|
// private:
|
|
// fipMemoryIO mio;
|
|
// };
|
|
|
|
// typedef std::shared_ptr<FipMemory> FipMemoryPtr;
|