Code:
                         / Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
    }
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     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
    }
}
// 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
- MultiBindingExpression.cs
- CharEntityEncoderFallback.cs
- ReferenceSchema.cs
- TaskDesigner.cs
- FlowDocumentPage.cs
- WebPartDisplayMode.cs
- InkPresenterAutomationPeer.cs
- SqlDataSourceCommandEventArgs.cs
- TextRangeAdaptor.cs
- RoleGroup.cs
- BinaryObjectWriter.cs
- CompatibleIComparer.cs
- Accessible.cs
- XmlCharCheckingWriter.cs
- ListViewEditEventArgs.cs
- RuleAttributes.cs
- ObjectQuery_EntitySqlExtensions.cs
- StorageRoot.cs
- SystemDiagnosticsSection.cs
- TextContainerChangedEventArgs.cs
- XLinq.cs
- FieldCollectionEditor.cs
- CodeFieldReferenceExpression.cs
- WebPartMenuStyle.cs
- XmlSchemaExternal.cs
- OleServicesContext.cs
- XmlCharType.cs
- GridViewDeleteEventArgs.cs
- QueryInterceptorAttribute.cs
- WebPartUtil.cs
- Asn1IntegerConverter.cs
- TypeNameConverter.cs
- Transform3DGroup.cs
- DefaultAssemblyResolver.cs
- RegexCompilationInfo.cs
- CodeMemberProperty.cs
- NodeLabelEditEvent.cs
- DeferredSelectedIndexReference.cs
- CodeNamespace.cs
- HttpCookie.cs
- FontEditor.cs
- Label.cs
- DeadCharTextComposition.cs
- TableCell.cs
- HtmlTableRow.cs
- Evidence.cs
- ISAPIWorkerRequest.cs
- RevocationPoint.cs
- JoinGraph.cs
- FlowLayoutPanel.cs
- ComponentEvent.cs
- HttpCookiesSection.cs
- StatusBarDrawItemEvent.cs
- QueryGenerator.cs
- InternalConfigConfigurationFactory.cs
- DataTableMapping.cs
- PartialTrustVisibleAssemblyCollection.cs
- BitmapEffectGroup.cs
- XXXOnTypeBuilderInstantiation.cs
- ImageCodecInfo.cs
- SafeNativeMethods.cs
- TextEditorTables.cs
- CodeArrayCreateExpression.cs
- ProfileModule.cs
- DataKeyArray.cs
- Menu.cs
- TextEffectResolver.cs
- OleDbRowUpdatingEvent.cs
- ArraySet.cs
- XmlSchemaAll.cs
- ProcessThread.cs
- SQLGuidStorage.cs
- HelpEvent.cs
- _Semaphore.cs
- IPAddressCollection.cs
- IteratorFilter.cs
- Not.cs
- PrinterResolution.cs
- AutomationPatternInfo.cs
- HtmlInputCheckBox.cs
- ISFTagAndGuidCache.cs
- EventProviderWriter.cs
- Calendar.cs
- FlowDocumentPageViewerAutomationPeer.cs
- TextStore.cs
- MarshalByRefObject.cs
- TextEncodedRawTextWriter.cs
- ManagementOperationWatcher.cs
- XamlFrame.cs
- LoginUtil.cs
- CalendarDay.cs
- srgsitem.cs
- XPathNode.cs
- NavigationService.cs
- TimersDescriptionAttribute.cs
- ItemsChangedEventArgs.cs
- SafeCertificateStore.cs
- MappingSource.cs
- AuthorizationContext.cs
- EmptyElement.cs