Add raw_ostream::write_hex

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77614 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-07-30 18:21:23 +00:00
parent bd17a295c1
commit 48018e08f0
2 changed files with 10 additions and 4 deletions

View File

@ -198,6 +198,9 @@ public:
return *this;
}
/// write_hex - Output \arg N in hexadecimal, without any prefix or padding.
raw_ostream &write_hex(unsigned long long N);
raw_ostream &write(unsigned char C);
raw_ostream &write(const char *Ptr, size_t Size);

View File

@ -113,10 +113,7 @@ raw_ostream &raw_ostream::operator<<(long long N) {
return this->operator<<(static_cast<unsigned long long>(N));
}
raw_ostream &raw_ostream::operator<<(const void *P) {
uintptr_t N = (uintptr_t) P;
*this << '0' << 'x';
raw_ostream &raw_ostream::write_hex(unsigned long long N) {
// Zero is a special case.
if (N == 0)
return *this << '0';
@ -134,6 +131,12 @@ raw_ostream &raw_ostream::operator<<(const void *P) {
return write(CurPtr, EndPtr-CurPtr);
}
raw_ostream &raw_ostream::operator<<(const void *P) {
*this << '0' << 'x';
return write_hex((uintptr_t) P);
}
void raw_ostream::flush_nonempty() {
assert(OutBufCur > OutBufStart && "Invalid call to flush_nonempty.");
write_impl(OutBufStart, OutBufCur - OutBufStart);