TEdge IImplicitGraph <TVertex, TEdge> .OutEdge(TVertex v, int index) { IImplicitGraph <TVertex, TEdge> ithis = this; Contract.Requires(v != null); Contract.Requires(ithis.ContainsVertex(v)); Contract.Ensures(Enumerable.Any(ithis.OutEdges(v), e => e.Equals(Contract.Result <TEdge>()))); return(default(TEdge)); }
int IImplicitGraph <TVertex, TEdge> .OutDegree(TVertex v) { IImplicitGraph <TVertex, TEdge> ithis = this; Contract.Requires(v != null); Contract.Requires(ithis.ContainsVertex(v)); Contract.Ensures(Contract.Result <int>() == Enumerable.Count <TEdge>(ithis.OutEdges(v))); return(default(int)); }
bool IImplicitGraph <TVertex, TEdge> .IsOutEdgesEmpty(TVertex v) { IImplicitGraph <TVertex, TEdge> ithis = this; Contract.Requires(v != null); Contract.Requires(ithis.ContainsVertex(v)); Contract.Ensures(Contract.Result <bool>() == (ithis.OutDegree(v) == 0)); return(default(bool)); }
IEnumerable <TEdge> IImplicitGraph <TVertex, TEdge> .OutEdges(TVertex v) { IImplicitGraph <TVertex, TEdge> ithis = this; Contract.Requires(v != null); Contract.Requires(ithis.ContainsVertex(v)); Contract.Ensures(Contract.Result <IEnumerable <TEdge> >() != null); Contract.Ensures(Enumerable.All(Contract.Result <IEnumerable <TEdge> >(), e => e.Source.Equals(v))); return(default(IEnumerable <TEdge>)); }
TEdge IImplicitGraph <TVertex, TEdge> .OutEdge(TVertex v, int index) { IImplicitGraph <TVertex, TEdge> ithis = this; Contract.Requires(v != null); Contract.Requires(ithis.ContainsVertex(v)); Contract.Requires(index >= 0 && index < ithis.OutDegree(v)); Contract.Ensures( Enumerable.ElementAt(ithis.OutEdges(v), index).Equals(Contract.Result <TEdge>())); return(default(TEdge)); }
public bool ContainsVertex(Vertex vertex) { return(_impl.ContainsVertex(vertex)); }