Source code of Windows XP (NT5)
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, 1996 - 1997.
//
// File: bitflag.hxx
//
// Contents: Lightweight class for test/set/clear bit flags.
//
// Classes: CBitFlag
//
// History: 2-17-1997 DavidMun Created
//
//---------------------------------------------------------------------------
#ifndef __BITFLAG_HXX_
#define __BITFLAG_HXX_
//+--------------------------------------------------------------------------
//
// Class: CBitFlag
//
// Purpose: Lightweight class for test/set/clear bit flags.
//
// History: 2-17-1997 DavidMun Created
//
// Notes: Designed for use as a base class.
//
//---------------------------------------------------------------------------
class CBitFlag { public:
CBitFlag();
protected: BOOL _IsFlagSet( USHORT fl);
VOID _SetFlag( USHORT fl);
VOID _ClearFlag( USHORT fl);
USHORT _flFlags; };
//+--------------------------------------------------------------------------
//
// Member: CBitFlag::CBitFlag
//
// Synopsis: ctor
//
// History: 2-17-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline CBitFlag::CBitFlag(): _flFlags(0) { }
//+--------------------------------------------------------------------------
//
// Member: CBitFlag::_IsFlagSet
//
// Synopsis: Return TRUE if one or more bits in [fl] are set.
//
// History: 2-17-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline BOOL CBitFlag::_IsFlagSet( USHORT fl) { return (_flFlags & fl) ? TRUE : FALSE; }
//+--------------------------------------------------------------------------
//
// Member: CBitFlag::_SetFlag
//
// Synopsis: Turn on flag bit(s) [fl].
//
// History: 2-17-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline VOID CBitFlag::_SetFlag( USHORT fl) { _flFlags |= fl; }
//+--------------------------------------------------------------------------
//
// Member: CBitFlag::_ClearFlag
//
// Synopsis: Clear flag bit(s) [fl].
//
// History: 2-17-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline VOID CBitFlag::_ClearFlag( USHORT fl) { _flFlags &= ~fl; }
#endif // __BITFLAG_HXX_
|