Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / SimpleBitVector32.cs / 1305376 / SimpleBitVector32.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Configuration {
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 Data {
get { return data; }
#if UNUSED_CODE
set { data = value; }
#endif
}
internal bool this[int bit] {
get {
return (data & bit) == bit;
}
set {
int _data = data;
if(value) {
data = _data | bit;
}
else {
data = _data & ~bit;
}
}
}
#if UNUSED_CODE
internal void Set(int bit) {
data |= bit;
}
internal void Clear(int bit) {
data &= ~bit;
}
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;
}
#endif
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MenuItemStyleCollection.cs
- ObjectDataSourceSelectingEventArgs.cs
- LinqDataSourceValidationException.cs
- XmlUTF8TextReader.cs
- XamlSerializerUtil.cs
- XmlQuerySequence.cs
- XmlnsDefinitionAttribute.cs
- TreeViewImageIndexConverter.cs
- WindowsFormsHostPropertyMap.cs
- SignedPkcs7.cs
- SafePEFileHandle.cs
- ProgressPage.cs
- CatalogZoneBase.cs
- ConditionCollection.cs
- Shape.cs
- SizeAnimationBase.cs
- ThreadExceptionDialog.cs
- EntityProviderFactory.cs
- Bidi.cs
- BufferModesCollection.cs
- WeakEventManager.cs
- DataList.cs
- UIElementHelper.cs
- ActiveXHelper.cs
- SkipStoryboardToFill.cs
- BamlLocalizableResourceKey.cs
- MetadataException.cs
- PeerNodeTraceRecord.cs
- QilChoice.cs
- DataSvcMapFileSerializer.cs
- VirtualDirectoryMapping.cs
- DatatypeImplementation.cs
- Point3DConverter.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DiscoveryDocumentLinksPattern.cs
- DateTimeOffsetStorage.cs
- ConfigurationManagerHelper.cs
- CqlWriter.cs
- WmlControlAdapter.cs
- CalendarModeChangedEventArgs.cs
- MarkupExtensionParser.cs
- AudioFileOut.cs
- EntitySetDataBindingList.cs
- LoginView.cs
- ClientData.cs
- WebControlAdapter.cs
- IncomingWebResponseContext.cs
- DelegatingStream.cs
- DataGridViewCellValueEventArgs.cs
- SizeChangedEventArgs.cs
- Lock.cs
- ControlValuePropertyAttribute.cs
- TextBox.cs
- CommentAction.cs
- SelectionUIService.cs
- MultiPropertyDescriptorGridEntry.cs
- CommandBindingCollection.cs
- XmlSchemaImport.cs
- Border.cs
- DataContractJsonSerializerOperationBehavior.cs
- DataServiceHostFactory.cs
- XPathChildIterator.cs
- CacheSection.cs
- BuildDependencySet.cs
- Frame.cs
- ProfileGroupSettingsCollection.cs
- TextEditorThreadLocalStore.cs
- TransformedBitmap.cs
- Peer.cs
- DateTimeFormat.cs
- Baml2006ReaderSettings.cs
- IdentityModelDictionary.cs
- UidManager.cs
- XmlDataSourceView.cs
- EventItfInfo.cs
- RangeValueProviderWrapper.cs
- OdbcConnectionFactory.cs
- Rotation3DKeyFrameCollection.cs
- DigitShape.cs
- KeyValuePairs.cs
- TextEditorSpelling.cs
- DBCommandBuilder.cs
- LogWriteRestartAreaState.cs
- RSAPKCS1SignatureFormatter.cs
- SQLUtility.cs
- RenderDataDrawingContext.cs
- Exception.cs
- SafeSystemMetrics.cs
- WindowsButton.cs
- Int32AnimationUsingKeyFrames.cs
- HttpCacheVary.cs
- HtmlInputPassword.cs
- RootBuilder.cs
- MultitargetUtil.cs
- ConstraintStruct.cs
- CalendarData.cs
- HttpWriter.cs
- AdornerLayer.cs
- ConfigurationManagerInternal.cs
- TabletDeviceInfo.cs