| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "base/memory/ref_counted_memory.h" |
| |
| RefCountedMemory::RefCountedMemory() { |
| } |
| |
| RefCountedMemory::~RefCountedMemory() { |
| } |
| |
| const unsigned char* RefCountedStaticMemory::front() const { |
| return data_; |
| } |
| |
| size_t RefCountedStaticMemory::size() const { |
| return length_; |
| } |
| |
| RefCountedBytes::RefCountedBytes() { |
| } |
| |
| RefCountedBytes::RefCountedBytes(const std::vector<unsigned char>& initializer) |
| : data(initializer) { |
| } |
| |
| RefCountedBytes* RefCountedBytes::TakeVector( |
| std::vector<unsigned char>* to_destroy) { |
| RefCountedBytes* bytes = new RefCountedBytes; |
| bytes->data.swap(*to_destroy); |
| return bytes; |
| } |
| |
| const unsigned char* RefCountedBytes::front() const { |
| // STL will assert if we do front() on an empty vector, but calling code |
| // expects a NULL. |
| return size() ? &data.front() : NULL; |
| } |
| |
| size_t RefCountedBytes::size() const { |
| return data.size(); |
| } |
| |
| RefCountedBytes::~RefCountedBytes() { |
| } |