comparison Cell.m @ 468:13362cf4dd89 feature/sublassable_cellarray

Make the overloaded methods call the subclass constructor
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 01 Aug 2017 12:41:42 +0200
parents 8d3c3da3a589
children 365fcdbb8736
comparison
equal deleted inserted replaced
467:8d3c3da3a589 468:13362cf4dd89
28 end 28 end
29 29
30 function A = subsasgn(A, S, B) 30 function A = subsasgn(A, S, B)
31 disp(S); 31 disp(S);
32 a = subsasgn(A.data, S, B); 32 a = subsasgn(A.data, S, B);
33 A = Cell(a); 33 A = callConstructor(A, a);
34 end 34 end
35 35
36 function B = subsref(A, S) 36 function B = subsref(A, S)
37 disp(S); 37 disp(S);
38 B = subsref(A.data, S); 38 B = subsref(A.data, S);
45 for i = 1:length(varargin) 45 for i = 1:length(varargin)
46 dataArray{i} = varargin{i}.data; 46 dataArray{i} = varargin{i}.data;
47 end 47 end
48 48
49 c = horzcat(dataArray{:}); 49 c = horzcat(dataArray{:});
50 C = Cell(c); 50 C = callConstructor(varargin{1}, c);
51 end 51 end
52 52
53 function vertcat(varargin) 53 function vertcat(varargin)
54 dataArray = cell(1, length(varargin)); 54 dataArray = cell(1, length(varargin));
55 55
56 for i = 1:length(varargin) 56 for i = 1:length(varargin)
57 dataArray{i} = varargin{i}.data; 57 dataArray{i} = varargin{i}.data;
58 end 58 end
59 59
60 c = vertcat(dataArray{:}); 60 c = vertcat(dataArray{:});
61 C = Cell(c); 61 C = callConstructor(varargin{1}, c);
62 end 62 end
63 end 63 end
64 end 64 end