Code:
/ FX-1434 / FX-1434 / 1.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
- CatalogPartChrome.cs
- CustomWebEventKey.cs
- LoadItemsEventArgs.cs
- XmlWhitespace.cs
- PropertyEmitterBase.cs
- oledbmetadatacollectionnames.cs
- NoneExcludedImageIndexConverter.cs
- HttpCachePolicy.cs
- HttpCookiesSection.cs
- XmlWriterTraceListener.cs
- Rules.cs
- PropertyEmitterBase.cs
- FileLogRecordEnumerator.cs
- IPAddress.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- IEnumerable.cs
- SatelliteContractVersionAttribute.cs
- BooleanAnimationBase.cs
- OdbcException.cs
- LocatorManager.cs
- DescendantQuery.cs
- FileSecurity.cs
- DiscoveryServerProtocol.cs
- TemplatedWizardStep.cs
- MILUtilities.cs
- ConfigurationPermission.cs
- mongolianshape.cs
- IProvider.cs
- SingleAnimation.cs
- sqlcontext.cs
- DirtyTextRange.cs
- ZipIOFileItemStream.cs
- LinkedResource.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- CharAnimationUsingKeyFrames.cs
- mediaeventshelper.cs
- ListViewAutomationPeer.cs
- ContractMethodInfo.cs
- BindingList.cs
- FontNamesConverter.cs
- DataServiceRequestOfT.cs
- _emptywebproxy.cs
- ToolStripSettings.cs
- InboundActivityHelper.cs
- DbParameterCollectionHelper.cs
- BitmapEffectGroup.cs
- Int32RectValueSerializer.cs
- ConfigurationManagerHelperFactory.cs
- SqlReorderer.cs
- BehaviorEditorPart.cs
- RectAnimationClockResource.cs
- DataGridComponentEditor.cs
- SingleAnimation.cs
- COM2ExtendedUITypeEditor.cs
- XamlSerializer.cs
- AssemblyName.cs
- FileUpload.cs
- SqlMethodTransformer.cs
- XmlUrlResolver.cs
- TrustManager.cs
- ResourceProviderFactory.cs
- SqlGenericUtil.cs
- TableLayoutSettingsTypeConverter.cs
- BitmapEffectOutputConnector.cs
- WorkflowNamespace.cs
- CompensatableSequenceActivity.cs
- ContextMenu.cs
- ColorTranslator.cs
- MergeFilterQuery.cs
- WindowsToolbarItemAsMenuItem.cs
- AssemblyAttributesGoHere.cs
- MiniMapControl.xaml.cs
- InkSerializer.cs
- EntityTransaction.cs
- DataGridViewRowConverter.cs
- TableChangeProcessor.cs
- UnsafeNativeMethods.cs
- ScriptResourceHandler.cs
- ControlPropertyNameConverter.cs
- SHA256.cs
- ConfigXmlAttribute.cs
- StateMachine.cs
- ObjectToken.cs
- ToolStripDropDownClosedEventArgs.cs
- Point3DAnimation.cs
- ObjectStorage.cs
- OutOfProcStateClientManager.cs
- DataGridItemCollection.cs
- XmlChildNodes.cs
- GZipStream.cs
- BaseParaClient.cs
- HtmlFormWrapper.cs
- PublisherIdentityPermission.cs
- NameValuePermission.cs
- IFlowDocumentViewer.cs
- PauseStoryboard.cs
- BaseTemplateParser.cs
- LogRestartAreaEnumerator.cs
- ListBox.cs
- Geometry3D.cs