• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()7 RefCountedMemory::RefCountedMemory() {
8 }
9 
~RefCountedMemory()10 RefCountedMemory::~RefCountedMemory() {
11 }
12 
front() const13 const unsigned char* RefCountedStaticMemory::front() const {
14   return data_;
15 }
16 
size() const17 size_t RefCountedStaticMemory::size() const {
18   return length_;
19 }
20 
RefCountedBytes()21 RefCountedBytes::RefCountedBytes() {
22 }
23 
RefCountedBytes(const std::vector<unsigned char> & initializer)24 RefCountedBytes::RefCountedBytes(const std::vector<unsigned char>& initializer)
25     : data(initializer) {
26 }
27 
TakeVector(std::vector<unsigned char> * to_destroy)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 
front() const35 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 
size() const41 size_t RefCountedBytes::size() const {
42   return data.size();
43 }
44 
~RefCountedBytes()45 RefCountedBytes::~RefCountedBytes() {
46 }
47