public static IVault Virtualize(this IVault @this, Func <IVault, IValue, IValue> virtualizer, Func <IVault, IValue, IValue> materializer) { return(@this.Virtualize( new VaultVisitorComposite(virtualizer), new VaultVisitorComposite(materializer))); }
public static IVault Virtualize(this IVault @this, Func <IVault, IBranch, IBranch> branchVirtualizer, Func <IVault, IValue, IValue> valueVirtualizer, Func <IVault, IBranch, IBranch> branchMaterializer, Func <IVault, IValue, IValue> valueMaterializer) { return(@this.Virtualize( new VaultVisitorComposite(branchVirtualizer, valueVirtualizer), new VaultVisitorComposite(branchMaterializer, valueMaterializer))); }