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
- EnvironmentPermission.cs
- BitmapMetadata.cs
- ItemsPanelTemplate.cs
- SqlFormatter.cs
- TextTabProperties.cs
- KeysConverter.cs
- CallbackHandler.cs
- SchemaObjectWriter.cs
- RenderingBiasValidation.cs
- SmiEventSink.cs
- DocumentPage.cs
- ApplyTemplatesAction.cs
- CallInfo.cs
- PrtTicket_Base.cs
- TypeValidationEventArgs.cs
- WebCategoryAttribute.cs
- Listbox.cs
- BitmapEncoder.cs
- PeerContact.cs
- ConsumerConnectionPointCollection.cs
- CheckableControlBaseAdapter.cs
- PointLightBase.cs
- Operator.cs
- DispatcherExceptionFilterEventArgs.cs
- PeerNodeTraceRecord.cs
- TemplateParser.cs
- XmlWellformedWriterHelpers.cs
- TrustLevel.cs
- SafeFileMapViewHandle.cs
- WindowsFormsDesignerOptionService.cs
- CollectionType.cs
- Parser.cs
- FontUnit.cs
- DoubleConverter.cs
- WebPartManager.cs
- NaturalLanguageHyphenator.cs
- DataServiceProcessingPipelineEventArgs.cs
- AssociationSet.cs
- SoapExtensionTypeElementCollection.cs
- Pkcs7Recipient.cs
- NavigatingCancelEventArgs.cs
- StickyNoteAnnotations.cs
- TextReader.cs
- Query.cs
- TableLayout.cs
- ISFClipboardData.cs
- DescendantQuery.cs
- EntityDataSourceStatementEditor.cs
- ZoneIdentityPermission.cs
- MeshGeometry3D.cs
- Registry.cs
- XmlSchemaValidationException.cs
- TreeChangeInfo.cs
- GenericTypeParameterBuilder.cs
- DataRowChangeEvent.cs
- ContentTextAutomationPeer.cs
- SAPICategories.cs
- MessageHeaderAttribute.cs
- CngUIPolicy.cs
- CheckBoxAutomationPeer.cs
- StreamGeometry.cs
- ObjectDataSourceChooseMethodsPanel.cs
- RegexEditorDialog.cs
- XmlElementAttributes.cs
- Property.cs
- CheckBoxStandardAdapter.cs
- XPathNavigatorKeyComparer.cs
- XmlAttributeHolder.cs
- Content.cs
- TypeSemantics.cs
- IndexerNameAttribute.cs
- Transform3D.cs
- SponsorHelper.cs
- ImageSourceValueSerializer.cs
- PreviewPageInfo.cs
- ThreadStartException.cs
- EpmSourcePathSegment.cs
- CmsInterop.cs
- InstanceOwnerException.cs
- Transform3D.cs
- followingsibling.cs
- ApplicationDirectory.cs
- FontStretches.cs
- FormatSettings.cs
- TextAutomationPeer.cs
- TextServicesHost.cs
- GeometryConverter.cs
- X509Certificate.cs
- Hyperlink.cs
- InvalidOleVariantTypeException.cs
- HitTestDrawingContextWalker.cs
- PositiveTimeSpanValidatorAttribute.cs
- DataGridRowEventArgs.cs
- WeakReferenceList.cs
- SafeLocalMemHandle.cs
- CodeStatement.cs
- ThreadInterruptedException.cs
- Application.cs
- Walker.cs
- ObjectParameter.cs