blob: 2a5dbb7dfc7050d27fd4d3ccfda63d6c45f67c14 [file] [log] [blame]
Dan Sinclair048afc62018-05-01 17:01:54 +00001// Copyright 2018 PDFium 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 "testing/string_write_stream.h"
Tom Sepez25f33d02021-01-29 01:58:51 +00006
Dan Sinclair048afc62018-05-01 17:01:54 +00007#include "core/fxcrt/bytestring.h"
8#include "core/fxcrt/widestring.h"
Tom Sepez25f33d02021-01-29 01:58:51 +00009#include "third_party/base/check.h"
Dan Sinclair048afc62018-05-01 17:01:54 +000010
11StringWriteStream::StringWriteStream() = default;
12
13StringWriteStream::~StringWriteStream() = default;
14
15FX_FILESIZE StringWriteStream::GetSize() {
16 return stream_.tellp();
17}
18
19bool StringWriteStream::Flush() {
20 return true;
21}
22
Lei Zhang59f76232018-11-15 20:22:59 +000023bool StringWriteStream::WriteBlockAtOffset(const void* pData,
24 FX_FILESIZE offset,
25 size_t size) {
Tom Sepez25f33d02021-01-29 01:58:51 +000026 DCHECK(offset == 0);
Dan Sinclair048afc62018-05-01 17:01:54 +000027 stream_.write(static_cast<const char*>(pData), size);
28 return true;
29}
30
Tom Sepezc839ac72018-12-14 20:34:11 +000031bool StringWriteStream::WriteString(ByteStringView str) {
Dan Sinclair048afc62018-05-01 17:01:54 +000032 stream_.write(str.unterminated_c_str(), str.GetLength());
33 return true;
34}