Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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 } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeTryCatchFinallyStatement.cs
- UIPropertyMetadata.cs
- SqlSupersetValidator.cs
- ChtmlCalendarAdapter.cs
- Point.cs
- EncryptedXml.cs
- SqlTriggerAttribute.cs
- Decoder.cs
- InstancePersistenceException.cs
- JpegBitmapDecoder.cs
- HtmlControlPersistable.cs
- OptimisticConcurrencyException.cs
- SoapRpcMethodAttribute.cs
- ColorBlend.cs
- UnitControl.cs
- RoamingStoreFile.cs
- ListMarkerSourceInfo.cs
- ComponentDispatcher.cs
- XmlSerializerAssemblyAttribute.cs
- ParameterCollection.cs
- AutomationPattern.cs
- Encoding.cs
- CorrelationService.cs
- IdentifierService.cs
- ColumnResizeAdorner.cs
- MediaSystem.cs
- BackStopAuthenticationModule.cs
- PaperSource.cs
- HtmlInputButton.cs
- WizardStepBase.cs
- SystemDiagnosticsSection.cs
- ListBoxChrome.cs
- MdImport.cs
- WebBrowsableAttribute.cs
- RectAnimationClockResource.cs
- FrameSecurityDescriptor.cs
- ExtendedPropertyDescriptor.cs
- ListDesigner.cs
- CommentGlyph.cs
- SecurityException.cs
- MatchingStyle.cs
- CompilerInfo.cs
- PerfCounterSection.cs
- FontDialog.cs
- Vector3DKeyFrameCollection.cs
- MissingFieldException.cs
- versioninfo.cs
- WizardStepBase.cs
- WebPartDescription.cs
- AsyncDataRequest.cs
- KeyedHashAlgorithm.cs
- XamlPointCollectionSerializer.cs
- SafeLocalAllocation.cs
- TiffBitmapDecoder.cs
- SqlAggregateChecker.cs
- WebBaseEventKeyComparer.cs
- CodeTypeMemberCollection.cs
- HiddenFieldPageStatePersister.cs
- DefaultAsyncDataDispatcher.cs
- ResourceAssociationTypeEnd.cs
- Boolean.cs
- DecoderNLS.cs
- TagPrefixCollection.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- ArraySubsetEnumerator.cs
- CardSpaceException.cs
- DetailsViewCommandEventArgs.cs
- _MultipleConnectAsync.cs
- RegexCaptureCollection.cs
- BitConverter.cs
- Nullable.cs
- SoapSchemaExporter.cs
- Win32Native.cs
- TextDecorationLocationValidation.cs
- FrameworkElement.cs
- ListDictionaryInternal.cs
- AnimationClock.cs
- EntityConnectionStringBuilder.cs
- GroupItemAutomationPeer.cs
- GlobalEventManager.cs
- TextLine.cs
- XmlDeclaration.cs
- ParameterCollection.cs
- Component.cs
- RegionData.cs
- Publisher.cs
- NavigationPropertyEmitter.cs
- ComplexObject.cs
- MethodToken.cs
- WebBodyFormatMessageProperty.cs
- ImageIndexConverter.cs
- WsiProfilesElementCollection.cs
- TextRangeBase.cs
- CodeNamespace.cs
- ProgressBarAutomationPeer.cs
- StrokeNodeOperations2.cs
- TextServicesDisplayAttributePropertyRanges.cs
- TextEffectResolver.cs
- ReferencedCollectionType.cs
- XmlUnspecifiedAttribute.cs