diff options
Diffstat (limited to 'src/ios_base.cpp')
-rw-r--r-- | src/ios_base.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/ios_base.cpp b/src/ios_base.cpp index e933243..04341e7 100644 --- a/src/ios_base.cpp +++ b/src/ios_base.cpp @@ -45,10 +45,33 @@ bool ios_base::Init::sDone = false; // Implementation of the ios_base, common stuff for all the streams. ios_base::ios_base() - : mPrecision(6), mWidth(0) {} + : mFlags(skipws | dec), mPrecision(6), mWidth(0) {} ios_base::~ios_base() {} +ios_base::fmtflags ios_base::flags(fmtflags flags) { + fmtflags prev = mFlags; + mFlags = flags; + return prev; +} + +ios_base::fmtflags ios_base::setf(fmtflags flags) { + fmtflags prev = mFlags; + mFlags = flags; + return prev; +} + +ios_base::fmtflags ios_base::setf(fmtflags flags, fmtflags mask) { + fmtflags prev = mFlags; + mFlags &= ~mask; + mFlags |= (flags & mask); + return prev; +} + +void ios_base::unsetf(fmtflags mask) { + mFlags &= ~mask; +} + streamsize ios_base::precision(streamsize precision) { const streamsize prev = mPrecision; if (precision >= 0) { // Not sure what a negative precision would mean. |