Mercurial > repos > public > sbplib
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 |