| Index: url/url_canon_stdstring.cc
|
| diff --git a/url/url_canon_stdstring.cc b/url/url_canon_stdstring.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ad81a2ff09ac2dd8fc84ad657058a1bee10976d1
|
| --- /dev/null
|
| +++ b/url/url_canon_stdstring.cc
|
| @@ -0,0 +1,32 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "url/url_canon_stdstring.h"
|
| +
|
| +namespace url_canon {
|
| +
|
| +StdStringCanonOutput::StdStringCanonOutput(std::string* str)
|
| + : CanonOutput(), str_(str) {
|
| + cur_len_ = static_cast<int>(str_->size()); // Append to existing data.
|
| + str_->resize(str_->capacity());
|
| + buffer_ = str_->empty() ? NULL : &(*str_)[0];
|
| + buffer_len_ = static_cast<int>(str_->size());
|
| +}
|
| +
|
| +StdStringCanonOutput::~StdStringCanonOutput() {
|
| + // Nothing to do, we don't own the string.
|
| +}
|
| +
|
| +void StdStringCanonOutput::Complete() {
|
| + str_->resize(cur_len_);
|
| + buffer_len_ = cur_len_;
|
| +}
|
| +
|
| +void StdStringCanonOutput::Resize(int sz) {
|
| + str_->resize(sz);
|
| + buffer_ = str_->empty() ? NULL : &(*str_)[0];
|
| + buffer_len_ = sz;
|
| +}
|
| +
|
| +} // namespace url_canon
|
|
|