num_put man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

num_put(3C++)			       -			 num_put(3C++)

Standard C++ Library Copyright 1998, Rogue Wave Software, Inc.

NAME
       num_put

	- A numeric formatting facet for output.

SYNOPSIS
       #include <locale>
       template <class charT, class OutputIterator> class num_put;

DESCRIPTION
       The  num_put<charT,OutputIterator>_facet allows for formatted output of
       numbers. basic_ostream and all other output-oriented streams  use  this
       facet to implement formatted numeric output.

INTERFACE
       template <class charT, class OutputIterator =
 ostreambuf_iterator<charT> >
class num_put : public locale::facet {
public:
 typedef charT		  char_type;
 typedef OutputIterator	  iter_type;
 explicit num_put(size_t = 0);

 iter_type put(iter_type, ios_base&, char_type, bool)
	   const;
 iter_type put(iter_type, ios_base&, char_type, long)
	   const;
 iter_type put(iter_type, ios_base&, char_type,
	       unsigned long) const;
 iter_type put(iter_type, ios_base&, char_type,
	       double) const;
 iter_type put(iter_type, ios_base&, char_type,
	       long double) const;
 static locale::id id;

protected:
  ~num_put();  // virtual
 virtual iter_type do_put(iter_type, ios_base&, char_type,
			  bool) const;
 virtual iter_type do_put(iter_type, ios_base&, char_type,
			  long) const;
 virtual iter_type do_put(iter_type, ios_base&, char_type,
			  unsigned long) const;
 virtual iter_type do_put(iter_type, ios_base&, char_type,
			  double) const;
 virtual iter_type do_put(iter_type, ios_base&, char_type,
			  long double) const;
};

TYPES
       char_type

   Type of character upon which the facet is instantiated.

iter_type

   Type of iterator used to scan the character buffer.

CONSTRUCTORS
       explicit num_put(size_t refs = 0)

   Constructs  a num_put facet. If the refs argument is 0, then destruction of
   the object is delegated to the locale,  or  locales,	 containing  it.  This
   allows the user to ignore lifetime management issues. On the other hand, if
   refs is 1, then the object must be explicitly deleted; the locale does  not
   do  so.  In	this case, the object can be maintained across the lifetime of
   multiple locales.

DESTRUCTORS
       ~num_put();  // virtual and protected

   Destroys the facet.

FACET ID
       static locale::id id;

   Unique identifier for this type of facet.

PUBLIC MEMBER FUNCTIONS
       The public members of the num_put facet include an  interface  to  pro‐
       tected members. Each public member xxx has a corresponding virtual pro‐
       tected member do_xxx. All work is delegated to these protected members.
       For  instance, the long version of the public put function simply calls
       its protected cousin do_put.

       iter_type
       put(iter_type s, ios_base& io, char_type fill, bool v)
   const;
iter_type
put(iter_type s, ios_base& io, char_type fill, long v)
   const;
iter_type
put(iter_type s, ios_base& io, char_type fill,
   unsigned long v) const;
iter_type
put(iter_type s, ios_base& io, char_type fill, double v)
   const;
iter_type
put(iter_type s, ios_base& io, char_type fill,
   long double v) const;

   Each of the five overloads of the put function simply call the  correspond‐
   ing do_put function.

PROTECTED MEMBER FUNCTIONS
virtual iter_type
do_put(iter_type s, ios_base& io,
      char_type fill, bool v) const;
virtual iter_type
do_put(iter_type s, ios_base& io,
      char_type fill, long v) const;
virtual iter_type
do_put(iter_type s, ios_base& io,
      char_type fill,unsigned long) const;
virtual iter_type
do_put(iter_type s, ios_base& io,
      char_type fill, double v) const;
virtual iter_type
do_put(iter_type s, ios_base& io,
      char_type fill,long double v) const;

   The	five  overloads of the do_put member function all take a numeric value
   and output a formatted character string representing that value. The	 char‐
   acter string is output through the s argument to the function. The io argu‐
   ment is used to obtain formatting specifications,  and  the	fill  argument
   determines the character to use in padding.

EXAMPLE
//
// numput.cpp
//

#include <iostream>

int main ()
{
 using namespace std;

 typedef ostreambuf_iterator<char,char_traits<char> >
  iter_type;

 locale loc;
 bool bval = true;
 long lval = 422432L;
 unsigned long ulval = 12328889UL;
 double dval = 10933.8934;
 long double ldval = 100028933.8934;

  // Construct a ostreambuf_iterator on cout
 iter_type begin(cout);

  // Get a num_put facet reference
 const num_put<char,iter_type>& np =
#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 use_facet<num_put<char,iter_type> >(loc);
#else
 use_facet(loc,(num_put<char,iter_type>*)0);
#endif

  // Put out a bool
 cout << bval << " --> ";
 np.put(begin,cout,' ',bval);

  // Put out a long
 cout << endl << lval << " --> ";
 np.put(begin,cout,' ',lval);

  // Put out an unsigned long
 cout << endl << ulval << " --> ";
 np.put(begin,cout,' ',ulval);

  // Put out a double
 cout << endl << dval << " --> ";
 np.put(begin,cout,' ',dval);

  // Put out a long double
 cout << endl << ldval << " --> ";
 np.put(begin,cout,' ',ldval);

 cout <<  endl;

 return 0;
}

SEE ALSO
       locale, facets, num_get, numpunct, ctype

Rogue Wave Software		  02 Apr 1998			 num_put(3C++)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net