// File:       iomanip.c++
// Version:    1.00
// Author:     (c) Miles Sabin, 1997
// Purpose:    approximation to ANSI C++ iomanip header

// Change log:
//  12/02/97   v. 1.00

#include "iomanip.h"


// Implementation of manip fns

ios_base& __manipfn_resetiosflags(ios_base& str, ios_base::fmtflags mask)
{
  str.setf(ios_base::fmtflags(0), mask);
  return str;
}

ios_base& __manipfn_setiosflags(ios_base& str, ios_base::fmtflags mask)
{
  str.setf(mask);
  return str;
}

ios_base& __manipfn_setbase(ios_base& str, int base)
{
  str.setf((base ==  8 ? ios_base::oct :
            base == 10 ? ios_base::dec :
            base == 16 ? ios_base::hex :
              ios_base::fmtflags(0)),
           ios_base::basefield);

  return str;
}

ios_base& __manipfn_setprecision(ios_base& str, int n)
{
  str.precision(n);
  return str;
}

ios_base& __manipfn_setw(ios_base& str, int n)
{
  str.width(n);
  return str;
}

basic_ios_char& __manipfn_setfill(basic_ios_char& str, int c)
{
  str.fill(c);
  return str;
}

