## modules/up/src/gnug++/unsigned.OXPSet.h

/* [<][>][^][v][top][bottom][index][help] */

## FUNCTIONS

This source file includes following functions.

1. unsignedOXPSet
2. unsignedOXPSet
3. unsignedOXPSet
4. first
5. next
6. clear
7. contains
8. owns

       1 // This may look like C code, but it is really -*- C++ -*-
       2 /*
       3 Copyright (C) 1988 Free Software Foundation
       4     written by Doug Lea (dl@rocky.oswego.edu)
       5
       6 This file is part of the GNU C++ Library.  This library is free
       7 software; you can redistribute it and/or modify it under the terms of
       8 the GNU Library General Public License as published by the Free
       9 Software Foundation; either version 2 of the License, or (at your
      10 option) any later version.  This library is distributed in the hope
      11 that it will be useful, but WITHOUT ANY WARRANTY; without even the
      12 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
      13 PURPOSE.  See the GNU Library General Public License for more details.
      14 You should have received a copy of the GNU Library General Public
      15 License along with this library; if not, write to the Free Software
      16 Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
      17 */
      18
      19
      20 #ifndef _unsignedOXPSet_h
      21 #ifdef __GNUG__
      22 #pragma interface
      23 #endif
      24 #define _unsignedOXPSet_h 1
      25
      26 #include "unsigned.Set.h"
      27 #include "unsigned.XPlex.h"
      28
      29 class unsignedOXPSet : public unsignedSet
         /* [<][>][^][v][top][bottom][index][help] */
      30 {
      31 protected:
      32   unsignedXPlex       p;
      33
      34 public:
      35                 unsignedOXPSet(int chunksize = DEFAULT_INITIAL_CAPACITY);
      36                 unsignedOXPSet(const unsignedOXPSet&);
      37
      38   Pix           add(unsigned  item);
      39   void          del(unsigned  item);
      40   inline int           contains(unsigned  item);
      41
      42   inline void          clear();
      43
      44   inline Pix           first() const;
      45   inline void          next(Pix& i) const;
      46   inline const unsigned&          operator () (Pix i) const;
      47   inline int           owns(Pix i);
      48   Pix           seek(unsigned  item);
      49
      50   void          operator |= (const unsignedOXPSet& b);
      51   void          operator -= (const unsignedOXPSet& b);
      52   void          operator &= (const unsignedOXPSet& b);
      53
      54   int           operator == (const unsignedOXPSet& b);
      55   int           operator != (const unsignedOXPSet& b);
      56   int           operator <= (const unsignedOXPSet& b);
      57
      58   int           OK();
      59 };
      60
      61
      62 inline unsignedOXPSet::unsignedOXPSet(int chunksize)
         /* [<][>][^][v][top][bottom][index][help] */
      63      : p(chunksize) { count = 0; }
      64
      65 inline unsignedOXPSet::unsignedOXPSet(const unsignedOXPSet& s) : p(s.p) { count = s.count; }
         /* [<][>][^][v][top][bottom][index][help] */
      66
      67 inline Pix unsignedOXPSet::first() const
         /* [<][>][^][v][top][bottom][index][help] */
      68 {
      69   return p.first();
      70 }
      71
      72 inline void unsignedOXPSet::next(Pix  & idx) const
         /* [<][>][^][v][top][bottom][index][help] */
      73 {
      74   p.next(idx);
      75 }
      76
      77 inline const unsigned& unsignedOXPSet::operator ()(Pix   idx) const
      78 {
      79   return p(idx);
      80 }
      81
      82 inline void unsignedOXPSet::clear()
         /* [<][>][^][v][top][bottom][index][help] */
      83 {
      84   count = 0;  p.clear();
      85 }
      86
      87 inline int unsignedOXPSet::contains (unsigned  item)
         /* [<][>][^][v][top][bottom][index][help] */
      88 {
      89   return seek(item) != 0;
      90 }
      91
      92 inline int unsignedOXPSet::owns (Pix   idx)
         /* [<][>][^][v][top][bottom][index][help] */
      93 {
      94   return p.owns(idx);
      95 }
      96
      97 inline int unsignedOXPSet::operator != (const unsignedOXPSet& b)
      98 {
      99   return !(*this == b);
     100 }
     101
     102 #endif

/* [<][>][^][v][top][bottom][index][help] */