mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
raw_ostream: Reduce FormattedStream's reliance on raw_ostream's implementation.
- Kill off begin(), end(), and iterator. It isn't clear what these mean. Instead provide getBufferStart(), which can be used with GetNumBytesInBuffer to the same effect. - Update ComputeColumn to take arguments for the buffer to scan, this simplifies the implementation of write_impl substantially. - This should also fix possible problems with the scanning pointer pointing outside of the current raw_ostream buffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79379 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -58,7 +58,7 @@ namespace llvm
|
||||
/// Scanned - This points to one past the last character in the
|
||||
/// buffer we've scanned.
|
||||
///
|
||||
iterator Scanned;
|
||||
const char *Scanned;
|
||||
|
||||
virtual void write_impl(const char *Ptr, size_t Size);
|
||||
|
||||
@ -70,10 +70,10 @@ namespace llvm
|
||||
return TheStream->tell() - TheStream->GetNumBytesInBuffer();
|
||||
}
|
||||
|
||||
/// ComputeColumn - Examine the current output and figure out
|
||||
/// which column we end up in after output.
|
||||
/// ComputeColumn - Examine the given output buffer and figure out which
|
||||
/// column we end up in after output.
|
||||
///
|
||||
void ComputeColumn();
|
||||
void ComputeColumn(const char *Ptr, size_t size);
|
||||
|
||||
public:
|
||||
/// formatted_raw_ostream - Open the specified file for
|
||||
@ -92,7 +92,7 @@ namespace llvm
|
||||
}
|
||||
explicit formatted_raw_ostream()
|
||||
: raw_ostream(), TheStream(0), DeleteStream(false), ColumnScanned(0) {
|
||||
Scanned = begin();
|
||||
Scanned = 0;
|
||||
}
|
||||
|
||||
~formatted_raw_ostream() {
|
||||
@ -116,7 +116,7 @@ namespace llvm
|
||||
SetUnbuffered();
|
||||
TheStream->SetUnbuffered();
|
||||
|
||||
Scanned = begin();
|
||||
Scanned = 0;
|
||||
}
|
||||
|
||||
/// PadToColumn - Align the output to some column number. If the current
|
||||
|
Reference in New Issue
Block a user