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

    function out = getAdaptor(localValue)
%getAdaptor Get appropriate adaptor for a local value.
%   A = getAdaptor(X) returns an adaptor appropriate to the local value X, with
%   the tall size left in the 'unknown' state.
%
%   A = getAdaptor(T) for tall T returns T's Adaptor.

%   Copyright 2016 The MathWorks, Inc.

if istall(localValue)
    out = hGetAdaptor(localValue);
else
    typeName = class(localValue);
    switch typeName
      case 'table'
        out = matlab.bigdata.internal.adaptors.TableAdaptor(localValue);
      case {'datetime', 'duration', 'calendarDuration'}
        out = matlab.bigdata.internal.adaptors.DatetimeFamilyAdaptor(typeName);
      case 'categorical'
        out = matlab.bigdata.internal.adaptors.CategoricalAdaptor();
      otherwise
        if issparse(localValue)
            error(message('MATLAB:bigdata:array:SparseNotAllowed'));
        end
        out = matlab.bigdata.internal.adaptors.GenericAdaptor(typeName);
    end
    % Assume localValue is a preview, so we don't know the tall dimension, but we do
    % know the other sizes. 
    localSize = size(localValue);
    out = setSmallSizes(out, localSize(2:end));
end
end