1d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao/* 2d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * Copyright 2011, The Android Open Source Project 3d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * 4d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * Licensed under the Apache License, Version 2.0 (the "License"); 5d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * you may not use this file except in compliance with the License. 6d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * You may obtain a copy of the License at 7d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * 8d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * http://www.apache.org/licenses/LICENSE-2.0 9d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * 10d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * Unless required by applicable law or agreed to in writing, software 11d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * distributed under the License is distributed on an "AS IS" BASIS, 12d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * See the License for the specific language governing permissions and 14d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao * limitations under the License. 15d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao */ 16d157c62dfa3c52833c4f6ec34dd178257e4ac9cfShih-wei Liao 177e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa#ifndef RAW_OSTREAM_H 187e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa#define RAW_OSTREAM_H 197e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa 207e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa#include <llvm/Support/raw_ostream.h> 217e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa#include <llvm/Support/Format.h> 227e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa 237e1f86b83570558bd1d512a055d4601cc9ceca6bTDYaextern llvm::raw_ostream &out(); 247e1f86b83570558bd1d512a055d4601cc9ceca6bTDYastruct MyFormat { 257e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa char *ptr; 267e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa}; 277e1f86b83570558bd1d512a055d4601cc9ceca6bTDYaextern MyFormat const fillformat(char const, // Fill character. 287e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa int const, // Fill Width. 297e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa char const * = "", // Format string. 307e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa ...); // Format variable. 317e1f86b83570558bd1d512a055d4601cc9ceca6bTDYaextern llvm::raw_ostream &operator<<(llvm::raw_ostream &, MyFormat const &); 327e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa 337e1f86b83570558bd1d512a055d4601cc9ceca6bTDYa#endif // RAW_OSTREAM_H 34