gusucode.com > bigdata 工具箱 matlab源码程序 > bigdata/+matlab/+bigdata/+internal/+lazyeval/PartitionwiseOperation.m

    %PartitionwiseOperation
% An operation that acts on each partition of data.

% Copyright 2015-2016 The MathWorks, Inc.

classdef (Sealed) PartitionwiseOperation < matlab.bigdata.internal.lazyeval.Operation
    properties (SetAccess = immutable)
        % The function handle for the operation.
        FunctionHandle;
    end
    
    methods
        % The main constructor.
        function obj = PartitionwiseOperation(functionHandle, numInputs, numOutputs, dependsOnlyOnHead)
            if nargin < 4
                dependsOnlyOnHead = false;
            end
            supportsPreview = dependsOnlyOnHead;
            obj = obj@matlab.bigdata.internal.lazyeval.Operation(numInputs, numOutputs, supportsPreview, dependsOnlyOnHead);
            obj.FunctionHandle = functionHandle;
        end
    end
    
    % Methods overridden in the Operation interface.
    methods
        function task = createExecutionTasks(obj, taskDependencies, inputFutureMap, isInputReplicated)
            import matlab.bigdata.internal.executor.ExecutionTask;
            import matlab.bigdata.internal.lazyeval.PartitionwiseProcessor;
            
            processorFactory = PartitionwiseProcessor.createFactory(...
                obj.FunctionHandle, obj.NumOutputs, inputFutureMap, isInputReplicated);
            
            task = ExecutionTask.createSimpleTask(taskDependencies, processorFactory);
        end
    end
end