diff options
author | joaoe@opera.com <joaoe@opera.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-22 01:49:35 +0000 |
---|---|---|
committer | joaoe@opera.com <joaoe@opera.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-22 01:49:35 +0000 |
commit | 4088783c8eeb9ccebc4cd6024ea3ba9316b37bd4 (patch) | |
tree | f86c7528f77eb1fd444aa135a79ca7b4b0d1b90e /base/memory/ref_counted_memory.h | |
parent | b40f9eec3f745917743474facfe049fc31fda2ce (diff) | |
download | chromium_src-4088783c8eeb9ccebc4cd6024ea3ba9316b37bd4.zip chromium_src-4088783c8eeb9ccebc4cd6024ea3ba9316b37bd4.tar.gz chromium_src-4088783c8eeb9ccebc4cd6024ea3ba9316b37bd4.tar.bz2 |
Added RefCountedMallocedMemory
Which takes ownership over a chunk of memory allocated with malloc or calloc
and must then be freed using free().
Review URL: https://codereview.chromium.org/78603002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236675 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/memory/ref_counted_memory.h')
-rw-r--r-- | base/memory/ref_counted_memory.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/base/memory/ref_counted_memory.h b/base/memory/ref_counted_memory.h index fd5e8a0..d2987c5 100644 --- a/base/memory/ref_counted_memory.h +++ b/base/memory/ref_counted_memory.h @@ -113,6 +113,26 @@ class BASE_EXPORT RefCountedString : public RefCountedMemory { DISALLOW_COPY_AND_ASSIGN(RefCountedString); }; +// An implementation of RefCountedMemory that holds a chunk of memory +// previously allocated with malloc or calloc, and that therefore must be freed +// using free(). +class BASE_EXPORT RefCountedMallocedMemory : public base::RefCountedMemory { + public: + RefCountedMallocedMemory(void* data, size_t length); + + // Overridden from RefCountedMemory: + virtual const unsigned char* front() const OVERRIDE; + virtual size_t size() const OVERRIDE; + + private: + virtual ~RefCountedMallocedMemory(); + + unsigned char* data_; + size_t length_; + + DISALLOW_COPY_AND_ASSIGN(RefCountedMallocedMemory); +}; + } // namespace base #endif // BASE_MEMORY_REF_COUNTED_MEMORY_H_ |