1//===--- raw_os_ostream.cpp - Implement the raw_os_ostream class ----------===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8// 9// This implements support adapting raw_ostream to std::ostream. 10// 11//===----------------------------------------------------------------------===// 12 13#include "llvm/Support/raw_os_ostream.h" 14#include <ostream> 15using namespace llvm; 16 17//===----------------------------------------------------------------------===// 18// raw_os_ostream 19//===----------------------------------------------------------------------===// 20 21raw_os_ostream::~raw_os_ostream() { 22 flush(); 23} 24 25void raw_os_ostream::write_impl(const char *Ptr, size_t Size) { 26 OS.write(Ptr, Size); 27} 28 29uint64_t raw_os_ostream::current_pos() const { return OS.tellp(); } 30