Exemplo n.º 1
0
        public SyncKnowledge ProjectOnKnowledge(SyncKnowledge sourceKnowledge)
        {
            SyncKnowledge cumulativeKnowledge = null;

            foreach (BatchRange curRange in _ranges)
            {
                if (!curRange.RangeIsUsable)
                {
                    // break on last range if it is not usable
                    Debug.Assert(curRange == Last);
                    break;
                }
                SyncKnowledge knowledgeForUnion =
                    sourceKnowledge.GetKnowledgeForRange(curRange.Start, curRange.End);

                if (cumulativeKnowledge == null)
                {
                    cumulativeKnowledge = knowledgeForUnion;
                }
                else
                {
                    cumulativeKnowledge.Combine(knowledgeForUnion);
                }
            }
            return(cumulativeKnowledge);
        }
Exemplo n.º 2
0
        public SyncKnowledge ProjectOnKnowledge( SyncKnowledge sourceKnowledge )
        {
            SyncKnowledge cumulativeKnowledge = null;

            foreach( BatchRange curRange in _ranges ) {
                if( !curRange.RangeIsUsable ) {
                    // break on last range if it is not usable
                    Debug.Assert( curRange == Last );
                    break; 
                }
                SyncKnowledge knowledgeForUnion = 
                    sourceKnowledge.GetKnowledgeForRange(curRange.Start, curRange.End);
                
                if( cumulativeKnowledge == null ) {
                    cumulativeKnowledge = knowledgeForUnion;
                } else {
                    cumulativeKnowledge.Combine( knowledgeForUnion );
                }
            }
            return cumulativeKnowledge;
        }