예제 #1
0
        public override PipFilter Canonicalize(FilterCanonicalizer canonicalizer)
        {
            var canonInner  = Inner.Canonicalize(canonicalizer);
            var canonFilter = CreateFilter(canonInner);

            // Verify that closure mode is preserved
            Contract.Assert(canonFilter.ClosureMode == ClosureMode);

            return(canonicalizer.GetOrAdd(canonFilter));
        }
예제 #2
0
 /// <inheritdoc/>
 public override PipFilter Canonicalize(FilterCanonicalizer canonicalizer)
 {
     return(canonicalizer.GetOrAdd(this));
 }
예제 #3
0
 /// <summary>
 /// Produces a new canonicalized filter.
 /// </summary>
 public virtual PipFilter Canonicalize(FilterCanonicalizer canonicalizer)
 {
     return(canonicalizer.GetOrAdd(this));
 }
예제 #4
0
        /// <inheritdoc/>
        public override PipFilter Canonicalize(FilterCanonicalizer canonicalizer)
        {
            var canonInner = Inner.Canonicalize(canonicalizer);

            return(canonicalizer.GetOrAdd(new NegatingFilter(canonInner)));
        }
예제 #5
0
 /// <inheritdoc/>
 public override PipFilter Canonicalize(FilterCanonicalizer canonicalizer)
 {
     return(canonicalizer.GetOrAdd(Instance));
 }