www.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