Home | History | Annotate | Download | only in memory
      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 
      7 RefCountedMemory::RefCountedMemory() {
      8 }
      9 
     10 RefCountedMemory::~RefCountedMemory() {
     11 }
     12 
     13 const unsigned char* RefCountedStaticMemory::front() const {
     14   return data_;
     15 }
     16 
     17 size_t RefCountedStaticMemory::size() const {
     18   return length_;
     19 }
     20 
     21 RefCountedBytes::RefCountedBytes() {
     22 }
     23 
     24 RefCountedBytes::RefCountedBytes(const std::vector<unsigned char>& initializer)
     25     : data(initializer) {
     26 }
     27 
     28 RefCountedBytes* 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 
     35 const 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 
     41 size_t RefCountedBytes::size() const {
     42   return data.size();
     43 }
     44 
     45 RefCountedBytes::~RefCountedBytes() {
     46 }
     47