diff options
Diffstat (limited to 'base/memory/ref_counted_memory.cc')
-rw-r--r-- | base/memory/ref_counted_memory.cc | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/base/memory/ref_counted_memory.cc b/base/memory/ref_counted_memory.cc index aa16031..7e034f9 100644 --- a/base/memory/ref_counted_memory.cc +++ b/base/memory/ref_counted_memory.cc @@ -4,6 +4,8 @@ #include "base/memory/ref_counted_memory.h" +#include "base/logging.h" + RefCountedMemory::RefCountedMemory() { } @@ -22,25 +24,49 @@ RefCountedBytes::RefCountedBytes() { } RefCountedBytes::RefCountedBytes(const std::vector<unsigned char>& initializer) - : data(initializer) { + : data_(initializer) { } RefCountedBytes* RefCountedBytes::TakeVector( std::vector<unsigned char>* to_destroy) { RefCountedBytes* bytes = new RefCountedBytes; - bytes->data.swap(*to_destroy); + 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; + return size() ? &data_.front() : NULL; } size_t RefCountedBytes::size() const { - return data.size(); + return data_.size(); } RefCountedBytes::~RefCountedBytes() { } + +namespace base { + +RefCountedString::RefCountedString() {} + +RefCountedString::~RefCountedString() {} + +// static +RefCountedString* RefCountedString::TakeString(std::string* to_destroy) { + RefCountedString* self = new RefCountedString; + to_destroy->swap(self->data_); + return self; +} + +const unsigned char* RefCountedString::front() const { + return data_.empty() ? NULL : + reinterpret_cast<const unsigned char*>(data_.data()); +} + +size_t RefCountedString::size() const { + return data_.size(); +} + +} // namespace base |