Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Util / SimpleBitVector32.cs / 1 / SimpleBitVector32.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.Util {
using System;
//
// This is a cut down copy of System.Collections.Specialized.BitVector32. The
// reason this is here is because it is used rather intensively by Control and
// WebControl. As a result, being able to inline this operations results in a
// measurable performance gain, at the expense of some maintainability.
//
[Serializable]
internal struct SimpleBitVector32 {
private int data;
internal SimpleBitVector32(int data) {
this.data = data;
}
internal int IntegerValue {
get { return data; }
set { data = value; }
}
internal bool this[int bit] {
get {
return (data & bit) == bit;
}
set {
int _data = data;
if(value) {
data = _data | bit;
}
else {
data = _data & ~bit;
}
}
}
internal void Set(int bit) {
data |= bit;
}
internal void Clear(int bit) {
data &= ~bit;
}
#if UNUSED_CODE
internal void Toggle(int bit) {
data ^= bit;
}
/*
* COPY_FLAG copies the value of flags from a source field
* into a destination field.
*
* In the macro:
* + "&flag" limits the outer xor operation to just the flag we're interested in.
* + These are the results of the two xor operations:
*
* fieldDst fieldSrc inner xor outer xor
* 0 0 0 0
* 0 1 1 1
* 1 0 1 0
* 1 1 0 1
*/
internal void Copy(SimpleBitVector32 src, int bit) {
data ^= (data ^ src.data) & bit;
}
internal int Data {
get {
return data;
}
set {
data = value;
}
}
#endif
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SafeReadContext.cs
- ListBoxAutomationPeer.cs
- BrushMappingModeValidation.cs
- Site.cs
- NullableDoubleAverageAggregationOperator.cs
- SelectorAutomationPeer.cs
- MappingMetadataHelper.cs
- SubclassTypeValidator.cs
- FormsAuthenticationCredentials.cs
- StringResourceManager.cs
- ServiceReference.cs
- NegotiateStream.cs
- SqlUDTStorage.cs
- EDesignUtil.cs
- SafeNativeMethods.cs
- DataGridDetailsPresenter.cs
- FindProgressChangedEventArgs.cs
- ButtonPopupAdapter.cs
- InternalBase.cs
- FunctionCommandText.cs
- WindowPattern.cs
- Classification.cs
- Attributes.cs
- RegexGroup.cs
- UseLicense.cs
- MemoryStream.cs
- MailDefinition.cs
- ValidationRule.cs
- HttpApplication.cs
- CodeExporter.cs
- TraceContextRecord.cs
- CompilerGlobalScopeAttribute.cs
- NameScope.cs
- WindowProviderWrapper.cs
- LogReservationCollection.cs
- CallbackHandler.cs
- ApplicationInfo.cs
- AttachedAnnotationChangedEventArgs.cs
- ZipIOLocalFileHeader.cs
- FixedDocumentSequencePaginator.cs
- SymbolPair.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- PrePostDescendentsWalker.cs
- CommonDialog.cs
- FormCollection.cs
- CodeChecksumPragma.cs
- UIPermission.cs
- DashStyle.cs
- DesignerCategoryAttribute.cs
- Events.cs
- SevenBitStream.cs
- TdsEnums.cs
- XmlUtilWriter.cs
- filewebrequest.cs
- Assert.cs
- ConditionalAttribute.cs
- LingerOption.cs
- TimeSpanSecondsConverter.cs
- SingleAnimation.cs
- WebControlToolBoxItem.cs
- FixedSOMTextRun.cs
- MethodBody.cs
- KeyedQueue.cs
- HasCopySemanticsAttribute.cs
- DesignTimeData.cs
- StorageAssociationTypeMapping.cs
- BaseComponentEditor.cs
- PropertyMappingExceptionEventArgs.cs
- TreePrinter.cs
- TimelineGroup.cs
- ServiceNotStartedException.cs
- MenuBase.cs
- ExceptionUtil.cs
- ToolStripCodeDomSerializer.cs
- DataControlLinkButton.cs
- ConnectionPoint.cs
- DataObject.cs
- TableItemPattern.cs
- ProcessHostMapPath.cs
- ThrowHelper.cs
- ScanQueryOperator.cs
- LoadRetryAsyncResult.cs
- DesignerExtenders.cs
- SchemaInfo.cs
- Attribute.cs
- TextEditorSelection.cs
- AuthenticationManager.cs
- AppDomainManager.cs
- NetworkInterface.cs
- SynchronizedInputAdaptor.cs
- AdornedElementPlaceholder.cs
- DynamicResourceExtension.cs
- InkCanvasAutomationPeer.cs
- DiagnosticStrings.cs
- XmlSchemaComplexContentRestriction.cs
- CodeAttributeDeclarationCollection.cs
- ViewEvent.cs
- XmlSerializerFactory.cs
- ClientData.cs
- _DigestClient.cs