Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Configuration / System / Configuration / SimpleBitVector32.cs / 1 / 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. //------------------------------------------------------------------------------ //// 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
- ListItemDetailViewAttribute.cs
- TableCell.cs
- RotateTransform.cs
- DelegateInArgument.cs
- FloaterParagraph.cs
- BooleanToVisibilityConverter.cs
- ClientSession.cs
- BitmapSourceSafeMILHandle.cs
- RoutingUtilities.cs
- RelatedCurrencyManager.cs
- BitmapEffectDrawingContextWalker.cs
- FormatSettings.cs
- FrameDimension.cs
- InfoCardBaseException.cs
- _KerberosClient.cs
- GridViewItemAutomationPeer.cs
- SelectionHighlightInfo.cs
- HMACSHA256.cs
- BrowserCapabilitiesCompiler.cs
- CheckBox.cs
- TableAdapterManagerNameHandler.cs
- InputScope.cs
- Debug.cs
- Command.cs
- WaitForChangedResult.cs
- Main.cs
- MetaChildrenColumn.cs
- MDIClient.cs
- InputReport.cs
- ListBindableAttribute.cs
- DataGrid.cs
- FixedSOMImage.cs
- AssociatedControlConverter.cs
- RoleGroup.cs
- CachedCompositeFamily.cs
- PathFigureCollectionConverter.cs
- MsmqDiagnostics.cs
- UpDownBase.cs
- ItemCheckEvent.cs
- SafeUserTokenHandle.cs
- SecurityContext.cs
- LogArchiveSnapshot.cs
- Focus.cs
- NegotiateStream.cs
- mactripleDES.cs
- MeshGeometry3D.cs
- MemoryFailPoint.cs
- ResourceAssociationSetEnd.cs
- EncryptedData.cs
- Span.cs
- ContextToken.cs
- tooltip.cs
- CompilationPass2Task.cs
- KeyInfo.cs
- DateTimeFormat.cs
- Hyperlink.cs
- TreeView.cs
- SrgsSemanticInterpretationTag.cs
- DesignerActionPropertyItem.cs
- AudioException.cs
- DashStyle.cs
- InternalMappingException.cs
- ObjectDataSourceEventArgs.cs
- SqlRecordBuffer.cs
- basecomparevalidator.cs
- CompiledQuery.cs
- ConfigurationPropertyCollection.cs
- SHA256Managed.cs
- Point4D.cs
- Matrix.cs
- StringKeyFrameCollection.cs
- ConstraintManager.cs
- SafeViewOfFileHandle.cs
- DateTimeEditor.cs
- UserControlAutomationPeer.cs
- SelectedCellsCollection.cs
- SafeLocalAllocation.cs
- DataServiceExpressionVisitor.cs
- TextFormatter.cs
- TypeSystemProvider.cs
- TextEditorCharacters.cs
- VariableDesigner.xaml.cs
- XamlParser.cs
- ToolbarAUtomationPeer.cs
- CompareValidator.cs
- Vector3D.cs
- DetailsViewUpdatedEventArgs.cs
- MemberPathMap.cs
- SoapObjectReader.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- RegexGroupCollection.cs
- DefaultExpression.cs
- PointAnimationClockResource.cs
- XmlText.cs
- CardSpaceShim.cs
- QuerySetOp.cs
- SafeEventLogWriteHandle.cs
- SizeValueSerializer.cs
- SoapAttributeOverrides.cs
- SimpleType.cs