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 RefCountedMemory()7RefCountedMemory::RefCountedMemory() { 8 } 9 ~RefCountedMemory()10RefCountedMemory::~RefCountedMemory() { 11 } 12 front() const13const unsigned char* RefCountedStaticMemory::front() const { 14 return data_; 15 } 16 size() const17size_t RefCountedStaticMemory::size() const { 18 return length_; 19 } 20 RefCountedBytes()21RefCountedBytes::RefCountedBytes() { 22 } 23 RefCountedBytes(const std::vector<unsigned char> & initializer)24RefCountedBytes::RefCountedBytes(const std::vector<unsigned char>& initializer) 25 : data(initializer) { 26 } 27 TakeVector(std::vector<unsigned char> * to_destroy)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 front() const35const 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 size() const41size_t RefCountedBytes::size() const { 42 return data.size(); 43 } 44 ~RefCountedBytes()45RefCountedBytes::~RefCountedBytes() { 46 } 47