Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1990 - 1999
//
// File: bitset.hxx
//
//--------------------------------------------------------------------------
/* --------------------------------------------------------------------
Microsoft OS/2 LAN Manager Copyright(c) Microsoft Corp., 1990
-------------------------------------------------------------------- */ /* --------------------------------------------------------------------
File : bitset.hxx
Title : Bit vector implementation of a set.
History :
mikemon ??-??-?? Beginning of this file as we know it. mikemon 11-13-90 Commented the file.
-------------------------------------------------------------------- */
#ifndef __BITSET_HXX__
#define __BITSET_HXX__
//
// Implementation of a set using a bit vector. Other than available memory,
// and the maximum value of a signed integer, there are no constraints on
// the size of the bitset.
//
class BITSET { private: //
// The array of bits making up the bit vector.
//
unsigned int * pBits;
//
// This is the number of unsigned ints in the bit vector,
// rather than the number of bits; the number of bits is
// cBits*sizeof(int)*8.
//
int cBits;
// Initial storage
unsigned int InitialStorage;
public: BITSET (void) { pBits = &InitialStorage; cBits = 1; InitialStorage = 0; }
~BITSET (void) { if (pBits != &InitialStorage) delete pBits; }
//
// Indicates success (0), or an error. A return value of one (1),
// means that a memory allocation error occured. NOTE: If an error
// does occur, the bitset is left in the same state as before the
// Insert operation was attempted.
//
int Insert ( int Key );
//
// Indicates whether the key is a member (1) or not (0).
// Tests whether a key is a member of the set or not.
//
int MemberP ( int Key );
//
// Deletes Key from the bitset
//
void Delete ( int Key ); };
#endif // __BITSET_HXX__
|