std::ios_base::setf(3)

NAME
std::ios_base::setf - std::ios_base::setf

Synopsis
   fmtflags setf( fmtflags flags ); (1)
   fmtflags setf( fmtflags flags, fmtflags mask ); (2)
   Sets the formatting flags to specified settings.
   1) Sets the formatting flags identified by flags. Effectively the following
   operation is performed fl = fl | flags where fl defines the state of internal
   formatting flags.
   2) Clears the formatting flags under mask, and sets the cleared flags to those
   specified by flags. Effectively the following operation is performed fl = (fl &
   ~mask) | (flags & mask) where fl defines the state of internal formatting flags.

Parameters
                 new formatting setting. mask defines which flags can be altered, flags
                 defines which flags of those to be altered should be set (others will
                 be cleared). Both parameters can be a combination of the following
                 constants:
                 Constant Explanation
                 dec use decimal base for integer I/O: see std::dec
                 oct use octal base for integer I/O: see std::oct
                 hex use hexadecimal base for integer I/O: see std::hex
                 basefield dec|oct|hex. Useful for masking operations
                 left left adjustment (adds fill characters to the right): see
                        std::left
                 right right adjustment (adds fill characters to the left): see
                        std::right
                 internal internal adjustment (adds fill characters to the internal
                        designated point): see std::internal
                 adjustfield left|right|internal. Useful for masking operations
                        generate floating point types using scientific notation,
                 scientific or hex notation if combined with fixed: see
   flags, mask - std::scientific
                 fixed generate floating point types using fixed notation, or hex
                        notation if combined with scientific: see std::fixed
                 floatfield scientific|fixed. Useful for masking operations
                 boolalpha insert and extract bool type in alphanumeric format: see
                        std::boolalpha
                        generate a prefix indicating the numeric base for integer
                 showbase output, require the currency indicator in monetary I/O:
                        see std::showbase
                 showpoint generate a decimal-point character unconditionally for
                        floating-point number output: see std::showpoint
                 showpos generate a + character for non-negative numeric output:
                        see std::showpos
                 skipws skip leading whitespace before certain input operations:
                        see std::skipws
                 unitbuf flush the output after each output operation: see
                        std::unitbuf
                        replace certain lowercase letters with their uppercase
                 uppercase equivalents in certain output operations: see
                        std::uppercase

Return value
   the formatting flags before the call to the function

Example
// Run this code
 #include <iostream>
 #include <iomanip>
 const double PI = 3.1415926535;
 int main()
 {
     const int WIDTH = 15;
     std::cout.setf(std::ios::right); //equivalent: cout << right;
     std::cout << std::setw(WIDTH/2) << "radius"
               << std::setw(WIDTH) << "circumference" << '\n';
     std::cout.setf(std::ios::fixed);
     for (double radius = 1; radius <= 6; radius += 0.5) {
         std::cout << std::setprecision(1) << std::setw(WIDTH/2)
                   << radius
                   << std::setprecision(2) << std::setw(WIDTH)
                   << (2 * PI * radius) << '\n';
     }
 }

Output:
  radius circumference
     1.0 6.28
     1.5 9.42
     2.0 12.57
     2.5 15.71
     3.0 18.85
     3.5 21.99
     4.0 25.13
     4.5 28.27
     5.0 31.42
     5.5 34.56
     6.0 37.70

See also
   flags manages format flags
          (public member function)
   unsetf clears specific format flag
          (public member function)