#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 &buf() { return m_data; } void resize(int size) { m_data.resize(size); } private: std::vector m_data; }; typedef std::shared_ptr 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 FipMemoryPtr;