1e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao//===--- raw_os_ostream.cpp - Implement the raw_os_ostream class ----------===// 2e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// 3e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// The LLVM Compiler Infrastructure 4e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// 5e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// This file is distributed under the University of Illinois Open Source 6e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// License. See LICENSE.TXT for details. 7e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// 8e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao//===----------------------------------------------------------------------===// 9e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// 10e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// This implements support adapting raw_ostream to std::ostream. 11e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// 12e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao//===----------------------------------------------------------------------===// 13e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao 14e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#include "llvm/Support/raw_os_ostream.h" 15e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#include <ostream> 16e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaousing namespace llvm; 17e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao 18e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao//===----------------------------------------------------------------------===// 19e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao// raw_os_ostream 20e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao//===----------------------------------------------------------------------===// 21e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao 22e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaoraw_os_ostream::~raw_os_ostream() { 23e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao flush(); 24e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao} 25e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao 26e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaovoid raw_os_ostream::write_impl(const char *Ptr, size_t Size) { 27e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao OS.write(Ptr, Size); 28e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao} 29e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao 30e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaouint64_t raw_os_ostream::current_pos() const { return OS.tellp(); } 31