Revert "raw_ostream: << operator for callables with raw_stream argument"
[oota-llvm.git] / include / llvm / Support / raw_ostream.h
index 38a96fa6ab745ff3802dd5435a0edd08543bbda4..e5cc40e7d6b22d99790b572b0302378150b99abf 100644 (file)
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/DataTypes.h"
-#include <functional>
 #include <system_error>
 
 namespace llvm {
 class format_object_base;
 class FormattedString;
 class FormattedNumber;
-class raw_ostream;
 template <typename T> class SmallVectorImpl;
 
 namespace sys {
@@ -33,15 +31,6 @@ enum OpenFlags : unsigned;
 }
 }
 
-/// Type of function that prints to raw_ostream.
-///
-/// Typical usage:
-///     Printable PrintFoo(Foo x) {
-///       return [] (raw_ostream &os) { os << /* ... */; };
-///     }
-///     os << "Foo: " << PrintFoo(foo) << '\n';
-typedef std::function<void(raw_ostream&)> Printable;
-
 /// This class implements an extremely fast bulk output stream that can *only*
 /// output to a stream.  It does not support seeking, reopening, rewinding, line
 /// buffered disciplines etc. It is a simple buffer that outputs
@@ -214,9 +203,6 @@ public:
 
   raw_ostream &operator<<(double N);
 
-  /// IO manipulator, \see Printable.
-  raw_ostream &operator<<(Printable P);
-
   /// Output \p N in hexadecimal, without any prefix or padding.
   raw_ostream &write_hex(unsigned long long N);