Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathSingletonIterator.cs / 1 / XPathSingletonIterator.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace MS.Internal.Xml.XPath {
using System;
using System.Xml;
using System.Xml.XPath;
using System.Diagnostics;
using System.Globalization;
internal class XPathSingletonIterator: ResetableIterator {
private XPathNavigator nav;
private int position;
public XPathSingletonIterator(XPathNavigator nav) {
Debug.Assert(nav != null);
this.nav = nav;
}
public XPathSingletonIterator(XPathNavigator nav, bool moved) : this(nav) {
if (moved) {
position = 1;
}
}
public XPathSingletonIterator(XPathSingletonIterator it) {
this.nav = it.nav.Clone();
this.position = it.position;
}
public override XPathNodeIterator Clone() {
return new XPathSingletonIterator(this);
}
public override XPathNavigator Current {
get { return nav; }
}
public override int CurrentPosition {
get { return position; }
}
public override int Count {
get { return 1; }
}
public override bool MoveNext() {
if(position == 0) {
position = 1;
return true;
}
return false;
}
public override void Reset() {
position = 0;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace MS.Internal.Xml.XPath {
using System;
using System.Xml;
using System.Xml.XPath;
using System.Diagnostics;
using System.Globalization;
internal class XPathSingletonIterator: ResetableIterator {
private XPathNavigator nav;
private int position;
public XPathSingletonIterator(XPathNavigator nav) {
Debug.Assert(nav != null);
this.nav = nav;
}
public XPathSingletonIterator(XPathNavigator nav, bool moved) : this(nav) {
if (moved) {
position = 1;
}
}
public XPathSingletonIterator(XPathSingletonIterator it) {
this.nav = it.nav.Clone();
this.position = it.position;
}
public override XPathNodeIterator Clone() {
return new XPathSingletonIterator(this);
}
public override XPathNavigator Current {
get { return nav; }
}
public override int CurrentPosition {
get { return position; }
}
public override int Count {
get { return 1; }
}
public override bool MoveNext() {
if(position == 0) {
position = 1;
return true;
}
return false;
}
public override void Reset() {
position = 0;
}
}
}
// 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
- ObjectRef.cs
- StringReader.cs
- ResourcePermissionBaseEntry.cs
- HttpCacheParams.cs
- TextPatternIdentifiers.cs
- BinaryReader.cs
- ProtocolState.cs
- TextServicesPropertyRanges.cs
- IIS7UserPrincipal.cs
- DefaultMemberAttribute.cs
- ArithmeticException.cs
- CqlIdentifiers.cs
- DbConnectionPoolGroupProviderInfo.cs
- PageRanges.cs
- SqlConnectionPoolProviderInfo.cs
- PropertyTabChangedEvent.cs
- _BufferOffsetSize.cs
- PropertyMapper.cs
- SystemDropShadowChrome.cs
- SqlTopReducer.cs
- FontStyleConverter.cs
- ProcessHostFactoryHelper.cs
- StylusCollection.cs
- ApplicationDirectory.cs
- HostedElements.cs
- SelectionEditingBehavior.cs
- DataGridCommandEventArgs.cs
- Types.cs
- ActivityCollectionMarkupSerializer.cs
- HostedTransportConfigurationBase.cs
- XmlTextReaderImplHelpers.cs
- SQLGuid.cs
- EntityDataSourceDataSelectionPanel.cs
- ComplexType.cs
- ListBoxItemWrapperAutomationPeer.cs
- CapabilitiesSection.cs
- UnmanagedMemoryStreamWrapper.cs
- GridViewUpdatedEventArgs.cs
- Conditional.cs
- TemplateKeyConverter.cs
- ButtonChrome.cs
- WebServiceParameterData.cs
- TextSchema.cs
- RotateTransform3D.cs
- MembershipSection.cs
- DeclarativeExpressionConditionDeclaration.cs
- FieldReference.cs
- XmlNodeReader.cs
- ExternalDataExchangeService.cs
- ProcessModuleCollection.cs
- coordinatorscratchpad.cs
- SimpleHandlerFactory.cs
- StoryFragments.cs
- CodeDelegateInvokeExpression.cs
- DataRelationCollection.cs
- ThicknessAnimation.cs
- ActivationProxy.cs
- XamlTypeMapper.cs
- PropagatorResult.cs
- UiaCoreApi.cs
- StrongNameIdentityPermission.cs
- ResourceIDHelper.cs
- WebPartZone.cs
- ThreadNeutralSemaphore.cs
- FormViewInsertedEventArgs.cs
- ConfigXmlComment.cs
- DesignerVerbCollection.cs
- DataTableNewRowEvent.cs
- HyperlinkAutomationPeer.cs
- PackWebRequest.cs
- CodeConditionStatement.cs
- ReflectionPermission.cs
- ErrorTableItemStyle.cs
- UIElementParaClient.cs
- SQLDouble.cs
- DBParameter.cs
- printdlgexmarshaler.cs
- MembershipPasswordException.cs
- DbConnectionInternal.cs
- DesignerVerb.cs
- ImmutableAssemblyCacheEntry.cs
- SmiTypedGetterSetter.cs
- OnOperation.cs
- AppDomainCompilerProxy.cs
- KeyboardDevice.cs
- TemplateManager.cs
- SQLGuid.cs
- ReadOnlyDataSourceView.cs
- FrameworkPropertyMetadata.cs
- activationcontext.cs
- XMLSchema.cs
- CodeSubDirectory.cs
- AsyncDataRequest.cs
- DynamicILGenerator.cs
- ExtendedPropertyDescriptor.cs
- AudioStateChangedEventArgs.cs
- MetadataUtil.cs
- FormViewRow.cs
- IgnoreSectionHandler.cs
- NativeMethods.cs