1// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "base/memory/ref_counted_memory.h" 6 7RefCountedMemory::RefCountedMemory() { 8} 9 10RefCountedMemory::~RefCountedMemory() { 11} 12 13const unsigned char* RefCountedStaticMemory::front() const { 14 return data_; 15} 16 17size_t RefCountedStaticMemory::size() const { 18 return length_; 19} 20 21RefCountedBytes::RefCountedBytes() { 22} 23 24RefCountedBytes::RefCountedBytes(const std::vector<unsigned char>& initializer) 25 : data(initializer) { 26} 27 28RefCountedBytes* RefCountedBytes::TakeVector( 29 std::vector<unsigned char>* to_destroy) { 30 RefCountedBytes* bytes = new RefCountedBytes; 31 bytes->data.swap(*to_destroy); 32 return bytes; 33} 34 35const unsigned char* RefCountedBytes::front() const { 36 // STL will assert if we do front() on an empty vector, but calling code 37 // expects a NULL. 38 return size() ? &data.front() : NULL; 39} 40 41size_t RefCountedBytes::size() const { 42 return data.size(); 43} 44 45RefCountedBytes::~RefCountedBytes() { 46} 47