0001 function [obj] = vb_f_stack_push(obj, data)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 if ~exist('obj', 'var'), error('obj is a required parameter.'); end
0018 if ~exist('data', 'var')
0019 error('data is a required parameter.');
0020 end
0021
0022
0023
0024
0025 if ~isinf(obj.stack_size) && (length(obj.queue) >= obj.stack_size)
0026
0027 delete(obj.queue{1});
0028 obj.queue(1) = [];
0029 end
0030
0031
0032 temp_file = [tempname, '.mat'];
0033 vb_fsave(temp_file, 'data');
0034 obj.queue{length(obj.queue)+1} = temp_file;
0035
0036
0037
0038
0039 if nargout ~= 1
0040 error('function caller should receive obj.');
0041 end
0042