The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

num_put (3)
  • >> num_put (3) ( Solaris man: Библиотечные вызовы )
  • 
                           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   protected   members.  Each  public  member  xxx  has  a
         corresponding virtual protected 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 corresponding 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 character string  is  output
            through  the  s argument to the function. The io argument
            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, numget, numpunct, ctype
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру