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