The OpenNET Project / Index page

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

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

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

bitset (3)
  • >> bitset (3) ( Solaris man: Библиотечные вызовы )
  • 
                           Standard C++ Library
                 Copyright 1998, Rogue Wave Software, Inc.
    
    
    NAME
         bitset
    
          - A template class and related functions  for  storing  and
         manipulating fixed-size sequences of bits.
    
    
    
    SYNOPSIS
         #include <bitset>
         template <size_t N>
         class bitset ;
    
    
    
    DESCRIPTION
         bitset<size_t_N> is a class that describes objects that  can
         store  a  sequence  consisting of a fixed number of bits, N.
         Each bit represents either the value  zero  (reset)  or  one
         (set) and has a non-negative position pos.
    
    
    
    ERRORS AND EXCEPTIONS
         Bitset constructors and member functions may report the fol-
         lowing  three  types of errors - each associated with a dis-
         tinct exception:
    
    
    
         o    Invalid-argument error or invalid_argument() exception;
    
         o    Out-of-range error or out_of_range() exception;
    
         o    Overflow error or over-flow_error() exception;
    
    
         If exceptions are not supported on your compiler, you get an
         assertion failure instead of an exception.
    
    
    
    INTERFACE
         template <size_t N>
         class bitset {
    
         public:
    
         // bit reference:
    
          class reference {
           friend class bitset;
          public:
    
            ~reference();
           reference& operator= (bool);
           reference& operator= (const reference&);
           bool operator~() const;
           operator bool() const;
           reference& flip();
           };
    
    
         // Constructors
          bitset ();
          bitset (unsigned long);
          template<class charT, class traits, class Allocator>
          explicit bitset
                    (const basic_string<charT, traits, Allocator>,
                    typename basic_string<charT, traits,
                                          Allocator>::size_type=0,
                    typename basic_string<charT, traits,
                                          Allocator>::size_type=
                    basic_string<charT, traits, Allocator>::npos);
          bitset (const bitset<N>&);
          bitset<N>& operator= (const bitset<N>&);
    
         // Bitwise Operators and Bitwise Operator Assignment
           bitset<N>& operator&= (const bitset<N>&);
           bitset<N>& operator|= (const bitset<N>&);
           bitset<N>& operator^= (const bitset<N>&);
           bitset<N>& operator<<= (size_t);
           bitset<N>& operator>>= (size_t);
    
         // Set, Reset, Flip
           bitset<N>& set ();
           bitset<N>& set (size_t, int = 1);
           bitset<N>& reset ();
           bitset<N>& reset (size_t);
           bitset<N> operator~() const;
           bitset<N>& flip ();
           bitset<N>& flip (size_t);
    
         // element access
           reference operator[] (size_t);
           unsigned long to_ulong() const;
           template<class charT, class traits, class Allocator>
           basic_string<charT, traits, Allocator> to_string();
           size_t count() const;
           size_t size() const;
           bool operator== (const bitset<N>&) const;
           bool operator!= (const bitset<N>&) const;
           bool test (size_t) const;
           bool any() const;
           bool none() const;
           bitset<N> operator<< (size_t) const;
           bitset<N> operator>> (size_t) const;
    
         };
    
         // Non-member operators
         template <size_t N>
         bitset<N> operator& (const bitset<N>&, const bitset<N>&);
    
         template <size_t N>
         bitset<N> operator| (const bitset<N>&, const bitset<N>&);
    
         template <size_t N>
         bitset<N> operator^ (const bitset<N>&, const bitset<N>&);
    
         template <size_t N>
         istream& operator>> (istream&, bitset<N>&);
    
         template <size_t N>
         ostream& operator<< (ostream&, const bitset<N>&)
    
    
    
    CONSTRUCTORS
         bitset();
    
    
            Constructs an object of class bitset<N>, initializing all
            bit values to zero.
    
    
    
         bitset(unsigned long val);
    
    
            Constructs an object of class bitset<N>, initializing the
            first M bit values to the corresponding bits in val. M is
            the smaller of N and the value CHAR_BIT * sizeof(unsigned
            long).  If M < N, remaining bit positions are initialized
            to zero. Note: CHAR_BIT is defined in <climits>.
    
    
            template<class charT, class traits, class Allocator>
    
    
    
         explicit
    
         bitset (const basic_string<charT, traits, Allocator>,
                typename basic_string<charT, traits,
                                      Allocator>::size_type=0,
                typename basic_string<charT, traits,
                                      Allocator>::size_type=
                basic_string<charT, traits, Allocator>::npos);
    
    
    
            Determines the effective length rlen of the  initializing
            string  as  the  smaller  of  n and str.size() - pos. The
            function throws an invalid_argument exception if  any  of
            the rlen characters in str, beginning at position pos, is
            other than 0 or 1. Otherwise, the function constructs  an
            object  of  class bitset<N>, initializing the first M bit
            positions to values  determined  from  the  corresponding
            characters  in  the string str. M is the smaller of N and
            rlen. This constructor expects pos <= str.size(). If that
            is  not  true,  the  constructor  throws  an out_of_range
            exception.
    
    
    
         bitset(const bitset<N>& rhs);
    
    
            Creates a copy of rhs.
    
    
    
    ASSIGNMENT OPERATORS
         bitset<N>&
         operator=(const bitset<N>& rhs);
    
    
            Erases all bits in self, then inserts into self a copy of
            each bit in rhs. Returns a reference to *this.
    
    
    
    OPERATORS
         bool
         operator==(const bitset<N>& rhs) const;
    
    
            Returns true if the value of each bit in *this equals the
            value of each corresponding bit in rhs. Otherwise returns
            false.
    
    
    
         bool
         operator!=(const bitset<N>& rhs) const;
    
    
            Returns true if the value of any  bit  in  *this  is  not
            equal  to the value of the corresponding bit in rhs. Oth-
            erwise returns false.
    
    
    
         bitset<N>&
         operator&=(const bitset<N>& rhs);
    
    
            Clears each bit in *this for which the corresponding  bit
            in  rhs  is  clear  and  leaves all other bits unchanged.
            Returns *this.
    
    
    
         bitset<N>&
         operator|=(const bitset<N>& rhs);
    
    
            Sets each bit in *this for which the corresponding bit in
            rhs  is set, and leaves all other bits unchanged. Returns
            *this.
    
    
    
         bitset<N>&
         operator^=(const bitset<N>& rhs);
    
    
            Toggles each bit in *this for which the corresponding bit
            in  rhs  is  set,  and  leaves  all other bits unchanged.
            Returns *this.
    
    
    
         bitset<N>&
         operator<<=(size_t pos);
    
            Replaces each bit at position I with 0 if I < pos or with
            the  value  of  the  bit  at I - pos if I >= pos. Returns
            *this.
    
    
    
         bitset<N>&
         operator>>=(size_t pos);
    
    
            Replaces each bit at position I with 0 if pos >=  N-I  or
            with  the  value  of the bit at position I + pos if pos <
            N-I. Returns *this.
    
    
    
         bitset<N>&
         operator>>(size_t pos) const;
    
    
            Returns bitset<N>(*this) >>= pos.
    
    
    
         bitset<N>&
         operator<<(size_t pos) const;
    
    
            Returns bitset<N>(*this) <<= pos.
    
    
    
         bitset<N>
         operator~() const;
    
    
            Returns the bitset that is the logical complement of each
            bit in *this.
    
    
    
         bitset<N>
         operator&(const bitset<N>& lhs,
                  const bitset<N>& rhs);
    
    
            lhs gets logical AND of lhs with rhs.
    
    
    
         bitset<N>
         operator|(const bitset<N>& lhs,
                  const bitset<N>& rhs);
    
    
            lhs gets logical OR of lhs with rhs.
    
    
    
         bitset<N>
         operator^(const bitset<N>& lhs,
                  const bitset<N>& rhs);
    
    
            lhs gets logical XOR of lhs with rhs.
    
    
    
         template <size_t N>
         istream&
         operator>>(istream& is, bitset<N>& x);
    
    
            Extracts up to N characters (single-byte) from is. Stores
            these  characters  in  a  temporary  object  str  of type
            string, then evaluates the expression x = bitset<N>(str).
            Characters are extracted and stored until any of the fol-
            lowing occurs:
    
    
    
                 -    N characters have been extracted and stored
    
                 -    An end-of-file is reached on the input sequence
    
                 -    The next character is neither '0' nor  '1'.  In
                      this case, the character is not extracted
    
    
            Returns is.
    
    
    
         template <size_t N>
         ostream&
         operator<<(ostream& os, const bitset<N>& x);
    
    
            Returns os << x.to_string()
    
    
    
    MEMBER FUNCTIONS
         bool
         any() const;
    
    
            Returns true if  any  bit  in  *this  is  set.  Otherwise
            returns false.
    
    
    
         size_t
         count() const;
    
    
            Returns a count of the number of bits set in *this.
    
    
    
         bitset<N>&
         flip();
    
    
            Flips all bits in *this, and returns *this.
    
    
    
         bitset<N>&
         flip(size_t pos);
    
    
            Flips the bit at position pos in *this and returns *this.
            Throws   an   out_of_range  exception  if  pos  does  not
            correspond to a valid bit position.
    
    
    
         bool
         none() const;
    
    
            Returns true if no  bit  in  *this  is  set.    Otherwise
            returns false.
    
    
    
         bitset<N>&
         reset();
    
    
            Resets all bits in *this, and returns *this.
    
    
         bitset<N>&
         reset(size_t pos);
    
    
            Resets the bit  at  position  pos  in  *this.  Throws  an
            out_of_range  exception  if  pos does not correspond to a
            valid bit position.
    
    
    
         bitset<N>&
         set();
    
    
            Sets all bits in *this, and returns *this.
    
    
    
         bitset<N>&
         set(size_t pos, int val = 1);
    
    
            Stores a new value in the bits at position pos in  *this.
            If  val is nonzero, the stored value is one, otherwise it
            is zero. Throws an out_of_range exception if pos does not
            correspond to a valid bit position.
    
    
    
         size_t
         size() const;
    
    
            Returns the template parameter N.
    
    
    
         bool
         test(size_t pos) const;
    
    
            Returns true if the bit at position pos is set. Throws an
            out_of_range  exception  if  pos does not correspond to a
            valid bit position.
    
    
            template<class charT, class traits, class Allocator>
            basic_string<charT, traits, Allocator>
            to_string();
    
            Returns an object of type string, N characters long.
    
            Each position in the new string  is  initialized  with  a
            character ('0' for zero and '1' for one) representing the
            value stored in the corresponding bit position of  *this.
            Character  position  N - 1 corresponds to bit position 0.
            Subsequent decreasing character positions  correspond  to
            increasing bit positions.
    
    
    
         unsigned long
         to_ulong() const;
    
    
            Returns the integral value corresponding to the  bits  in
            *this.  Throws  an overflow_error if these bits cannot be
            represented as type unsigned long.
    
    
    
    SEE ALSO
         Containers
    
    
    
    


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




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

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